The best way to grow your tech career? Treat it like an app

Software developers and engineers have rarely been in higher demand. Organizations’ need for technical talent is skyrocketing, but the supply is quite limited. As a result, software professionals have the luxury of being very choosy about where they work and usually command big salaries.

In 2020, the U.S. had nearly 1.5 million full-time developers, who earned a median salary of around $110,000, according to the Bureau of Labor Statistics. Over the next 10 years, the federal agency estimates, developer jobs will grow by 22% to 316,000.

But what happens after a developer or engineer lands that sweet gig? Are they able to harness their skills and grow in interesting and challenging new directions? Do they understand what it takes to move up the ladder? Are they merely doing a job or cultivating a rewarding professional life?

To put it bluntly, many developers and engineers stink at managing their own careers.

These are the kinds of questions that have gnawed at me throughout my 25 years in the tech industry. I’ve long noticed that, to put it bluntly, many developers and engineers stink at managing their own careers.

It’s simply not a priority for some. By nature, developers delight in solving complex technical challenges and working hard toward their company’s digital objectives. Care for their own careers may feel unattractively self-promotional or political — even though it’s in fact neither. Charting a career path may feel awkward or they just don’t know how to go about it.

Companies owe it to developers and engineers, and to themselves, to give these key people the tools to understand what it takes to be the best they can be. How else can developers and engineers be assured of continually great experiences while constantly expanding their contributions to their organizations?

Developers delight in solving complex challenges and working hard toward their company’s objectives. Care for their own careers may feel unattractively self-promotional or political — even though it’s in fact neither.

Coaching and mentoring can help, but I think a more formal management system is necessary to get the wind behind the sails of a companywide commitment to making developers and engineers believe that, as the late Andy Grove said, “Your career is your business and you are its CEO.”

That’s why I created a career development model for developers and engineers when I was an Intel Fellow at Intel between 2003 and 2013. This framework has since been put into practice at the three subsequent companies I worked at — Google, VMWare, and, now, Juniper Networks — through training sessions and HR processes.

The model is based on a principle that every developer can relate to: Treat career advancement as you would a software project.

That’s right, by thinking of career development in stages like those used in app production, developers and engineers can gain a holistic view of where they are in their professional lives, where they want to go and the gaps they need to fill.

Step 1: Functional specification

In software development, a team can’t get started until it has a functional specification that describes the app’s requirements and how it is supposed to perform and behave.

Why should a career be any different? In my model, folks begin by assessing the “functionality” expected of someone at their next career level and how they’re demonstrating them (or not). Typically, a person gets promoted to a higher level only when they already demonstrate that they are operating at that level.

For example, someone in the “proficient/maturing” phase (typically three to five years of experience) should display a solid understanding of one or more technical fields, increasingly analytical and independent thinking, initiative, creativity and have a positive reputation within the company.

An organization would never skip this step at the beginning of a software project, yet many are lazy about it when it comes to managing developers and engineers.

Step 2: Design document

This is the detailed plan for developing the piece of software. The functional specification defines the “what,” and the design document lays out the “how.”

In the career development model, this should take the form of an action plan — agreed upon by employees and managers — to spell out what’s needed to achieve growth. Is it more comprehensive technical knowledge? Better communication skills? More innovative ideas? Helping junior team members succeed?

Developers and engineers often are concrete thinkers and like to start by identifying the issue at hand and then tackle it logically. Steps 1 and 2 apply that approach to career development. Then comes time for implementation.

Step 3: Execution

Think of this as the coding phase of career development. The developer or engineer should go about their day-to-day jobs with all the information gleaned up to this point in mind. They should also seek stretch assignments and training that allow them to improve.

A good motto for any employee in the execution phase is “C.H.I.P”: competence, high energy, integrity and perseverance.

Step 4: Test/release

No one releases software without testing, and it’s hard to maximize career success unless you follow through. This may include working with a manager to track progress on the development plan every quarter, with updates based on progress and manager feedback.

It also means paying attention to one of the most important elements of professional advancement: stakeholder management. It’s essential to manage stakeholders across the organization, and this tends to be a broader group than many may realize.

Stakeholders can include peers who must recognize the developer or engineer’s contributions, initiatives and collaboration skills; the manager and the manager’s peers; and others such as product managers or sales engineers, as they can provide great feedback on the employee’s impact on a product or customers.

Together, such a circle of stakeholders creates a community of admirers and collaborators who magnify your achievements and create a positive buzz.

Talented developers and engineers have an easy time finding a job these days, but once inside the doors, many find it harder to nurture their careers over the long haul. As this model has shown, it doesn’t have to be that way.