As in other industries, 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 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 coding bootcamps to those working in the field who are looking for ways to continue learning.
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+): 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 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 post-bootcamp 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 drop 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. To help address these gaps, we offer Corporate Training, providing customizable upskilling and reskilling opportunities for teams. We cover things like cloud computing, React, the Agile Extreme Programming (XP) methodology, and much more.
Beyond a lack of training, software engineers are often met with an overall lack of professional mentorship once on the job. Our Chief Academic Officer 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, and 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.
While we can’t control mentorship opportunities offered by companies employing software engineers, we can do our best to instill the value of mentorship and support in all that we do. Students in our coding bootcamps are taught how to work independently and as part of a team. We encourage valuing others’ input, offering support, and communication as pathways toward building lasting relationships that can transform into supportive bonds that carry over into their careers. Additionally, bootcamp graduates are part of our growing, 14,000+ alumni community, which stays connected through an active Slack channel, events, and more that address on-the-job challenges, among other topics.
Graduates are also invited to participate in our mentorship program, which pairs them with new bootcamp students. And of course, once graduates are hired as software engineers, we encourage them to stay connected to the bootcamp community, as well as look for opportunities to give and receive mentorship with their new coworkers.
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 common 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
Depending on where you are on your software engineering career path, we have a couple of different options. For those looking to start a new career, we offer Intermediate and Beginner Coding Bootcamps. And for those already on the job, we offer Corporate Training so employers can upskill and reskill their internal teams.