In 2024 I'll be completing 10 years since I started working professionally in the Software Engineering field. A full decade of coding, architecting, debugging, experiencing highs and lows. To some it might feel like a long time but to me, I feel like it's only the beginning.
Early on in my career, I decided to take a certain approach to everything I do. No matter what, I will always question (in a good way) everything I and others do.
Why did I implement this feature this way?
Why did Sophie implement it another way?
Why did Company ABC architecture their application like that?
Why did Company XPT use this technology?
After getting an answer I always sought to understand the same thing.
And what can I learn from that?
This is the Growth Mindset!
The Growth Mindset refers to the belief that abilities, intelligence, and talents can be developed and improved through dedication, hard work, and learning. In contrast, a fixed mindset is the belief that these qualities are innate and unchangeable, leading people to avoid challenges and stick to what they believe are their strengths.
In my opinion there are a few key aspects to keep growing your arsenal:
Embrace Challenges: Challenges are opportunities for growth since it's only a challenge because you have no prior experience of solving it. Seeking adversity is an amazing way to learn and improve.
Embrace Feedback: Feedback is extremely valuable information that can help you improve. It's important not to feel threatened or defensive when receiving constructive criticism.
Finding Lessons and Inspiration in the Success/Failure of You or Others: When you fail, there is always a lesson there. When you succeed, you can always question what you could improve. Being introspective about your (and other's) work is extremely important.
Change is Good: By actually trying different approaches to the same problems you can not only learn about your preferences but you can also actually see where some solutions shine versus others and learn more from actual experience instead of having just read about it in a blog.
In these 10 years I don't think there was a single year where I kept my approach the same as the year before. From programming to how I organize my work, I've always tried to question what I do and learn from others. This approach to work has lead me to improve significantly, not just as a programmer, but as an engineer and a person.
Many people fall into the pit of only knowing how to solve a problem in one way. They firmly stick to their methods and dismiss everything else as bad. They don't consider differences in products and requirements, budgetary concerns and even customer base. They can be good doing that one thing they love so much but ultimately I would never want to work with them and if it was up to me, I would never hire them.
If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail.
Companies suffer when they have engineers with such a mindset, and if these same engineers get the opportunity to mentor younger minds, it can perpetuate this way of thinking, hindering their development.
You've probably come across engineers like this and heard stuff like (with some examples being interchangeable with different technologies 😂):
Why are we using .NET?! Python is way better lol
Our application is slow? It's because we're using React. If we were to completely refactor everything in Svelte we would be much better lol
SQL? That's old and bad. We should be using distributed solutions like DynamoDB for everything!
These are all big red flags 🚩 🚩 🚩 because more often than not they are spoken without considering application requirements, customers, budgets and are opinions that are given as absolute truths.
We all know, only Sith deal in absolutes 😏
Adopting a growth mindset has been one of the best things I've ever done and with each passing year, I have grown, evolved, and adapted and I don't plan on stopping ever.
The road to success is paved not merely with talent but with the relentless spirit of growth.
Embrace the opportunities to question, learn, and evolve!