We use cookies on this website to make it function correctly and to achieve the purposes illustrated in the cookie policy. By continuing to browse, you agree to the use of cookies. Cookie Policy

Navigating the software engineering career path

Hack Reactor

navigating the software engineering career path

As with many careers, software engineers can gain on-the-job experience that leads to promotions, new roles, and leadership responsibilities over time. But in this line of work, the pathway toward these different opportunities isn’t always as clearly defined as it can be in other fields like academia, law, medicine, and beyond.

We routinely work with software engineers at every stage and every level – from those just starting out in our Software Engineering Immersive program, to our instructors who have decades of hands-on experience and leadership skills under their belts. Throughout, we’ve come to think about the software engineering career path as broken into four overall categories.

  • Software Engineer (Years 1-3): During this stage, software engineers are building software.

  • Senior Software Engineer (Years 4-6): Here, software engineers are building software and also coaching others.

  • Lead / Manager (Years 7-10+): At this stage, they’re likely to oversee teams responsible for the planning, execution, and success of complex software solutions.

  • Staff / CIO (Years 7-10+): And here, these professionals are likely building processes for teams, championing product thinking, and providing company-wide technical leadership.

These categories are useful, but for many, the bigger concern is how to move from one to the next. How do software engineers go from that first big job to their next opportunity? How can they ensure they’re building the skills and knowledge needed to progress in their careers no matter which role they’re currently in?

In order to understand why all of this remains so murky for so many, let’s talk about what holds software engineers back from achieving clarity.

Two main challenges to software engineering career growth

First and foremost, there’s a lack of training. A quick Google search leads to a slew of beginner programming courses on the market. Many of them are wonderful, robust options for those looking to kickstart their careers. But what about after that? What about learning options for those already working as software engineers? There’s a sudden, steep dropoff in career-oriented training available for professional software engineers looking to continue learning.

Oftentimes, company leadership is well aware of the technical training void. In fact, a recent survey indicates that 76% of CEOs are concerned about a lack of digital skills within their own workforces. But for a variety of reasons, that concern doesn’t always translate to direct, in-house learning opportunities. This dearth of training can leave software engineers without a clear understanding of what to do next and how to keep growing.

Additionally, software engineers are often met with an overall lack of professional mentorship once on the job. Our VP of Professional Development Curtis Schlak wrote about this topic, sharing his personal experience of struggling with a lack of mentorship through much of his own software engineering career.

“Once I started programming in earnest in the industry, I found myself without somebody to help me get better. It got even worse as I ‘moved up’ to team leader, then as director of development within a few short years,” he wrote. “There were no assigned mentors at the company I was employed at. I was supposed to be mentored by my manager, but most of my managers were non-technical. I made mistakes in technical implementation and leadership that might have been avoided if I had a reasonable mentor.”

To get through this, he built up peer mentorship groups with his then-current and former colleagues. They would meet over coffee on a regular basis to discuss challenges, needed skills, and to share what they were learning at their different companies and within their different roles.

While this type of community-building is important, and certainly counts as a form of vital  mentorship, it’s also important for software engineers to have access to professional mentorship from those who’ve gone before them – from those who’ve already traveled this career path and can help make it easier for those coming up after them.

What issues do training and mentorship actually address?

A combination of forward-thinking training and professional mentorship can help software engineers who are facing new and increasingly difficult challenges on the job. When we talk with software engineers – those out there doing the work right now – we hear that this combination helps address three commons career growth pain points: 

  • Understanding the why. Software engineers need continued learning throughout their careers in order to maintain a grasp on the necessary mental models for solving complex and evolving problems. If and when this learning halts, it’s increasingly difficult to overcome challenges and keep moving forward.

  • Coding with confidence. This is another area that needs routine nurturing. Training and mentorship can help software engineers stay up-to-date on best practices in real-time, working through problems as they go.

  • Advancing careers. Through it all, software engineers are looking to advance in their careers. They’re looking for relevant skills, knowledge, and networking opportunities for their evolving roles and professional goals.  

Increased access to training, either on-the-job or via other professionally-led courses, in tandem with care and mentorship, can transform the software engineering career path from murky and muddled to clear and focused.

Next steps: how to move your career forward

To help software engineers like you gain clarity and move forward in your career, we’ve created professional development courses built on the combination of training and mentorship.

In terms of material covered, all of our courses touch on some combination of six knowledge areas (Design, Quality, Requirements, Testing, Maintenance, and Models + Methods) established by the excellent SWEBOK Guide. Each area is specifically useful for software engineers, and you can see some additional, related resources about each area here.

To learn more about our courses and about the career path in general, watch a recording of our recent Software Engineering Career Path event led by Curtis Schlak. He goes into deep detail about each knowledge area, including how they align with our courses and how they align with your professional goals and desired outcomes.

Have questions? Feel free to reach out to us at profdev@galvanize.com.