Chapter Two. Tanta. 2018 to 2020.
The office that moved money on a spreadsheet.
My first engineering job was not in software at all, not really. It was in a small financial office in Tanta, in my last years of university, where the entire operation of moving and tracking money ran on a MySQL database with no validation and a senior accountant's discipline. The database had been treating like a spreadsheet by everyone who touched it. I was hired to keep it company.
The week I understood the stakes, nothing dramatic happened. That is the point. I watched the office close a reconciliation at the end of a long day, and I watched the accountant sign off on numbers that three different manual exports said were the same numbers. Nobody had ever written down why that was true. It was true because it had been true. The office moved real money on inherited confidence.
So my first months I was a database administrator before I was a developer. I built validators. I wrote the schema constraints that should have existed from the start. I rebuilt the views that lived as queries pasted into Excel by hand every week. The work was not glamorous and it was not visible. It was the difference between numbers that were right and numbers that were believed, and in a financial office those are different products.
Then Python. Ingestion scripts. Transformation scripts. Reconciliation scripts. The office needed small daily reports and a person had been making them by hand. I automated the hand. The desktop apps came after, in Tkinter and PyQt, built to look the way the staff already worked because the staff were never going to learn a new tool. Those tools got used. That distinction has organized my career since: there are tools that ship and tools that get used. They are not the same thing.
The deepest lesson of Tanta was about the person at the end of the system. The accountant signing off at the end of the day does not care about your architecture. She wants the numbers to be right and the column headers to be where they were yesterday. Give her that and she trusts you. Take it away and nothing you say about your stack matters. I have built for her ever since, in every product, in every market.
The stack at the time.
- Python
- C++
- MySQL
- Tkinter
- PyQt
- Excel scripting
- HTML
- CSS
- Linux
Two years in a small office in Tanta. The most important first lesson I ever got: software is believed before it is used, and it is used before it is admired.