Seniorities
A tech company is based on talented people, that's the only way that innovation, productivity and real market relevance can take place.
So, what do we expect from the talents we have? More specifically, what do we expect from our software engineers?
DB1 Group has a complex and in-depth people management process, but in order to have a simplified way to express the characteristics of the seniority levels for software engineers, we'll look into the main points:
- Trainee level engineer (what to expect)
- You are person with no experience (if you already have it, even better)
- You are in the organization to learn
- You are thirsty for knowledge (willingness to make it happen, enthusiasm, curiosity)
- You accept knowledge as a bargaining chip for your time
- You are willing to be full stack and flexible about learning
- Junior level engineer (what to expect)
- You can deliver tasks fulfilling the 4 basic CRUD operations (Create, Read, Update, Delete) in some programming language or framework whether back or front-end
- You can troubleshoot your own code and code written by others
- You are thirsty for knowledge (willingness to make things happen, enthusiasm, curiosity)
- You are willing to be a full stack, but you already have chosen your area of expertise to delve into (back or front) and your mother programming language to get to know in detail
- You can consistently perform simple tasks without help and more complex tasks with support from someone more experienced
- You must have between 1 and 3 years of work experience. It's expected that you do not take longer than 3 years to get to the next level.
- Mid level engineer (what to expect)
- You can consistently carry out most of the activities of a software project autonomously, but still rely on a senior/lead to create or implement complex technical solutions
- You must have be able to present the result of your deliveries
- You understand fundamentals and theory behind the technical solutions you use
- You understand the client business and how its software drives it
- You must be able to disseminate knowledge
- You understand from end to end all aspects of the solution and how they relate (back, front, infra, etc)
- You must have between 3 and 5 years of work experience. It's expected that you do not take longer than 5 years to get to the next level.
- Senior level engineer (what to expect)
- You must have deep theoretical technical knowledge
- You must have a portfolio of projects you built with high complexity, with your leading role
- You must be able to solve complex problems and design technical solutions
- You must know software design and architecture
- You must have a mature softskill (emotional intelligence, time management and communication)
- You can easily understand the customer business and how the technical decisions impact the business. Above all, you manage to transcribe the technical language to the client business language and vice versa
- You must not be tied to maternal technology and understand it as a tool and can - if needed - switch to other technologies
- You must be able to transfer and build knowledge in the team
- You must collaborate and mentor team members
- Senior must know when a technical debt must be incurred and also plan how to pay it in the future
- You must have at least 5 years of work experience. Moving to the lead level is not just a matter of experience, but also of responsibilities. We understand that the timing for this is very private and some people may not want it.
- Lead level engineer (what to expect)
- Before being a lead, you are a senior engineer, keep this in mind
- You are accountable for everything that is delivered in the engineering layer of a team
- You are accountable for defining technical solutions that must be followed by the team, therefore, you need to be competent in the matters involved
- You must establish and implement technical rules and processes that must be followed by all engineers in your team
- You are accountable for taking a stand against estimates, dates and commitments signed with the client (to accept or reject them, evidencing why)
- You are a leader, that is, you lead others. Engaging, including, mentoring, cultivating talents are your responsibility. This is not the same thing as being a manager of another, it is worth mentioning
- You must have an holistic view. You must always see the big picture, from your team and your project context
- You must have a vast knowledge horizontality that allows you to move between the main subjects of software engineering
- Knowing how to transcribe to the customer why a technical decision is important and how it impacts its business. Example: why unit testing matters to the business?
- At least 5 years of work experience, at least 2 as a senior
We know there are exceptions to the rules, but that's what they're supposed to be: exceptions.
Hopefully this guidance can help you out in talent acquisition and get better fit for the seniority expectations at DB1.