Last month, I was invited to speak at Nerdearla 101, one of the biggest tech conferences in Latin America. As a technical recruiter, I represented Grafana Labs in a panel discussion about hiring junior engineers, which was a great chance to reflect on what we look for in candidates and the challenges facing those looking for their first job in tech.
Now that I’m a few weeks removed from the experience, I wanted to share some thoughts on the topic and insights that surfaced during our discussion. I hope this will help anyone struggling to find their first engineering role or those who might be curious to know more about starting your engineering career at Grafana Labs.
What we look for in junior engineers
In the business world, a college degree was once the primary way recruiters evaluated entry-level engineers, but that’s changed — people come to tech from all sorts of backgrounds today. So we look at many factors to determine if a candidate has the right skills, and whether they’re a good fit for the company and the type of work that we do.
We want candidates with technical acumen, soft skills like the ability to communicate and collaborate with others, flexibility, and enthusiasm. We want candidates who are excited to join the team and want to learn. We look for inquisitiveness, proactiveness, and a desire to attack problems, and to keep asking questions to figure out the problem.
In short, at Grafana Labs some of the key skills we look for when hiring for junior roles are:
1. The ability to work in a remote-first company where communication is key. This means working together and being collaborative, friendly, kind, and respectful.
2. Willingness to learn and grow. There is a lot of room for growth and development, and our team has quite a lot of knowledge to share with those who are willing to learn.
3. A desire to work on complex solutions. Grafana is a highly technical solution and has avid followers who rely on it every day and care deeply about their workflows.
4. A holistic approach to development. The team owns the full lifecycle of our code, from writing design docs to looking at community feedback to automated testing. We appreciate engineers who enjoy looking at the big picture but also notice the details of the brush strokes.
How much should a junior engineer know about their preferred programming language?
The programming languages a junior software developer learns through college, bootcamps, and internships will of course be helpful. However, their attitude toward learning a new skill set is what we always look for.
“Our hiring process is designed to find someone who is a problem solver rather than someone who gets it right every time.”
We don’t focus on the outcome of any complete projects a junior developer might have taken part in. Instead, we’re interested in the procedures they used when working on those projects, as well as the overall passion they show when discussing them.
Our hiring process is designed to find someone who is a problem solver rather than someone who gets it right every time. Ultimately, we look for people with courage to build the next generation of open source tools from anywhere in the world!
Why do we hire junior engineers?
We hire junior engineer for many reasons, but to keep it short and simple, here are the main ones:
- Junior engineers add significant value to the company as they grow. Junior engineers who grow into mid-level and senior developers are equipped with the knowledge and context to have an immediate impact as they step into bigger roles. They will also hit the ground running when they reach higher levels.
- Juniors can fuel the team’s passion. Junior engineers bring fresh ideas into the company. Junior developers are also excited to enter the world of work and test their skills for the first time. And that energy has proven to be contagious — oftentimes a junior developer can push a team and ignite a collective enthusiasm to tackle a project. In other words, we recognize that there’s a certain magic to those first few years as an engineer that’s hard to recreate otherwise.
- Junior engineers provide mentoring opportunities. Hiring junior engineers improves the growth opportunities for other engineers in the organization. More senior members can hone their mentorship abilities and potentially grow into a new role themselves. It’s a win for everyone involved.
What’s the difference between an entry-level and a junior engineer?
When recruiting for a particular role, I always consider the full picture of a candidate, with all their pros and cons, and not just whether they meet the required functions for the role on paper. After all, qualifiers like entry-level, junior, middle, and senior are just handy labels — not hard and fast rules about who qualifies and who doesn’t.
Still, those labels help simplify the picture and increase the effectiveness of communication because they are familiar to everyone. In addition, they help us all to set the right expectations for each role within an organization.
Based on the above clarification, here’s how the Grafana Labs’ recruiting team distinguishes between entry-level and junior roles:
- Entry-level engineers are people without relevant working experience. They will have three to six months to achieve junior level status under the guidance of an experienced mentor. At Grafana Labs we have two requirements when hiring for these positions — solid English language skills and a basic understanding of the candidate’s chosen tool or programming language.
- Junior engineers are people with at least six months of work experience, solid English language skills, and the ability to perform basic technical tasks independently.
Interviewing junior software developers at Grafana Labs
The Grafana Labs interview process is 100% remote. People apply, engage in interviews, and make a decision all from the location of their choice. We know that even with all that flexibility, that’s quite a leap of faith — and it’s why our interview process has to be first-class.
Our interview process involves four stages:
1. Visit our careers page and apply! Take a look at all the elements in the job description. Ask yourself if you match up with the company’s expectations and, just as importantly, if we meet your expectations. Remember: You don’t have to meet 100% of the qualifications to apply.
2. Recruiter screen. This is a time for us to get to know you better and for you to learn more about us. In essence, it involves a 15- to 30-minute video call, during which we’ll discuss basic qualifications and information about the job. We also take the time to understand what the candidate is looking for and make sure we can meet all their needs. We recognize this process is a two-way street.
3. Hiring manager interview. This is an opportunity to meet with the hiring manager and learn more about our culture and values. You’ll also get more information about the team you would be working on and the responsibilities for the specific role.
4. Skills assessment. This is where we measure your technical skills. This could be a remote coding exercise or, in some cases, a live coding session.
Best advice for finding a junior developer role
Landing that first engineering role can be a challenge. Here’s some practical advice to help you as you start your new career path, whether you’re applying at Grafana Labs or elsewhere.
Don’t limit your job search
Many engineers who are just starting their careers target the largest tech companies because they think it’s prestigious. However, there are thousands of small firms around the globe that can give you a great start to your engineering career.
At large companies, hands-on experience tends to be left to the employees with more time in the business. But when you work for a smaller organization there are plenty of opportunities to get involved in a bigger challenge, which will help with your experience in the long run.
Grafana Labs fits right in the middle of the spectrum. We have more than 750 Grafanistas distributed across almost 40 different countries, with a solid remote-first culture. With us, you’ll have the opportunity to work closely with one of our squads in order to learn and contribute to our products. Also open source is in our DNA, so you will also get the chance to contribute to any one of our OSS projects.
If you are interested in learning more about Grafana, check out this guide to setting up Grafana and contributing.
Sometimes applying for jobs can be discouraging — it feels like you’re spending all your time working on sending out applications, and you never seem to hear anything back.
Here are some additional steps you can take to increase your chances of landing your first engineering role:
- Practice programming. There are tons of free courses available and also open source software projects where you can meet people with your skill set, discuss, and learn from others’ experiences.
- Get in touch with people. Speak to anyone you can and let them know you’re looking for a position. Ask them for advice, ask how their experience can help you grow professionally, or even ask what you can do for them.
- Go to career fairs. While career fairs are often thought of as free-for-alls, they can be a great opportunity to build a relationship. It’s your chance to stand out as someone who’s interested in more than just selling yourself as a great candidate.
It can be difficult, but don’t give up, keep going!
We’re hiring! To learn more about working at Grafana Labs, check out our careers page to read about our values, how we approach remote work, and some of the perks of being a Grafanista. You can also peruse our open positions to see if there’s an opening for you. And if you’re still in college or a bootcamp, check out our 2023 engineering intern program.