#036 - The Value Proposition for Python in Engineering
Why Python Matters in the Modern Engineering Sector.
Often, there is hesitation from experienced engineers when it comes to learning to code. It's seen as a niche skill for technical specialists, for engineers buried up to their eyebrows in computational fluid dynamics or developing the next finite element solver.
I don’t agree with this. Learning to code is for generalists. It opens the floodgates, you can build anything to do anything.
This article is my perspective on the value of Python for engineers.
Consider a bridge owner who has had the operational foresight to install telemetry systems on their asset. Traditionally, pinpointing potential issues within this data stream would be a time-consuming manual process.
With a custom Python script, leaning on libraries like Selenium, Pandas and NumPy, analysis can be automated, flagging data points that could signal the need for repairs or upgrades. This data can include:
Video/photo/sound
Vibration
Wind speed
Temperature
Traffic load
Humidity
Displacement
Corrosion
Structural strain
This can save hours of analysis and spreadsheet judo, but it also translates directly to real-world impact. Early detection of potential issues can prevent safety hazards, protecting both the public and the infrastructure. Additionally, proactive repairs and maintenance can lead to significant cost savings for the owner.
This is more true today than ever. Aging infrastructure surrounds us.
The post-World War II construction boom led to widespread infrastructure development across many nations. As this infrastructure now approaches the end of its service life, proactive owners are increasingly implementing advanced monitoring and maintenance strategies.
The benefits extend beyond immediate problem-solving. By integrating machine learning libraries such as scikit-learn, TensorFlow and Pytorch, the script can continuously gather and analyze real-world data, feeding a continuously evolving model. Over time, this model becomes increasingly sophisticated as it re-trains itself on new data, thereby improving its accuracy in predicting potential issues. This process involves periodically updating the model with new data and re-running the training algorithms to refine its predictions. This translates into optimized designs for future bridges, ensuring they're built to withstand real-world stresses. We will talk about these applications in more detail in the future.
While Excel can handle some of these tasks, it is limited to specific portions of the process. Python, on the other hand, allows you to build a comprehensive data pipeline from start to finish, enabling more robust and scalable solutions.
This scenario is a simplified example of the potential of Python for experienced engineers. While coding skills are undoubtedly important for new graduates, this article focuses on the strategic advantages Python offers senior engineers – those with a deeper understanding of engineering challenges, constraints, and the systems they work within.
In my own work on civil/structural aspects of power, water, and bridge projects, after 14 years in the field, Python has enabled me to dive deeper, gain more insights, and tackle more complex problems with greater creativity.
The ability to code doesn't replace engineering fundamentals; it amplifies them.
The Shift From Learning Curve to Strategic Investment
For most experienced engineers, the allure of Python can be clouded by the perceived learning curve. This is not surprising. Managing virtual environments, version control, and dependencies for Python projects can be complicated.
Time spent acquiring a new skill is often a direct trade-off against immediate project deliverables. However, this view overlooks the significant shift in individual capability that Python can provide.
The transition from hand calculations to spreadsheets was a watershed moment for engineering efficiency. Excel became ubiquitous, allowing engineers to handle more complex analyses and streamline repetitive tasks.
The rise of Python represents the next leap in this natural evolution of tools.
Let's dismantle the "learning cost" mentality. Python, particularly for engineers, isn't about becoming a software developer. It's a powerful tool that augments existing engineering skills.
Engineers who invest time in developing Python proficiency will gain a competitive edge. Automation, streamlined data analysis, and the ability to create bespoke tools customized to your responsibilities or project requirements carry serious weight. Generally speaking, the greater your impact, the greater your value.
Those who stay reliant on older methodologies risk being outpaced by the speed and adaptability that Python enables. This has been the case in all sectors.
This proposed shift doesn’t mean abandoning Excel or Mathcad. Python builds upon the data-focused mindset already familiar to engineers who use these tools and provides expanded abilities and a broader technical reach.
Python's open-source nature, vast online resources and community make it incredibly accessible. Engineers don't need to pursue formal computer science education to reap the benefits. Targeted learning, focused on engineering-relevant applications, can yield significant returns in less than a month.
Python is an investment in both personal skill sets and the future of engineering. It positions engineers to work smarter, solve more complex problems, and ultimately stay ahead in a rapidly evolving industry. The ROI includes saved time, higher-quality outcomes, and increased capacity for complex projects.
You don’t have to choose between coding and engineering.
This thought led me to an interesting quote from the 1961 Conference of Engineering Societies of Western Europe and the United States of America, where they defined "professional engineer" as follows:[source]
“A professional engineer is competent by virtue of his/her fundamental education and training to apply the scientific method and outlook to the analysis and solution of engineering problems. He/she is able to assume personal responsibility for the development and application of engineering science and knowledge, notably in research, design, construction, manufacturing, superintending, managing, and in the education of the engineer.
His/her work is predominantly intellectual and varied and not of a routine mental or physical character. It requires the exercise of original thought and judgment and the ability to supervise the technical and administrative work of others. His/her education will have been such as to make him/her capable of closely and continuously following progress in his/her branch of engineering science by consulting newly published works on a worldwide basis, assimilating such information, and applying it independently. He/she is thus placed in a position to make contributions to the development of engineering science or its applications.
His/her education and training will have been such that he/she will have acquired a broad and general appreciation of the engineering sciences as well as thorough insight into the special features of his/her own branch. In due time he/she will be able to give authoritative technical advice and assume responsibility for the direction of important tasks in his/her branch.”
I’m interested to hear how this definition changes around the world. As far as I can tell, it’s typically some version of the above.
I wonder in 1961, if they foresaw the tools we would have today. For now, I think the following will ring true for a long time.
“It requires the exercise of original thought and judgment"
Overcoming the Billability Paradox: Investing in Long-Term Value
Engineering firms often operate on a billability model, where maximizing billable hours is the primary metric of success. While understandable, this mindset can create an unfortunate paradox when it comes to innovation and the adoption of tools like Python.
The crux of the paradox lies in the fear that streamlined processes enabled by Python will lead to less billable time spent on tasks. Therefore, a decision to embrace Python-driven efficiency could be met with resistance, even if those same efficiencies have the potential to unlock significant long-term value.
To break free of this counterproductive cycle, we need a cultural shift within the engineering industry. Prioritizing immediate billability should not come at the cost of stifling innovation.
Assigning a clear value to this is complex and varies depending on the project's nature, data quality, client demands, and the many constraints engineers are familiar with. That's precisely why senior engineers with baseline coding proficiency have such immense value – they have the experience and domain knowledge to identify where Python can offer the most strategic ROI within those constraints.
Python doesn't lead to less work; it leads to better work. With less tedious analysis, engineers gain the time and space to focus on higher-value tasks, deeper problem-solving and the creative innovation that drives a project forward. Streamlined workflows result in higher-quality deliverables, solidifying client relationships and building a reputation.
Investing in your engineers' skills shouldn't be considered overhead when it comes to Python. Its functionality is deeply rooted in every aspect of any modern engineering firm, including accounting, HR, management, engineering design, drafting, and deliverable production.
AI is here and it’s knocking on our door. An elementary grasp of Python puts you at the forefront of leveraging these tools as they evolve.
Python in the AEC Sector: A Growing Trend
The Architecture, Engineering, and Construction (AEC) sector is waking up to Python’s potential. While still in its early stages, the adoption rate is accelerating. By now, most of the major commercial structural analysis tools have Python APIs or, at the very least, some sort of programmable interface to access the functions of their software. On LinkedIn, I see a marked rise in computational designers and skills tied to BIM Automation and ‘Digital Workflow Specialists’.
This trend is fueled by the growing accessibility of Python resources and the increased recognition of its versatility for solving industry-specific challenges.
The rise and refinement of AI tools like ChatGPT, Claude and Llama further highlights the importance of coding literacy in AEC. The ability to integrate and tailor such tools becomes a competitive advantage. Python provides the framework for engineers to harness this technology.
Embracing Python is a strategic move for both individuals and firms. Engineers who develop proficiency in Python position themselves for career advancement in an increasingly tech-driven industry. The firms that foster a culture of coding fluency will attract top talent, streamline processes, and drive innovation.
Since I started writing about this topic in late 2023, the response has been incredibly perceptive. There is an appetite for innovation, adopting new tools and a thirst for practical examples.
I know many engineers want to learn, and I know how difficult it is to find the time because I’m on the same path. The learning is never done. There’s always more.
Soon enough, Python proficiency won't be a "nice to have" in the AEC sector; it will become essential, just like Excel.
Python Skills in Engineering vs. Other Sectors
The disparity in Python adoption between engineers and other STEM professionals is striking. Fields like data science, bioinformatics, and even materials research have wholeheartedly embraced Python as a core tool.
The financial industry has long recognized the transformative power of coding literacy, proactively investing in training and resources to integrate Python into its core operations. This forward-thinking approach has yielded significant efficiency gains, custom data analysis tools, and risk assessment models that were previously unthinkable.
Interestingly, while researching the languages behind Wall Street Hedge Funds more nefarious high frequency trading algorithms, most are written in C++. This is because of its ability to deliver extremely low-latency performance and efficient processing of large volumes of data.
While pockets of innovation exist, widespread coding literacy among professional engineers is still uncommon. This represents a missed opportunity. Imagine the impact on infrastructure design, construction efficiency, and material optimization if engineers were as comfortable with Python as they are with Excel, CAD software or structural tools.
The engineering industry can draw inspiration from the financial sector's proactive approach to technological literacy. Investing in Python training, encouraging a culture of coding experimentation, and recognizing coding skills as a core competency could unlock valuable solutions for many firms.
Conclusion: A Strategic Investment
The value of Python for engineers lies not in becoming expert software developers, but in the power it unleashes within the core engineering domain. Automating tedious or repetitive tasks, unlocking hidden insights within complex datasets, and creating bespoke tools tailored to specific problems – these are the game-changers that Python delivers.
The ROI of Python proficiency transcends the time saved. It opens doors to greater complexity, precision, innovation, and the ability to tackle problems in more ways.
Developing Python literacy requires fostering a culture within firms and institutions that recognizes coding as an obvious pillar of modern engineering.
The future of engineering is being written in code as much as in calculations. I encourage engineers to embrace Python not as an optional extra, but as a standard tool.
If you made it this far, you already know.
How do we effectively communicate this? I’m not sure, but I am trying.
I don’t have all the answers and I’m keen to hear what others think. Please provide your perspectives below.
I’m working on Flocode’s Python Essentials course.
I have some interesting podcast episodes coming soon, in addition to some deeper technical dives on Python topics.
To join the Flocode Community Beta Program, click here for your application.
Take care of yourself, and keep innovating.
See you in the next one.
James 🌊
Great article as always James.
It’s interesting to see that the construction industry will 10x their investment in AI in the next 8 years. Great tools will result in that. I see a lot of usecases for construction companies like for example object detection tools to recognize safety issues on images from helmet cameras or a real time connection of the time schedule and construction progress. Just 2 examples.
My ideas are however at bit limited to see usecases in structural engineering. Excited to learn more in future articles.