When you hear the word software engineering. What comes to your mind?
Code, Architecture, Security, Databases what else, people creating systems without real sense of business? Well that is only true in part. This is what we have limited this beautiful field too. Isn't that dishonor to the field.
Let's change it today.
Software engineering isn't only code
When i entered into the software engineering after leaving my original field to be an accountant. I was astonished to see that, you can bring your ideas to life and help a lot of people in the process. But as in my starting years and time went by, i saw people around me divide into job functions like coding, database, testing, managers that actually reduced engineering to just code as we know of today.
Then it started looking linear to me, and the best engineers i knew till date weren't ever limited to just their job roles. I grew hearing stories of people who were engineers long before engineering was properly formalized like Leonardo da Vinci. If you still don't know him -
Leonardo da Vinci was a pioneering engineer whose work transcended the boundaries of art and science. Renowned for his artistic masterpieces, he was equally innovative in engineering, blending disciplines like anatomy, physics, and mechanics to design groundbreaking inventions. Leonardo's notebooks reveal concepts for flying machines, hydraulic systems, and military devices, showcasing his ability to observe and apply natural principles. His cross-disciplinary approach, drawing insights from biology to enhance mechanical designs and using artistic skills to visualize complex ideas, marked him as a true polymath. Leonardo exemplified how the fusion of creativity and analytical thinking can lead to extraordinary innovation. Here is a sample of his work, way before scan machines came into existence.
Last week i released a video on youtube on - 18 Tests that will ensure that your software doesn't fails in the production environment.
What does "software engineering" even mean?
Well, this is another big misunderstanding that people seem to have, and it is completely normal, by the way. First, what question should we ask before we even ask ourselves what "software engineering" means? We should ask ourselves what engineering means in the first place. That is where software engineering comes from. Without it, there would be no software engineering anyway.
The term Engineering by itself means "the application of an empirical, scientific approach to finding efficient, economic solutions to practical problems" ("Modern Software Engineering", David Farley). It is basically the foundation of the thinking we should adapt in our profession as software engineers. If we rely on the notion that coding is the main "tool" to achieve the result, then we are fooling ourselves to believe that it code is by itself the means, and the end.
Code is just a tool to talk to computer programs. PERIOD.
That is code is rawest form. Software engineering means engineering a product that you customer loves, cover the client requirements and make profits for the business. If you are trying to just fit into the job role, you are doing injustice to engineering.
Conclusion
While coding is definitely the languages we "speak", and use as a means to building something, our jobs involve much more than just that. It involves the scientific, engineering-based reasoning and combining multiple fields that helps us go beyond the code we write, and come up with more economic and human-centric solutions as we gradually maintain a project. By understanding what the term engineering means, you are hopefully able to apply a more scientific reasoning to your work as a software engineer, and therefore build more human-centric solutions to solve real-world problems.
Until next time,
Rohan Girdhani - The TechDoc
If you are a non-technical founder and want to learn how to develop profitable softwares that customers can't ignore. I am conducting a free linkedin event on 8th of December 10am EST. Here is the event link - https://www.linkedin.com/events/createprofitablesoftwaresyourcu7264607227569741825/
📰 Three amazing articles to make better software that you must read
- Don't just build softwares build experience
- Psychology driven product design
- Why every software needs a blueprint?
▶️ Two amazing videos to make better software
Thank you so much for reading this edition of the newsletter.
I keep sharing my insights on making tech easy and better. If you resonate with my content do give me a follow on Youtube and Instagram.