Getting back to basics
What if I told you that the latest framework is not what you need to become a better engineer?
I spent many years thinking that reading books about the latest and finding time to catch up with the newest language or framework was the way to become a successful professional (whatever that means).
Lately, I realised that even though there is value and some fun, that’s not the key aspect to growth, let’s talk about other factors.
What areas of growth come to your mind?
Think about it.
Surely there are things like Agile, CD/CI, Kubernetes, DDD, … popping into your head.
Do you remember how you felt the last time someone told you they were working with Rust instead of your boring backend language?
That’s just FOMO (fear of missing out) and if you just follow those breadcrumbs you never gonna feel satisfied.
Whether you like it or not, we all have tons of exposure to external media and information: Udemy, Coursera, LinkedIn… even mainstream press tell you that if you complete the next “Crash course in PinkyWinky” you’ll get a six-figure salary and your life will be made of unicorns and exotic islands.
Then you see an ad for trendy technology, spend $9.99, a couple of hours, share your new badge on LinkedIn, get some likes from a network made of ghosts and now you’re a better professional, really? 🤔
Keeping up with technology it is indeed an important piece of our career but, by no means, as important as other basic factors.
What are the basics?
Software engineering is a collaborative craft, sorry. 🤷♂
We were told for so long that as software engineers we could be lone rangers but that’s false.
Our work is about listening to people, reading docs, gathering information, modeling the problem, and then, right at the very end, typing the code.
That’s why there are some basic stuff that we should focus on instead like:
- Reading: Every day millions of dollars are wasted because people don’t read the damn docs, requisites, or feedback coming from the rest. It is sad cause it is true. This is not about remembering stuff, is about understanding the problem you’re solving and the tools you have at your disposal.
- Trust: As with any other collaborative stuff, like any other team sport, software engineering at its finest needs high trust dynamics within the team. Without trust, every single step turns into a check, double check, eta updates, private DMs, never-ending slack threads, and politics, tons of politics.
- Transparency: As easy as sharing where you are, what worries you, and how you think we should move forward. No sugarcoating and lots of radical candor regardless of your position.
There are more, I’m sure, but if you excel in these ultra-simple practices you’re likely to be a great teammate and the foundations for being a great software engineer.
Wrap it up
The industry, your colleagues, your parents, your bosses, hr, and your neighbors will tell you that you have to focus on learning new technologies.
That’s ok BUT misses some critical aspects with even higher value and lower cost of acquisition, I called those “basics”.
Look for teams where these basics behaviours are encouraged, make those part of your professional DNA and spread them out.
Bonus: what about those multipliers in the chart?
You’re right.
I’ll be back with more writing about these multipliers factors since they are the key for senior people and the future of any engineering organisation. 😉