Personal Growth for Developers: What’s a Trajectory Look Like?
As a developer, there are a lot of very cool directions your career path can lead you.
You could end up a team lead or manager, or even Chief Technology Officer for your company. You could be a top-tier coder in a particular technical field. You could be an entreprogrammer, a contractor who’s sought after for the coolest new app or startup.
The point is, there are a lot of choices you can make about where you want your career to take you.
But getting to the point where you’re making those big choices takes time, dedication, and a career-long trajectory of personal growth. Where do you start? How do you make sure your career keeps moving forward, propelling you toward your end goals?
That’s what we’re here to figure out. Ahead, we’ll look at what a steady personal growth trajectory looks like for a programmer, as well as the one simple thing you can do to keep your career advancing toward your goals.
This Is What a Typical Career Path Looks Like for an Engineer
But what’s typical, anyway? Like any other career path, yours can go more than one way to get from entry-level to your ultimate dream career. But there’s a pretty standard hierarchy of positions you’re likely to have to move through as a programmer before you reach the top.
Realistically, you’ll likely need to spend around a decade honing your skills and working your way through the typical career ladder for engineers. But once you’ve put in the time and built up the skills and knowledge, a lot of new doors will open up.
Here’s what you can expect during the early and mid-stage years of your career.
Step 1: Junior Developer
Graduating with a CS degree, completing a bootcamp, or finishing a tech apprenticeship will all put you in a good position to snag a role as a junior developer. This is entry level. It’s the ground floor where most great engineers started, and it’s a great place to learn how to take the skills you learned during your educational background and apply them to the real world.
A junior developer should be able to:
- Write simple scripts
- Understand database and application services, like queuing and caching
It’s pretty normal to be at this stage for up to the first three years of your career. During that time, you’ll probably find yourself sometimes doing similar work to senior developers and wondering why you don’t have their title. That’s normal! It’s all part of the learning process, and you’ll be at that stage soon enough.
Step 2: Software Developer of Senior Software Developer
With a little job experience, you’ll be qualified for positions as a software developer or senior software developer. Not much about the job itself changes at this point, but with some real work experience under your belt, you’ll have the knowledge and confidence to do more complex tasks and projects.
A software developer or senior software developer should be able to:
- Demonstrate how they’ve learned and grown with some experience in the job behind them
- Write complex code
- Thoroughly understand things like databases, application services, and application lifecycle development
Typically, 1-8 years of experience in the field will give you the qualifications you need for this level. Software developers and senior developers often aren’t quite at the level they’d need to be to manage and supervise others, but they’re on their way. At this point, engineers can start to choose their next steps based on their future goals, and there are two good, but different, next steps. The question to ask yourself to decide which of these two paths to take is this: Do you want to manage a team?
Step 3A: Lead Developer or Technical Architect
If you do want more challenges and responsibilities, but don’t want to manage a team, a position as a lead developer or technical architect is a good next step for you. These are specialized engineers who write code that others look to for help or inspiration. They also design the most complex systems that will then be implemented by other engineers.
A lead developer or technical architect should be able to:
- Show skills and knowledge developed with years of programming experience
- Have subject matter expertise
- Have well-developed technical skills
- Be able to conceptualize, plan, and build out complex projects
Alternatively, if you do want to manage a team, you can take a different path.
Step 3B: Development Team Lead or Software Development Manager
Stepping into a supervisory or managerial role is another logical next step you can take after you’ve gained the necessary experience.
A development team lead or manager should be able to:
- Manage large-scale projects
- Manage teams of people
- Recruit, hire, and fire developers
Taking a management path requires more than just coding skills. In order to succeed as a supervisor, you’ll need soft skills like communication, leadership, and the ability to mentor and teach others. This might take more work, since those are skills that don’t inherently come in an engineer’s playbook and will have to be learned separately.
So whether you’re a junior programmer just starting out, or you’re looking to step into your first management role, you might be wondering what it takes to keep your career moving forward over time. For that, and no matter what career path you want to be on, there’s one simple rule.
The Only Thing Engineers Need to Do to Keep Advancing Their Careers
Sure, you need to have the technical skills to write more complex code and tackle trickier projects over time. But while coding is the foundation for any engineer’s career, it’s not the end all, be all.
Early in your career, when you’re new to writing code and making a lot of mistakes, you’ll improve rapidly. But eventually, your technical learning will plateau. When you’re an accomplished engineer who can code quickly, efficiently, and accurately, what do you do instead of sitting in your software developer job and doing that for years and years?
Here’s where a lot of engineers fall into a common trap. They equate their technical ability and experience with success. That’s not the right equation though.
Success is dependent on your impact. The one thing engineers should do to keep propelling their careers upward is to always seek to increase their impact.
That means going beyond just learning how to code on an expert level and then doing that day in and day out. It means learning other skills that will complement your coding skills and make you a more valuable engineer overall. Those skills include teamwork, communication, critical thinking, and initiative.
An entry level engineer brings energy and potential to a team, but typically lacks some of the coding skills. But they may not demonstrate follow-through, and likely need to be told what projects to work on. At this level, you can add value to the organization by practicing writing code, making less mistakes, and learning the technical skills you’ll need throughout your career.
At mid-level, an engineer should have a solid grasp of the technical skills, so how do you keep adding value at this point?
The skills that help devs progress from coder to leader are not technical–they’re soft skills
At this level, the game changes. You need to focus on rounding out your abilities as a team member and team leader:
You develop better initiative. You hone your communication and collaboration skills to work with others on the team to solve more complex problems, and to give more detailed status updates. You take ownership of your projects and see them through to the end with less direction from your superiors.
And at high-level, engineers should be expert coders, but also high-level critical thinkers and communicators. At this level, you bring value to your team by being able to build and execute long-term strategy, see the bigger picture of how a project fits into company goals and direct it accordingly, create positive team dynamics at your organization, and mentor a team of lower-level engineers, if you choose to go into management.
It’s adding value constantly that will continue to get you higher and higher up that career ladder. As you advance in your career and continue on your own personal growth trajectory, always be asking yourself this: What can I learn to continue to add more value?