This is part of our hiring checklist series, where we share insights to help you screen developers. You can find our other checklists here:
- Assessing Data Analysts vs. Data Scientists vs. Data Engineers
- Assessing DevOps Talent
- Assessing Back-End Developers
- Assessing Front-End Developers
- Assessing Full-Stack Developers
When hiring technical talent – especially developers – it’s important to understand exactly what traits will add max value to your existing team. Whether you need seasoned senior talent to serve as the foundation of a key team, or bright and trainable junior talent to build and execute – both Junior and Senior Developers play key, but differing roles in an engineering organization.
We’ve created a checklist of the top traits to look for in both Junior and Senior Developers in your search beyond just “X number years of experience”.
A Junior Developer is a candidate that has a basic understanding of coding but hasn’t yet proven their ability to function independently within a development team. Their fresh perspective on common problems can be a huge asset to any team, but they’re generally in an early phase of their careers and are expected to need a fair amount of supervision and mentoring from their peers in order to be successful. That said, if you can find the right candidate, they not only can help carry out day-to-day tasks but become a priceless long-term investment as they develop into more seasoned developers.
Here are a few key things to look for:
- Problem-solving skills / resourceful / think out of the box / frame problems in different ways to look for solutions / decompose problems
- Do they have proof of a firm understanding of basic coding knowledge and fundamentals (e.g. relevant Bachelor’s degree, completed coding bootcamp, development work experience, stellar scores on coding challenges at their level)?
- If they’ve come from a more formal training program like a Bachelor’s degree or coding bootcamp, do they have at least some hands-on development experience (e.g. personal projects, school projects, work experience, internships)?
- Do they have troubleshooting experience? Are they versed in basic testing and debugging procedures?
- Do they have a basic understanding of your how your team’s core tech functions? Or do they have familiarity with a tech stack that would help them grasp it quickly?
- Do they have fairly versatile basic coding skills that can support multiple members and facets of your team as needed?
- Do they have basic familiarity with your team’s development philosophy of choice?
- Have they successfully worked in the context of a team in the past, or are familiar with the dynamic of a development team?
- Do they take initiative within a team, contributing their ideas when appropriate, and reaching out to others when they hit roadblocks?
- Are they seemingly willing to accept constructive criticism and guidance from teammates?
- Do they display a general curiosity for the overall context of a system, and a desire to understand how their work fits into it?
- Are they hungry to expand their coding knowledge and grow within the field?
- Have they demonstrated their capacity for self-starting, proactively seeking ways to contribute even before they’re explicitly assigned?
- Are they thorough, detail-oriented, and committed to following through on their projects as they’ve committed to them?
- Do they have good basic communications skills that they can use to effectively discuss both technical and non-technical concepts?
- Do they have a team-oriented attitude, and a willingness to contribute to the overall engineering organization? Are they willing to put competition on the back burner for the good of the team?
A Senior Developer has proven to be a self-sufficient, collaborative, and pragmatic contributor in the context of a team. They’re not expected to lead a development team but are expected to have proven expertise in their chosen area of specialty, a firm and forward-looking grasp on the software development cycle, and a willingness to mentor and collaborate with peers of all experience levels. Their strong technical talents are their most obvious asset, and often take center stage in hiring evaluations. That said, their non-technical skills are also important in ensuring their ability to successfully collaborate with the rest of your team.
Here are some of the top characteristics to seek out (in addition to fluency in fundamental software development skills and practices):
- Have they demonstrated the ability to execute the software development cycle end-to-end?
Do they proactively plan for the long-term by preemptively accounting for potential issues and errors in their work, and provide support for the team when issues do occur?
Do they make an effort to consistently engage with development related blogs, podcasts, or other information sources to stay in tune with current and changing technologies?
Have they demonstrated the ability to lead and manage projects with minimal guidance, whether individual or team-based?
- Do they have a track record of accurately estimating their project scopes and timelines, and consistently delivering on the commitments they make?
- Are they trained in and comfortable with your team’s development philosophy of choice?
- Do they have experience working cross-functionally with other departments to listen to, interpret, and execute development-related requests when needed?
- Are they team-oriented and willing to seek guidance and collaboration from their peers when needed?
- Have they demonstrated the ability to successfully mentor fellow developers and create a learning environment?
- Are they modest and open to listening to the input of other developers on their team, including peers and less seasoned teammates?
- Do they hold themselves fully accountable for their contributions to the organization, whether positive or negative? When problems arise, do they stop the buck or pass the blame?
- Are they invested in producing a consistently high quality of work across the board, whether tasks are viewed as menial or more interesting and challenging?
- Do they possess advanced technical communications skills that they can utilize to effectively plan and collaborate with peers?
- Do they also have advanced non-technical communications skills that they can leverage to interpret and deliver on requests from employees with minimal or no development experience (e.g. employees in Product Marketing or Business Development)?
- Are they invested in continual self-development and learning within the field, as opposed to only engaging with concepts and practices they already understand?
Connect with your technical teams
How do you decide what to look for when hiring for these two very different roles? And are you having frequent check-ins with your engineering teams to stay aligned? Connect with your technical teams and see what they prioritize from this list.
Be sure to keep the lines of communication open between your teams. As a technical recruiter, you should be operating as an extension of the teams you support---and alignment is key for this. Having everyone on the same page provides a better overall candidate experience and will increase your quality of hires.
Hiring for other technical roles? Learn the right skills to target for specialized roles in our full guide: