Programming as an Accountant
I graduated college in 2014 with an accounting major, Big 4 offer secured, and thinking I was prepared for what was ahead. I had even passed FAR prior to my start date with PwC and was on track to complete the rest of the CPA exams within the next six months, feeling confident about my chances. Despite all this, I remember being completely shocked that in my actual job, I was more tasked with a sort of data management than I was theorizing and applying higher-level accounting concepts that I had spent the last four years learning.
Fast-forward to my first job in industry where I joined loanDepot, a Southern California-based nonbank lender that was growing rapidly. This was my first taste of truly having to work with large datasets, complex production systems, and therefore bloated Excel files that would constantly break at the most inopportune times. I recall my manager onboarding me and letting me know that there was a workbook that was especially awful. It was so awful that we turned off the auto-calculate option in Excel, would do all the work each month to prep the workbook, then hit F9 and go to lunch. Usually even after lunch I would have to wait an hour or so before calculating was complete, and I could use my computer again. Imagine the frustration when there would be a mistake or check figure flagged after the first calculation, and have to reperform the whole process a second or third time. Long story short, this time suck was brutal. I remember being painfully frustrated and dejected working late in the office because our files were so horrible to work with. “There HAS to be a better way” I would tell myself constantly.
This better way came incrementally through small evolutions. One of the first was reading up on which Excel formulas caused the poor performance and how to optimize. For my Excel nerds out there, things such as taking a very burdensome multi-criteria SUMIFS formula and changing to instead pre-pivot the data in a table, dramatically increased the efficiency and cut back on the calculation times. These enhancements were just that though, enhancements. The real breakthroughs would come from unlikely places and would shape the trajectory of my own career from that point on.
One day, a member of the Servicing Accounting team at loanDepot gave a presentation on how their team was using Microsoft SQL Server to lookup and join data from different sources. I was immediately flooded with potential use cases and the promise of no more late nights because of bloated Excel files. Querying the databases to fetch all the data that I was previously manually herding around in Excel took less than a second compared to the two hours or more in Excel. Replacing manual Excel look ups and references to external workbooks with efficient SQL queries reduced manual time by around 60%. I ended up largely teaching myself SQL, being intrinsically motivated to stop wasting time simply moving data around. Courses on Udemy were a huge benefit and really provided everything I needed to get the job done. This allowed me to get the data, but all accountants know that general ledger systems want their imports in a certain way, and the one we used at loanDepot was no different. Furthermore, in order to get the values for the journal entries, calculations were needed to be performed on the queried data, meaning SQL alone could only get me so far. How could I bridge that calculation and analysis gap in an automated way?
Automate the Boring Stuff by Al Sweigart was that second lightbulb moment for me and one of the most important pieces of media I’ve ever consumed. I remember stumbling upon it while I was essentially just googling for how to do things in a more automated way versus Excel. In the book, Sweigart has specific sections on working with Excel spreadsheets, PDFs, CSVs, and more. The chapters are simple and most importantly practical to real-world applications. Before long, I was writing a python script that would use certain libraries to execute queries, perform the appropriate calculations, and generate an excel file with a fully formatted journal entry requiring no manual intervention on my part. What used to take me a full day (or more) during month-end close quickly took less than five seconds.
These transformations felt incredibly powerful. They felt like I had cheat codes for my job where I could produce the same output, but in a literal fraction of the time. But I also couldn’t help but feel oddly let down. How much time did I spend while these tools had been out there all this time? How many others on my team, in my industry even, were stuck in the same hamster wheel not aware that there most certainly a better, more automated way? Where were these topics in my four-year program in college? These are all questions that I think are hugely important and what I hope to bring light to in the accounting industry. I hope to bring more awareness to the tools that are available, to encourage companies to foster an environment to give team members the latitude to think outside the box to improve their processes, and for professionals doing the work to take it upon themselves to continuously learn and challenge themselves to be more than what they were just taught to be.