Struggling to hire Seniors? Open a Bootcamp for Junior dev!
Wait… what?

Eliran Levy
Melio’s R&D blog
Published in
6 min readAug 16, 2022

--

I’m sure you can relate to the following situation:

You go over dozens of resumes, trying to ״read the person״ through the page and imagine them joining an existing team. But when you finally find someone with the right experience, once you interview them you realize they aren’t a good fit for the team, and you must start over.

We can probably all agree that the key to successful recruitment includes culture fit, knowledge, mutual expectations, and terms of employment.

To avoid interviewing candidates that fit the level of professionalism but don’t fit the culture, we decided on a different approach. Our approach is unique and innovative, and you may find it useful for you too.

Join me on this adventure, and prepare to have fun!

How does a Bootcamp start off?

Most companies look for experienced developers for several reasons. Experienced developers get down to business faster and are usually more independent.

Inexperienced developers need closer supervision, at least at first. They consume a considerable amount of time in training and need to be accompanied by one of the team members.

The motivation

Our goal is to increase the number of developers and the velocity of development. Usually, companies recruit experienced developers to increase the shared knowledge, hence increasing the velocity of work.

But that’s not that simple.

The alternative

We found that while interviewing dozens of developers, we were ruling out great candidates who met our expectations but lacked basic experience — they were juniors.

Instead of ruling them out, we thought of a different approach: Hire and invest time in teaching them what they needed in-depth, we would achieve even more than what we have now.

So how do you train a large number of developers at once? You build a Bootcamp — a fairly common program that can be found in many companies nowadays.

Now, you’re probably asking yourself, why juniors and not more experienced developers? This is where our special Bootcamp comes in with its unique approach.

The appropriate candidate profile

The ideal candidate would be a person with a technological approach, self-learning skills, and the motivation to grow and advance.

They must also have a B.Sc. degree or technological course certification, and less than a year of web development experience.

Interviewing and hiring

You probably agree with the following dilemmas: What should you ask a junior developer? How do you assess their knowledge? What architectural questions should you ask them?

It is quite difficult to interview a junior developer, especially those without work experience, well, because they have no experience to talk about.

How did we interview and decide who is really suitable?
We started with personal interviews — a short in-person talk, to see if they fit our culture. Once they passed, we continued to the technical part.

We gave them a partially working React project, with tasks to complete: Fetch data from an API, use Local storage, and build a few components with some styling and logic.

We looked for independent learning skills, showing their ability to work on foreign code while paying attention to instructions. Those who succeeded, even if not optimally — were considered good candidates. The next steps were to interview them and talk about the work they accomplished.

A candidate who passed these steps was found suitable for our Bootcamp.

Bootcamp at Melio — Leading Principles

After quite a few iterations and brainstorming about the purpose and the goal we’re aiming for, we have built a unique program that is founded on the following leading principles:

Confidence

The most important guiding principle of our Bootcamp.

Most inexperienced developers are afraid to act and usually wait for approval, repeatedly asking the same thing even though they know the answer. Why? Because they lack confidence.

We want our junior developers to be confident in themselves. Confidence will help them understand and execute tasks independently, right from the beginning.

Diving into the details

Increasing confidence by identifying their insecurities, helping them understand the process and the outcome of their actions, and most important that it’s okay to make mistakes.

Equal starting point

We built a program to teach the main technologies we work with:
JS, Typescript, Node, React, and Cypress.

Our objective was to bring the whole group to the same level. This principle is what led us to recruit juniors and not more experienced developers, ensuring an even level during the program.

Incremental learning while practicing. A lot.

Have you ever hired a junior developer and given them an online course? You probably remember the moment they announced they’d finished and asked for tasks. In my opinion, their insecurity and desire to prove themselves usually build the urge to finish. Making you wonder how much they indeed understood and applied.

We decided to teach our junior developers a variety of technologies, and much more, by starting small and simple, leveling up incrementally.
particularly, ensuring they know when to use something and how it affects the full picture, something that junior developers are often less aware of.

Imparting work skills from day one

Every developer has a learning curve.
Junior developers come with little knowledge and experience, they need to learn about the business architecture, technologies and projects, the scope and responsibility of their team in the company’s product.
They have so much to learn at once, together with the day-to-day office work
that makes it difficult for them to adapt and progress, their learning curve progression is slower than others.

So, we decided to accustom the junior developers to the working habits in our company from day one of the program.
Focusing on the communication, and working methodologies, such as writing design documents, task breakdown, coding conventions, and design system. Dealing with changes in the requirements, deadlines and more!

Plan structure — separation

We created a detailed plan on weekly basis. The level of content increased each week, along with the exercises and their delivery time.

To have a reasonable learning curve in a natural incrementality, prevent loss of focus from the content learned each week, and avoid challenging the special program, we divided the program into two main parts:

Part one

Technological studies, imparting general work methodologies and soft skills unique to our company.

Part two

Introduction with the company’s product, increasing the intensity and complexity of the technologies and exercises.

Once we accomplished all of the above, the junior developers will go through a final assignment to graduate our Bootcamp.

Concerns

As with any new project, there are concerns, we do too.
At the end of each week, we will assess and change the content or the exercises to ensure we could continue on the same path following our leading principles.

✅ Challenge

✅ Detailed plan (as well as sub-plans…)

✅ 5 talented Junior developers

If anything was missing, now was the time to fix it.

What’s next?

  • We are working hard to prepare everything, starting with new swag for our program — titled Jumpstart.
  • We’ve reserved a large conference room and branded it accordingly.
  • We hired an external company to teach part of the technical content.
  • We built challenging and interesting incremental exercises that are independent and collaborative to prepare them well for their big day.

I am sure you want to know how things are progressing, by the time I wrote this post the program is actually running. I promise to update you soon!

Visit our career website

--

--