{{announcement.body}}
{{announcement.title}}

Designing Individual Career Plans for Engineers and Developers

DZone 's Guide to

Designing Individual Career Plans for Engineers and Developers

Ensuring that incoming employees have a career ladder to look forward to increases employee retention.

· Agile Zone ·
Free Resource

Career paths at corporations frequently assume that we are all the clones of Agent Smith from The Matrix, pieces of a well-known puzzle with a finite set of instructions.

You study CS, apply for an internship, push hard, and make it through to an entry-level role. Past the mid-level and senior gigs, you can either take the architect route or switch to the dark side and suit up for your technical manager’s interview!

In this article, we’re discussing job-hopping being a global trend, the average tenure of engineers, and outward-looking developers starting with freelancing or building their own firms due to outdated management or regressive leadership.

It Ain’t Fun Being the Cog In The Machine

Thanks to statistical probability, we know that traditional career paths can and do work, often. But are they really efficient and designed to scale?

Career paths matter. The system would have collapsed as the Berlin Wall already had it been as fragile and inefficient as it is often depicted.

Transparent career development can be reassuring for entry-level developers and engineers in their first years. While thriving in chaos is a legitimate state, the burden of anxiety and discomfort in a new work environment can tune out an inexperienced and introverted hire.

Among everything else, they also have to:

  • Study the product

  • Get to know their new team

  • Learn the ropes of the job (applicable for interns who weren’t exposed to real-life coding)

  • Get used to the coding standards and in-house code review requirements

  • Read through all the shortcuts of their new IDE

  • Adjust to the used methodology and all of the internal processes

Having a clear vision of what’s coming next provides a sane way to deal with day-to-day stress and high expectations at fast-paced teams. Well, at least it’s measurable, or somewhat quantifiable.

Adhering to Entrepreneurial Geeks

But people are different — and suppressing growth due to policies is rarely the right answer.

Here’s what your organization could do instead.

  1. Discuss career options during the interview. While interviewing for a position, let the applicant know about the possible growth opportunities. An engineer can move up the tech ladder, switch to management, become a product owner, transition to DevOps, or wear a different hat in certain cases. Allowing for a single growth path can increase your turnover rate.
  2. Set up the corresponding KPIs for the role. Once you have a plan in place, discuss the quality requirements for receiving a promotion. Don’t rely on clichés like “up to the manager’s discretion,” or you risk losing competitive talent. This will also support your performance reviews (which should also be discussed early on.)
  3. Design custom roles for the right hires. If you find a great fit but a poor job match, consider a custom role. Startup engineers are often comfortable tackling multiple tasks at a time or acting as Scrum Master for the team. Corporate engineers can tackle documentation or defining integrational processes.
  4. Consider the rare breeds of technical profiles. Companies rarely look for technical sales, development advocates, technical writers or other tech-driven roles. But those are extremely valuable and could boost your revenue with the right strategy. If your applicant comes with a strong community experience or outstanding soft skills, discuss alternative roles that bring the best of both worlds.

When approached properly, a great applicant can deliver 10x the value for the company in a different role.

If in doubt, trial weeks are a great way to test an applicant in a newly-designed role they aren’t fully comfortable with upfront. Thousands of startups have been offering paid trials to promising applicants as a mutual way of assessing the culture and whether a long-term collaboration would be a great fit.

Automattic, the company behind the WordPress.com blogging platform, has even designed a 3-week-long support-based trial for engineers during their trial phase.

Getting to know the products and interacting directly with users is a wonderful way to understand the dynamics behind the underlying software stack and its customer base. Engineers are paired with support staff — called “Happiness Engineers” — and work closely towards triaging tickets and finding opportunities to improve upon the code base.

Evaluate Your Career Plans

Traditional engineering programs are designed for a limited set of organizational structures. An experienced engineer in cloud computing, AI, or blockchain development could be a great team leader for a new product division on your team. The deadline-driven developers could pair up with team leaders or project managers, working closely together on business analysis or product planning.

As an example in my own organization, thanks to this individual path program we’ve invented a separate role called the “Project Owner.” Our project owners are lead engineers who want to improve upon their soft skills and product management while taking charge of the roadmap and build specific features across their applications.

It’s a healthy mix of software development, project management, and leading a small team of other developers. Our product-driven engineers also invest in contributing back to open source projects and build free tools for both users and development agencies.

Think about your existing career plans. Are there any missing roles you’d love to hire for? Is there a programmer on the team who is willing to push through? Are there any applicants who would fit a slightly different role and help you scale your team?

Topics:
software ,software engineer ,career ,recruiting ,entrepreneur ,agile ,dev career

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}