Author: Jean Pierre Valencia
To give you some context, we are a 50+ person woman-owned private company with 3 offices across the globe: Chicago, USA – Our Headquarters; Montevideo, Uruguay; and Cuenca, Ecuador. We are a distributed agile company by design, meaning we run our business from Sales to Engineering using agile.
On the Engineering side of the company, we are currently around 35 people between Developers, Testers, Designers, etc. The combination of these positions is what we consider a Dev Team. A Dev Team is then assigned to work on a particular project for a client. When the project is completed, the Support Team takes over to make sure our client’s systems keep working as expected.
Our value proposition is to build custom software in a Smarter/Faster way. It has been working very well for us. We have been growing the past few years, and our goal is to double the engineering headcount by the end of 2019. As a VP of Engineering, this is a very interesting problem to solve and to plan for it ahead of time. You need to start putting in place the right foundation that will allow you to scale/grow without overextending yourself or the company in the process.
So where do you start? I am sure there are a lot of people out there that are facing or will face this beautiful problem that is why I wanted to share few things that I learned (And am still learning) so hopefully, you can use it as a starting point. My approach was to talk to colleagues that went through this before and obviously reading/researching a lot about it. The conclusion I came to after putting together multiple sources is that if you want to prepare to scale engineering you probably need to focus on the following five pillars:
- Career Ladder
- Building a High-Performance Team
- Define your Software Engineering processes
- Choose and master your Tech Stack
The order is not related to the importance, but in this post, I wanted to focus on the Career Ladder, I will talk about the other ones in future posts. Our company’s DNA is closer to a Start-Up so when we started thinking about the need of a Career Ladder, it was a little bit scary because the name itself implies a structure or hierarchies which we have always tried to avoid.
Some people say that you should put a Career Ladder in place when you have 5-10 Software Engineers, Spotify says “you should create a career ladder later than you think you need it, a little bit after it is really necessary”. In the end, it is your decision to make based on the knowledge of your company. We have already started noticing signals that we needed to do something about it ASAP. A Few to mention:
- People were often asking us “what is next?” and we did not have a clear answer for them or even worse, we could not easily tell if a person was ready for the next step (not to mention we did not even have formalized titles, etc.). So as you can see any promotion or salary increase did not follow an unbiased process.
- When we needed to hire, it was hard to know which position or level of the position to hire for.
- Responsibilities and expectation of a position were assumed or understood differently since there was not a formal description.
- Salary range and increases were always a problem since we did not have levels tied to the positions.
- Turnover, luckily this did not hit us hard, although we did lose people due to a lack of a defined growth path.
The process we used to implement the Career Ladder.
1. Formalize: First we formalized the positions and titles. Based on what we needed and the way we work. These are the 7 positions available if you work on the Engineering side of the company:
- Scrum Business Analyst (SBA)
- Scrum Master (SM)
- Software Engineer (SE)
- Quality Assurance Engineer (QAE)
- Quality Assurance Automation Engineer (QAAE)
- Software Support Engineer (SSE)
- UX/UI Designer (UX/UI)
2. Research: For each of these positions we needed to define what the ladder was going to look like. For this part, we looked at other companies and career ladders that are public.e used examples as inspiration and adapted them to our reality and culture. In the end, we found 4 essential traits that each position ladder should have:
- Technical Skills: What toolset is needed to perform your job correctly.
- Efficiency & Productivity: How proficient are at what you do.
- Business Impact: What is your added value (“the extra mile”) to your team, division and ultimately the company.
- Communication & Leadership: What is the level of reach you have across the rest of the company.
3. Develop: This is the step that takes a lot of time. For each of the traits above for each position you need to start answering questions like:
- What is needed?
- How many levels should a position have?
- How many years of experience is typically needed at each level?
- What skills are needed?
- Does the position have a “Technical Track” and a “Management Track”?
In this step, you should surround yourself with domain experts in each of the positions to get feedback.
4. Assign: This is the toughest step because here is where you start giving position titles to your current employees. You have to make sure you put in the time to get this part right. Our Executive Team was heavily involved in this, and we had to make tough decisions to make sure we were aligned with our overall company strategy.
5. Roll Out: This is the most important part of the process. We first announced it in our monthly All Hands meeting. Next, we met with every single person in the Engineering department and explained to them the career ladder for his/her position, justified the difference between levels, and why they are at a specific level etc. Be prepared to have difficult conversations, some people may feel that they should be at a higher level. You need to be able to explain in a very transparent and honest way why each person has been placed at a specific level.
6. Feedback & Improvement: This is the step we are at now, and we have noticed very positive comments and feedback that this process was needed. We will keep monitoring this to continuously improve it.
What we gained from the Career Ladder.
Few things that we started to notice right after the Career Ladder was rolled out:</span <>>
- Our regular one-on-one meetings are more productive: People are coming to the meetings prepared to talk about specific things they need to work on to advance in their career, in addition to if they need anything from the company to help them get there. People conducting the one-on-ones can also now provide better feedback based on what is expected of that position.
- Recruiting is better: We are currently hiring for a specific position, and by having the Career Ladder already in place the whole process was smoother from creating the Job Description to salary ranges, and the actual interviews)
- Accountability: People now know what is expected from their current position and what they should be responsible for. There are no assumptions anymore.
Overall the whole journey was positive, and I think we made the right decision. Nothing is perfect, but you need to start somewhere and refine it from there. If you want to check out what our Career Ladder looks like, Click Here.
We are always hiring so check out our website for available positions.