It's just the first step.
You need more skills to become a senior or lead dev with more impact, money and choices.
1. Master codingPermalink
Coding is not enough, but it is a prerequisite.
You need to master coding and have a lot of hands-on experience so you can:
- Offer multiple solutions to the problem at hand
- Evaluate other people's code and suggest improvements
- Spot potential problems
- Optimise code
- Fix issues
2. Learn related technologiesPermalink
Code doesn't exist in a vacuum.
More often than not, you'll need to use multiple technologies to solve the problem at hand. Must haves these days:
- Git
- Some DB (start with SQL)
- Basics of networks (at least HTTP)
Other technologies you can choose depending on your interests:
- Frameworks (e.g. Django, Rails, React etc.)
- Docker
- Cloud environments(AWS, GCP, Azure)
- And so on and so on
It's different for everybody; this is where you can create your unique combination.
3. Communication & presentation skillsPermalink
Clear communication is a must, especially in writing.
You have to be able to clearly explain yourself - your ideas, challenges and problems - to a wide variety of people:
- Developers,
- Managers
- Customers.
Explaining things in terms of value for the business or great technical detail, depending on who you talk to.
4. EstimatingPermalink
You need to be able to estimate work so you can plan.
It doesn't need to be perfect, but it needs to be good enough so the business or your manager doesn't get bad surprises. You'll also get estimates from others, and you need to know if they make sense.
You need to ask the right questions to check if their estimations are solid.
5. Planning & time managementPermalink
You need to be able to take over a big chunk of work and:
- Break it down into smaller pieces
- Plan how it will be done
- By who
- Manage other people's time
- So everything works well, and you deliver
6. Leadership & ManagementPermalink
You need to be able to lead and manage other people.
That means:
- Motivating them
- Giving them proper feedback
- Keep them happy
- Watch team dynamics
- Organise them into teams
- Setup the appropriate structure
- Assign responsibilities
7. Hiring & building teamsPermalink
Being able to pick and hire the right people is a superpower.
People make or break a business. If you can choose great people, they'll make your job much easier.
8. NegotiationPermalink
The better negotiator you are, the more money you get.
It might not be nice, but it's true. Your salary depends on your negotiation skills. You need to be able to sell yourself, explain what you can bring to the business and employ the right tactics to get what you're worth.
ConclusionPermalink
You don't have to master all of the skills above.
But it would be best if you learned them to some extent. People have different strengths and weaknesses, and so do you. Over time you'll find which of the above comes naturally to you and which you need to learn more intentionally.
Based on that, your career might be more technical or more managerial as you see fit.
It will not take a year, but you'll get there if you do the work.
I'll be going deeper into each of the above, so subscribe to the newsletter and follow me on Twitter if you want to dig deeper.
You might also like
Join the newsletter
Subscribe to learn how to become a Remote $100k+ developer. Programming, career & Python tips.