As a software developer, you probably want to improve your skills constantly. Be the best software developer you can possibly be. But how you can actually improve is a tricky question to answer.
The Software industry is obsessed with the idea of 10x engineers. These are engineers who are supposedly 10 times better at their job than their peers. But how does anyone become so talented
Here are FOUR actionable steps I have used myself, or seen others use to succeed in improving their skills as a, software developer.
Teach and Write as Much as Possible
You are the person who’s the most responsible for your skills and development. Being a better software developer is largely up to you. It’s your job to improve your weaknesses and hone your craft. Being a better developer is an ongoing process that never stops, and writing helps you learn more.
By writing, you force the boundaries of your comfort zone. You learn about new topics to discuss, and you “put yourself out there”. You start a discourse where when you’re wrong, people are very happy to correct you and offer feedback.
The best way to become a better engineer is to teach 10 people what you know, and empower them in their development skills.
Read A Lot as a software developer
Mark Twain said that the person who can read good books but chooses not to do so has no advantage over the person who actually can’t read a book.
Reading is such a powerful tool. Read a big well documented open source codebase, read technical books, read your colleague’s code and read technical documentation.
Find the brightest minds on Twitter, engineers with decades of experience and people who create the specs you love. Be a fly on the wall for their conversations.
If there is syntax/code you don’t understand or can’t work out, ask the person who did it. Learn from everyone. It will help the coder clarify what the code is doing (if you can’t work it out, it mustn’t be very clear!) and will help you have more context on the changes for the ecosystem you work in.
Work on Passion projects and/or Contribute to OSS
One of the largest jumps in my skills and confidence came when I made my first major program that visualised path finding algorithms
It forced me to:
- plan something out start to end
- give estimates
- hold myself accountable
- work on new API’s I was unfamiliar with
- plan out my own architecture
- consider how to implement clean design patterns.
Even just publishing my personal project was an amazing educational experience in itself. You end up learning the entire SDLC start to end, and fill in the gaps in your knowledge.
The biggest jumps in growth came when I had a few small projects I was trying to implement. Having lots to do (that I enjoyed!) forced me to adapt to become more time-efficient and made me code quicker.
Also Read: how to start a career in Data Science
Make Sure to Exercise and Get Plenty of Sleep
Exercise helps your memory and your thinking, directly and indirectly. The direct benefits of exercise are many, but among other things it:
- allows your body to reduce insulin resistance and inflammation
- stimulates chemicals in your brain to affect the health of brain cells
- encourages the growth of new blood vessels in the brain, and
- even increases the quantity and survival rate of new brain cells.
Indirectly, it can help you improve your mood and sleep and reduce stress and anxiety (which, research indicates, can impair cognitive function).
Studies have also suggested that the prefrontal cortex (clarity of thinking) and the medial temporal cortex (memory) have greater volume in people who exercise versus people who don’t.
Just as it’s important to look after your mental health, you need to look after your physical health as well. IQ drops off as we age, and one theory is that the amount of oxygen our brain receives slowly declines if we get old without staying in good cardiovascular health.
My final bit of advice that ties all of this together is to try and consistently challenge yourself.
There is a middle ground while you’re working normally referred to as flow. It happens when you’re feeling fully energized and “in the zone”.
If you start something too difficult you won’t complete it due to feeling overwhelmed. If you start something too easy, you won’t complete it due to boredom.
You need to do your best to balance something being difficult enough to challenge you to learn new things and make you grow your skills versus being bored to death doing something well below your skill level.
Also Read: side hustle to generate passive income