But what happens after a developer or engineer lands that sweet gig? Can they harness their skills and grow in exciting 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? These kinds of questions 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 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 careers may feel unattractively self-promotional or political — even though it’s neither. Charting a career path may feel awkward, or they don’t know how to proceed.
Companies owe it to developers, engineers, and 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? 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. Through training sessions and HR processes, this framework has since been put into practice at the following companies I worked at — Google, VMWare, and, now, Juniper Networks. 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. In my model, folks begin by assessing the “functionality” expected of someone at their next career level and how they demonstrate them (or not). Typically, a person gets promoted to a higher level only when they already show they are operating at that level. Why should a career be any different?
Leave a Reply