You sometimes ask yourself...
What does it take to excel in software development?
I asked myself this a few dozens of times in my career. Whenever I had the pleasure to meet an exceptional software developer. And if being excellent at what you do gets you excited, you probably asked yourself the same.
Success in software development is highly predictable.
As with any discipline, success in software development is highly predictable. In the following lines, I tried to break down the commonalities I’ve seen in top software engineers.
This list is not written in stone, but rather a recommendation if what you want is to increase your probabilities of success when climbing the ladder.
This is the backbone of a successful career. It is crucial when starting out in your first junior job, and as you move up the ladder. Top software engineers aim to develop both a strong technology-agnostic understanding of software development as well as proficiency in their particular domain.
Experience is not enough because there is literally not enough time in your life for you to make all the mistakes possible. Complement that experience with existing literature on best practices.
Continuously seek opportunities for improvement at your current job.
This doesn't mean using the latest shiny framework in your projects because the gurus say so. It means taking on additional assignments that will give you the possibility to touch some new tech(extending a deployment pipeline, writing those extra unit tests no one wants to do).
Going in line with technical excellence, a healthy obsession for improvement is a key skill for long term success in the software industry. We assume that as software engineers we are already doing this because of the nature of our profession.
Imagine what you would achieve if you would practice daily for a whole year.
Your job will not always give you the chance to improve your skills. It is easy to fall into comfort. Learning after work is challenging because you are exhausted and you need to spend time with your family. You must fit this in your current routine. It can be every day before the daily, take 30 minutes of your time and practice a skill you want to get better at. And stick to it.
A critical skill in any profession, but particularly important in software development. Documenting what you do, in code or in writing, will probably make you ten times more effective.
Documenting will expose parts of the system that are not fully optimised or interfaces that might not be clear yet. It will force you to take a look at what you have just built through the eyes of a newcomer. It can be a REST API, a React app or just a bash script, whatever you are building, get in the habit of documenting it for your future self.
In other words, assess your tech choices from a risk management perspective. Can this be a critical point of failure? Is the software extendable? Is it documented? Is that open-source framework that we use widely supported?
What is the compatibility with other parts of the system? How can we scale this? How is the team going to manage it? Do this exercise again and again and you will be surprised by the insights.
Think like the CTO because you are one, you are the CTO of your own career.
Yes, I know as a developer, you are probably an introvert. But talent without visibility goes nowhere. And when I say visibility, I mean inside and outside of the company. Try to help everyone you come in touch with. Take part in that extra initiative, help your UX person, help you PO, help your Agile Coach.
Talent without visibility goes nowhere.
What goes around comes around, and you will go places. Outside the company, keep your social media (particularly LinkedIn) up to date all the time. Interact with other developers, ask them how they solve the challenges they face in their current company. Funny enough, helping people out is the best way to market your expertise :)
Helping other people is the best way to market your expertise.
There it goes.
Follow these guidelines and you will for sure be in the top 3% software developers.
For more content like this, follow me on LinkedIn.
And if you are truly interested to realise the full potential of your developer career, then click on the link below and schedule a FREE initial consultation call with me. Together we will build a step by step plan to help you get to that top 3%.
I look forward to consult you personally soon.
Together we will analyze your situation and build a step-by-step plan to help you get that developer job you dream of.
We usually get in touch with you within 24 hours.
Expert Software Coach at CodeWithDragos