The Physics- and Finance-Paved Roads to Software Engineering
As a young, scientifically-inclined student, I had gradually developed a fascination with programming, particularly after following someone’s instructions online about how to load and run Tetris on to my brand new TI-84 calculator. My early understanding had been quite rudimentary, however. Less inclined towards designing websites, dreams of being able to create something as simple as Tetris felt oddly empowering. If one could create a game of Tetris from scratch designed for a graphic calculator, what bigger things were possible? I blindly pored over blog posts, programming documentation, and even downloaded compilers so that I might have some hope in constructing something similar. Before any sort of accusation that I was a prodigy, I never got very far in this endeavour and was really rather out of my depth without any support.
Admittedly, my juvenile interest in computers waned in the following years, favouring instead mathematics and the natural sciences. As a British student, I took A-Levels in Physics, Chemistry, Mathematics and Further Mathematics and followed the road to learning more about the universe in which we live, how it behaves, and how we can best describe reality. Thus, I studied Mathematics and Physics at university, embarking on something much greater than myself. Eventually, I thought, I would take my education further into the field of nuclear physics, just like my educational tutor. My interest partly surged in computers once more, using Fortran to simulate orbital motion and using MATLAB to analyse considerable sets of data.
Without wishing to sound pretentious, it was a philosophical epiphany about the study of physics brought on by one of the first few chapters of The Road to Reality by Roger Penrose, a masterpiece by a highly accomplished British mathematical physicist. In short, this realisation was as follows: there are other geometries besides Euclidean (that is, a universe with x, y, and z coordinates) which might better describe our universe, and it is the natural fault of humans that we perceive this universe as a Euclidean one — perhaps dogs or other creatures perceive the world differently, though we shall never know — and although the equations for something as simple as projectile motion may span several pages in an alternative geometrical system, it may be a more precise model. So, physics does not perfectly describe the universe, but it makes highly precise approximations, good enough that we may make use of these results for practical applications such as satellites or electric lighting. With this issue playing on my mind, my attentions got turned to another passion which had flourished during university: finance. So, around half way through my higher education, I admitted defeat with my studies and pursued accountancy; I was to stay with this career for only three and a half years, and it was with this career that the early computer enthusiast in me reawakened.
The first few months working at an accountancy firm was exciting. It was an environment with which I was hitherto unfamiliar: in an office with totally alien processes, tasks, people, ambitions. Many people with whom I worked had families, had worked in the company longer than I had even been alive. The office was, as cliché as the remark is, a sort of family. I loved it.
Contrary to popular belief, accountancy is a fascinating career and one which made me reconsider how the world works economically, how to think about money, and how bookkeeping since its origins in the 15th century had changed the business world. I would go so far as to say that the invention and propagation of double-entry bookkeeping was one of the first signposts for the start of the Renaissance, forcing people to think about the real nature of money rather than interpreting the stars and other celestial bodies to make business decisions. I studied accountancy with the Association of Accounting Technicians over the course of a few years and now I bear the MAAT postnominals on my name.
Needless to say, accountants are big fans of Excel and will come up with any excuse to use it, whether or not they should be using it. We used Excel for virtually everything: storing client information, workings in preparation for drawing up accounts, client lists, draft accounts — everything. It is also no secret in the industry that we relied heavily on paper, though this is increasingly discouraged, and had a rigorous filing system where the client roller racks, about ten feet deep, would span about twenty-five feet across. The amount of information was vast, yet bafflingly these were all printed from computers. I accepted this system but, as time drew on, the absurdity of the process dawned on me, seeing Excel workbook after Excel workbook painstakingly printed, hole punched, and placed meticulously in the file, sometimes duplicated intentionally.
I desperately wanted to move away from this process. As a young and relatively inexperienced employee, it was usually me and employees of my ilk that were selected to perform the manual labour relating to these files including the annual archiving and regeneration of the new files, which were marked green for bank statements, orange for working papers, blue for correspondence, et cetera. It was an exhausting and lengthy process and I wanted to instigate some sort of change with this whole system.
By this point, I was an enormous Excel buff (the so-called “King of Excel” in a later firm that I worked for). At this stage, I took the Excel working papers of the clients I had and spun them into something so much more efficient. In the way of bookkeeping, I had learned the software inside-out such that, instead of entering transactions line-by-line through the system, I engineered a form of data extraction from bank statements which would be cleaned through Excel, put into a comma separated values (.csv) file, ready to be imported into the system en masse, sometimes reducing the task length from several hours into mere minutes. A client of mine had an immensely complex cash flow analysis spreadsheet which I refined from scratch and automated using macros. It reduced the file size by over 95%, worked with far fewer errors, and was met with glee by the managers. Another operation involved a tax computation based on over 25,000 transactions from another particularly large customer comprising dividends, interest, stock disposals, and had a tight deadline. Ordinarily, this task would be impossible even with a three-month deadline. But with techniques which I had mastered with the bookkeeping software, this vast and complex task took just over a week to turn over.
It is important to note, however, that accountancy is a heavy industry. What I mean by that is that, unlike the technology industry, change often has to go through many different channels in order to be authorised. Sometimes this process of authorisation is immensely slow, sometimes it gets shot down immediately, sometimes adopted hesitantly and with some disdain because tasks that once took weeks now took hours. More importantly, time spent on making these refinements came at a cost to the company, namely my labour, but my job was not to make things faster, more useful, easier, or anything of the sort. It was simply to do the job passed down to me and leave it in a state which was able to be reviewed and passed on to future employees managing the client. The industry is hard to budge; it’s heavy.
This fact frustrated me, particularly as several of my adjustments had been rejected. My superiors got increasingly sceptical as to the necessity of these fixes. This frustration stayed with me for the rest of my career in the finance sphere. I wish I could be paid for doing this instead, I thought! I wish I could build something for a company, helping employees and making their days just that little bit easier by automating rote tasks, perhaps even designing solutions which work much better than Excel at doing what they need to do.
Much later, and well after I had resigned from the accountancy firm, March 2020 rolled around, coronavirus fears were mounting. Finally, one day, we were all instructed to go home and stay there indefinitely and I created my last Excel masterpiece.
To summarise, I refined an invoicing process which was previously laden with mistakes month on month because of its own inefficiency. Generally, the process was: receive a form through Excel via email (often containing mistakes, sometimes being sent to incorrect addresses), input this information through our internal accounting software, and generate invoices to be sent to our clients.
A single mistake in the invoice could be fatal. It could delay the process of payment as a client has the right to refuse to pay an incorrect invoice, and this would incrementally damage the reputation of my company. Further, it reflected badly on the aptitude of the finance employee in charge of such invoicing. I knew I had to refine this system, and so I devoted many hours after work to designing a solution which unified the forms and an Excel sheet in one which would compile all this information in to one place for easy analysis for when the invoice should be sent out and to whom. Importantly, it would immediately flag any discrepancies or errors in the forms and allowed for a remarkably quick query back to the person who raised the form, and thus quick rectification. With the blessing of my manager, this solution was implemented firm-wide. The task used to take over a week, but this time it took only one afternoon. It also used to contain countless errors, but this time there were only two: even those errors were due to situational changes with the client.
The result was thrilling, and watching this automatic solution populate itself and check itself for errors was my crown accomplishment at the firm. A big portion of my job was no longer so big, and I utilised the power of computers to relieve me of the bulk of my stresses at the firm. More importantly, I was not the only winner; everyone was. No more awkward conversations with clients about incorrect invoices, no more missing invoices, and no more frustration with my department.
However, shortly after the first successful iteration of my solution, I had been furloughed and had to train someone else on my Excel solution. Before long, I had been made redundant from this position and for the first time in years, I was left to my own professional devices. I started my own company with a long-term friend of mine which specialises in refining processes for all sorts of companies, just as I had done with my old firm. Eventually, I took the plunge with Flatiron School at the recommendation of that same friend.
With that vast amount of context, I chose Software Engineering with Flatiron School because I want to make a difference to companies everywhere, great and small. Far removed from Excel solutions, Flatiron offers an intense and rigorous education in programming, far more abstract and certainly more powerful than Excel could ever be, and supplies me with the ammunition to really change how things are done.
I am devoted to helping people to focus on what matters in their jobs, not to be bogged down with arbitrary processes or tiresome rote work which can be automated. Software Engineering is the answer to all of this. I have only been with Flatiron with one week but already it has forced me to think about the power that programming holds, the art of collaborating with peers and all the camaraderie that comes with it, and fills me with inspiration for what the future holds in this brand new journey on which I have embarked. It’s a long road ahead, but there’s something about the way Flatiron teaches which renders me unable to pull myself away from my little Visual Studio Code window.