Why Civil Engineers Shouldn't Choose Between Python and Excel—Use Both
From Excel Templates to Python Scripts: A Veteran Engineer's Take on Productivity and the Future of Engineering Workflows
If you had asked me back in engineering school whether I’d be coding in the future, I’d have thought you were nuts! Yet here I am, 30 years later, coding in Python, AutoLisp, and Excel. In fact, until recently, most of my engineering work outside of AutoCAD and variance applications has involved running calculations and simulations in Excel.
This realization hit me the other day when I was moving backup files from Dropbox to OneDrive and came across an old Excel template I built for sizing drywells. I’ve written countless spreadsheets over the years to handle various civil engineering processes, like calculating hydraulic grade lines of storm sewers, estimating groundwater recharge, and more. I used these tools extensively both at the engineering firm where I worked and in my small consultancy. Drywells, by the way, are structures designed to collect stormwater runoff and store it until the water can percolate into the ground.
That’s the thing about engineers: we like to simplify and automate processes, using resources wisely. Leveraging Excel, with a bit of Visual Basic for repetitive tasks, was a no-brainer for a lot of my work. When I opened the drywell sizing template, I realized it wasn’t even the final version—it was an MVP (minimal viable product), the foundation for a more complex Excel template I later built using Visual Basic.
While that spreadsheet was simple, it reminded me just how crucial programming has become in engineering.
Python or Excel for Civil Engineers?
This led me to wonder if Python would eventually replace Excel in engineering workflows. With advancements in AI and computer vision creeping into various industries, could Excel become obsolete? Will civil engineers abandon it in favor of Python? My take is that it depends on the use case. The answer isn't binary—it can be both.
I believe Excel will continue to be a staple for thousands of engineers worldwide. We’ll keep using it to calculate roof loads, retaining walls, and drainage analyses. But if Microsoft delivers on its promise to integrate Python into Excel, the possibilities will expand. Imagine loading Matplotlib to generate better charts or importing machine learning algorithms like XGBoost directly into a spreadsheet to analyze your data.
The potential is exciting! But the real takeaway here is that it’s not about choosing between Python or Excel for civil engineers—it’s about using Python and Excel together.
Focus on Productivity
Whether or not Microsoft’s Python integration becomes mainstream isn’t what’s important—it’s about productivity. Engineers in different fields will gravitate toward tools and languages that allow them to work faster and more accurately. It doesn’t matter if it’s Python, Excel, or something else, as long as it gets the job done.
For example, I’ve written AutoLisp programs to fix drafting mistakes in AutoCAD. I even attempted to rebuild some of my Excel spreadsheets in Fortran for fun but quickly abandoned that project. (AutoLisp, by the way, is a derivative of Common Lisp and a proprietary feature of AutoCAD.)
In the end, I always come back to Excel for heavy-lifting calculations outside my machine learning work. For everything else, I use Python. Why? Because both tools allow me to be fast and productive.
That’s what matters most, and my clients couldn’t care less about the technicalities—they care about getting accurate, high-quality results delivered faster than anyone else. And that’s exactly how it should be.