- Flocode: Engineering Insights 🌊
- Posts
- #001 - My Journey Integrating Python into Engineering
#001 - My Journey Integrating Python into Engineering
The intersection of traditional engineering and coding
Where it started…
Hi, I'm James, founder of flocode. This post is intended to highlight my journey, where learning to code reshaped my engineering perspective. I’ll go through some of the peaks and valleys of learning Python as a practising engineer.
I'm a structural engineer with a master's degree from Edinburgh Napier University, Scotland. Over the last 13 years, I've traversed the spectrum of civil engineering, from transport infrastructure, including roads and bridges, to niche sectors like marine structures, mining, demolition and hydropower. I'm a registered Professional Engineer in Canada (BC, Alberta) and the USA (California, Oregon, Washington).
The Python Epiphany
My work combines technical design and design management during all project phases, from conception to construction and operation. I'm deep in the weeds on a daily basis. As such, I traverse multiple engineering disciplines, often without clear precedents or guiding commentaries. Building solutions from the ground up, using first principles, is the best part of my job.
Enter Python. It's hard to articulate the profound impact this language has had on me, transforming not only my engineering workflow but also reshaping my approach to logic, design philosophy, and implementation.
Over the last few years, Python has proven unparalleled for many of my technical tasks, seamlessly merging computational efforts. One of the standout features of Python is the open-source nature of the project, democratizing access for everyone. All you need is a computer and the willingness to learn. With a continuously growing community behind it, Python boasts a rich tapestry of libraries and packages designed for varied applications from stock market analysis and web development to gaming and fluid mechanics simulations. While I won't delve into the extensive engineering applications of Python in this post, know that its potential is vast and transformative. I'll come back to that in the future.
Make no mistake, I still heavily rely on commercial engineering software packages such as SAP2000, ANSYS, TEKLA, and GeoStudio, among others. These tools offer depth and specialization that would take years to replicate. However, Python is the bridge, spanning the valleys between these systems and disciplines. It seamlessly manages the inputs, outputs, and the intricate relationships interwoven among them.
AI & The Code-Literate Era
What drew me in wasn't just a tech-savvy inclination but what I perceived as a void in the industry's traditional engineering methodologies. Python is a fine tool for engineering computations and design calculations, but it’s also a gateway to robust data management, financial analytics, automation, decision making and richer visualizations. With the advent of AI, being code-literate nowadays isn't an option but a necessity. Pairing Python with AI translates to heightened efficiency and a capacity to achieve so much more with fewer resources. This fusion also allowed me to bridge interdisciplinary gaps, often eliminating the need for external specialists. I will talk about this in future posts.
The Meandering Path to Python
Diving into Python wasn't straightforward. For years, I meandered through computer science textbooks and courses, grappling with multiple languages, frameworks and philosophies. Mostly feeling like an idiot, that I was wasting my time, and that I would never ‘get it’.
Remarkably, academic institutions have been somewhat reserved in fully integrating Python into engineering curriculums. While the foundation they provide is reasonable, there's an emerging layer of modern skills, like Python, that many engineers, including myself, have had to self-learn. Most engineers who wield Python today have navigated a self-taught route, enduring the steep, unstructured learning curve I once faced. This traditional approach to education, excluding such a pivotal tool, is out of sync with the evolving demands of our industry. It's not a criticism of the traditional system but an observation of evolving industry demands. It's high time for a change, ensuring engineers are equipped with the tools of the future, without the unnecessary struggles of the past.
My own journey illuminated the absence of a streamlined path for engineers to harness Python. Thus, flocode was born. Flocode is a learning tool; yes, but it's more than that. It’s a movement towards fostering code literacy within the engineering community. It advocates for an open-source, collective approach, transitioning from the limitations of proprietary software and the confines of commercialized intellectual property to the expansive potential Python offers.
Python: A Toolkit for the Modern Engineer
Whether you're designing quaint wooden fences or monumental rocket launch platforms, Python is the quintessential toolkit, providing unparalleled flexibility and adapting to your needs. There’s no doubt tools like Excel and Mathcad hold their ground, but they cannot match Python's adaptability and open-source edge. With flocode, I invite every engineer, novice or veteran, to redefine problem-solving, building a future where tailored solutions are the norm, not the exception.
There’s much more to share about Python and Engineering, and we plan to do that. Let me know your thoughts on the topic. Do you use Python for engineering? Do you have reservations?
See you in the next post!
James 🌊
Reply