Engineer career paths
Aug 24th, 2007 by Ricker
We must strive to think of our companies in dynamic rather than static terms. I have written earlier about the transition of a company’s organization, management and culture as it grows past the critical 100th employee mark and beyond. We must think of our individual employees in dynamic terms as well. Typically we hire someone for a particular position and never move beyond that point in our thinking. Most employees want to grow and expand in knowledge and experience. If the company does not provide the employee paths of growth then that employee will seek growth elsewhere.
The following diagram shows a typical plan for growing engineers within a software company.

Engineer career path within a software company
First notice that there are only four levels in the engineering organization:
- Management
- Senior engineer
- Junior engineer
- Intern
Management also includes individuals without direct reports, such as a CTO or a chief architect, who have responsibility for maintaining a level of expertise. Simplicity is important. Moving beyond four bands only makes management and coordination harder, not easier.
A software group will usually have three teams:
- Development creates new functionality and builds the next version of the product
- Maintenance fixes existing functionality in existing versions of the product
- Quality assurance tests the new versions of the product and verifies bugs reported by customers
Usually the development team is the largest team in the software group. One QA team is usually shared in companies with multiple product lines.
Interns are important for finding excellent employees. They are a great source of cheap labor. Internship programs are excellent for building goodwill and strategic relationships with local universities. Interns should go into the development group so that they are exposed to the excitement of a software company.
New junior engineers just out of school should start in the QA department. Testing the products gives the engineer a detailed knowledge of the product. Test and build scripts are an excellent way for engineers to cut their teeth in commercial development.
Promote junior engineers into maintenance. Newly hired senior engineers should also start in the maintenance team. They may only be there 6 months, but it will give them an opportunity to learn the product from the inside out. It will also give you an opportunity to evaluate how strong they really are.
The simple structure here can be made more robust when combined with a research and development group and a professional services group. Lay out for your engineers how they can grow within the company. Otherwise, your investment in your employees will serve your competitors as your employees are forced to seek growth opportunities elsewhere.
Also see: The Brain Factory
Leave a Reply
You must be logged in to post a comment.