The 11 Habits of Highly Effective Developers
Listening to various podcasts during my morning routine, I stumbled across the Syntax podcast by Wes Bos and Scott Tolinksi – both JS developers, and both owners of separate web development course platforms.
What made me listen to their 11 habits to build up your career as a developer was the obvious parallel to The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change, but what makes me want to share it is how universal Wes’ and Scott’s advice is – and how close they are to our company culture.
It is no surprise that a [software] service company employs people of varying skill and needs to motivate and instil the fundamentals of effectiveness and constant strive for personal growth. That is the only way for the team to be synergistically better than its star performer and also prepare for an ever-changing technological landscape.
While I hope you have the time to listen through the whole hour of talk, here are the 11 habits in short. I’m adding how our company interprets these, not what the guys at Syntax highlight:
You understand stakeholder and business goals
- Just the other day we talked about how data science is not a goal, but a tool – same thing with technology altogether – it exists to serve business.
- The only way you can improve your tech game is by better understanding the underlying business needs.
- You should NOT focus on using your “favourite stack”.
You’re curious and always learning
- Technology explodes every day – while we are lucky to see it shape humanity’s future, we also need to keep up with the latest developments and invest tons of time in self-education.
- Remember how half a lifetime ago the Internet was not even a public place?
You have an open mind about new technology
- Technology progress brings a lot of efficiency gains.
- Be open to change, but also learn to be risk-averse: who is going to support your technology choices ten years from now?
You ask for help
- Figuring things out is a lot of fun, but do it when there’s nothing else to do (rare, right?). Otherwise, ask a smarter person in the room. There’s no one smarter in the room? Well, you’re in the wrong room!
You help others
- It’s a basic principle that you treat others the way you want to be treated yourself. If you’re not there for other people, why would they spend time to help you?
You have a “problem solver” mentality
- This one counterbalances #4 somewhat – one shouldn’t depend on others to solve his problems. Otherwise, you’re not better than a Xerox machine – and pretty much a negative contributor to your team.
You have fun with what you do
- If you were looking for soulless money, get a job in finance.
- You spend half your time awake working – would you rather just throw away 50% of your life – or, have fun at your job?
You understand work-life balance
- Life brings sense to your work the way work extends your life (see #7).
You are empathetic to your co-workers and users
- Unless you understand what other people struggle with, you won’t be able to help them – while improving your own tech game.
- Eventually, your code is as good as its usage – and with poor understanding of your users, they will opt for something easier for them.
- Understand your co-workers struggles and try to help them – you’re part of the same group and their problems are, to an extent, yours as well.
- More philosophically, treat others the way you want to be treated yourself (#5).
You pay attention to detail
- Understanding business requirements (#1) is a good start and something you should always have in the background, however your work is only as good as its worst detail. Want to improve? Be diligent to the OCD-level of perfection.
You’re part of the community
- Think, tinker, discuss, contribute!
- Exchanging ideas makes you a better professional (and person).