Main ---- Choice of direction ---- Why companies should not avoid Junior specialists

Why companies should not avoid Junior specialists

Junior’s perpetual job search problem is that most companies prefer to hire experienced developers – that is, people who do not need training to complete their tasks. In particular, even for startups, it makes no sense to hire someone at a lower rate if that person cannot handle the task at hand. It turns out the traditional picture:
No experience – no work, no work – no experience.
So what, Juniors are out of work?

Companies, remember:

If you do not want to hire junior professionals, then you do not deserve Seniors.

Here is a list of the reasons why companies usually refuse Junior Specialists:

  • We don’t have the time or resources to hire junior developers – we’re moving too fast;
  • We can afford senior developers, so there is no need to hire Juniors;
  • At this stage, we cannot afford to be wrong;
  • Our organization provides its employees with greater autonomy. We are not in the mood to provide constant support to the Juniors;
  • We want to implement our basic software product before hiring anyone inexperienced.

To summarize, it turns out that junior developers are the responsibility that the company takes on out of a sense of duty or because of a tight budget. In addition, companies have thoughts, “Why should we? Let other companies allow themselves to engage in corporate charity projects and low-quality work, but we definitely cannot. ”

In fact, how you hire and handle junior developers is a valuable proxy for the health of your organization, your product line, and your internal culture.

Below we have described several points in which we have analyzed why Juniors are a good solution for companies.

Demand for great developers

There is a strong demand for developers right now, which increases the cost of hiring any specialist with significant software development experience. Finding good professionals is difficult. Talented senior developers generally have a selection of high-paying proposals. Startups and small companies need to attract the talent they need in a highly competitive marketplace.

These factors make junior developers a more attractive option.

In fact, most companies do not even need the best engineers. If you are trying to build the best search engine or solve the world’s toughest data problems, you should probably only hire the top 1%. However, most companies simply need leaders to help their teams think through tough issues, and team members who are willing to work together to deliver creative solutions.

For most products, hiring top developers is like hiring a Picasso to paint your apartment.

If you are launching a product and are having recruiting issues, hiring a junior developer may make more sense – provided you train and prepare him/her to your company’s goals and requirements.

Each company has its own way of working, including standards to be followed. Getting an experienced developer to change their course of action – for example, to introduce new methods of code review – can be difficult.

You will need to plan how to effectively use any junior developers you hire from day one, and how to help them improve their skills. There are several ways to do this, depending on your team’s workflow. For example, every junior developer can team up with an older developer. Pair programming is a key part of the company’s workflow, going beyond training junior developers. This increases their productivity and reduces the number of errors detected.

A pair of one junior and one senior developer is usually equivalent to two senior developers and represents less than 75% of the total cost. If your goal is maximum productivity with minimum cost, this junior and senior pair should be the fundamental molecule of your organization.

Thereof it follows …

Saving

Senior developer is paid twice as much as Junior.

The cost is often justified. Senior developers are expected to be more productive than younger ones.

However, not all projects require years of experience to write code and even do it well. Each program includes “glue code” that links the various inputs and outputs in the usual way. It does not matter who writes it. For such work, you can pay someone $ 28 an hour or $ 59 an hour: the result will be about the same. If you only hire senior developers, you pay more for the entry-level job.

Code also varies considerably from application to application, and familiarity with it is a key performance factor. In most cases, a junior developer with six months of team experience will be more effective than a senior developer.

The aforementioned glue code and domain specific code make up at least half of all development work. This leaves some code that really does require senior developer experience. And even for this code, a junior developer can do an outstanding job if they have access to sufficient educational resources and the support of an experienced mentor.

In addition, there is a widespread tendency among Senior Developers to debate topics that end up being trivial, such as algorithms, microsecond optimization, and code style. If an organization only hires Senior and does not have a robust decision-making process, these discussions can take hundreds of working hours. Younger developers rarely encounter these kinds of problems.

Career growth

One of the most impressive things to hear during an interview is: “Hi, I’m a team leader, I’ve been working here for eight years and came to the company as an intern.” Few people can say that. Such a specialist is very valuable for the company: he knows the entire product line, he saw the code of each project within a radius of 100 meters and worked together with everyone in the organization. These people can innovate in their company in a way that very few people can. Moreover, the company is receiving invaluable dividends from this man’s work because he figured out how to maintain interest for eight years – about one-tenth of their lifespan. This is a sign of the success of the company’s culture. He celebrates a workplace where morale is high, good work is recognized, and interesting projects await around every corner.

On the other hand, saying “we don’t hire Juniors” is an open admission that your company is not ready to participate in anyone’s career. In essence, this advertises stagnation: the company expects experienced and talented developers to join the company and contribute unlimited contributions, while receiving only a salary for their efforts. Some may want to do this, but you will never see their best work.

Building great software

Younger developers have several unique traits that their more experienced counterparts tend to have lost. One of them is blind optimism. Another is the willingness to follow. However, perhaps the most valuable feature of the Juniors is their lack of experience.

Senior developers saw technology come and go, projects fail, teams dissolve into squabbles, and all the other trappings of the tech sector. They form strong opinions and often over-generalize, believing that what worked (or didn’t) for one team or one project should be equally effective for another. This can manifest itself as a reluctance to learn the nuances of a new problem space.

Sometimes the job of the project manager is to say, “I know it didn’t work, but maybe it will work here.” A junior developer is usually the best person to test this theory – he can create a proof of concept or prototype without introducing any of the biases that senior developers have accumulated over the years. Junior often takes on this kind of work, trying out new tools and technologies, rearranging things in different ways, proving ideas that everyone else appreciated too quickly. So they often find better ways to build, and as a result, the company’s software has gotten better. For example, when page load times improved by an order of magnitude, multiple pages were merged into one, saving weeks in future maintenance, or the company was able to eliminate insufficient technology that could lead to wasted time. The benefits of a clean slate and a fresh look cannot be ignored.

Many companies will manage to get a bunch of senior developers in one room and give them the opportunity to come to a consensus on how to solve problems and create things. But adding a few junior developers to this lineup, whose time you can afford to spend on one-off experiments and wild ideas, will bring unexpected improvements to your products.

Responsibility to junior developer

When you hire a junior developer, you have to invest resources in training it. Hiring someone with minimal experience and securing them in a tech support position or some other position where they cannot study is contrary to the very concept of hiring a junior developer. Some of the best companies invest in their employees, sending them to developer bootcamps, conferences, and giving them time to collaborate on personal projects.

If you and your company are unable to teach a new developer, let alone train them in the skills needed to raise the level of hiring a junior developer, better not invest your resources. In this case, it makes sense to pay for a more experienced programmer. But if you are ready to work with Juniors, you have the opportunity to train exactly those programmers with whom you want to work – and for less money. This is a huge win for your company. A positive approach to junior developers is an important sign of a quality workplace for developers of all levels.

Companies, remember:

If you do not want to hire junior professionals, then you do not deserve Seniors.

Here is a list of the reasons why companies usually refuse Junior Specialists:

  • We don’t have the time or resources to hire junior developers – we’re moving too fast;
  • We can afford senior developers, so there is no need to hire Juniors;
  • At this stage, we cannot afford to be wrong;
  • Our organization provides its employees with greater autonomy. We are not in the mood to provide constant support to the Juniors;
  • We want to implement our basic software product before hiring anyone inexperienced.

To summarize, it turns out that junior developers are the responsibility that the company takes on out of a sense of duty or because of a tight budget. In addition, companies have thoughts, “Why should we? Let other companies allow themselves to engage in corporate charity projects and low-quality work, but we definitely cannot. ”

In fact, how you hire and handle junior developers is a valuable proxy for the health of your organization, your product line, and your internal culture.

Below we have described several points in which we have analyzed why Juniors are a good solution for companies.

Demand for great developers

There is a strong demand for developers right now, which increases the cost of hiring any specialist with significant software development experience. Finding good professionals is difficult. Talented senior developers generally have a selection of high-paying proposals. Startups and small companies need to attract the talent they need in a highly competitive marketplace.

These factors make junior developers a more attractive option.

In fact, most companies do not even need the best engineers. If you are trying to build the best search engine or solve the world’s toughest data problems, you should probably only hire the top 1%. However, most companies simply need leaders to help their teams think through tough issues, and team members who are willing to work together to deliver creative solutions.

For most products, hiring top developers is like hiring a Picasso to paint your apartment.

If you are launching a product and are having recruiting issues, hiring a junior developer may make more sense – provided you train and prepare him/her to your company’s goals and requirements.

Each company has its own way of working, including standards to be followed. Getting an experienced developer to change their course of action – for example, to introduce new methods of code review – can be difficult.

You will need to plan how to effectively use any junior developers you hire from day one, and how to help them improve their skills. There are several ways to do this, depending on your team’s workflow. For example, every junior developer can team up with an older developer. Pair programming is a key part of the company’s workflow, going beyond training junior developers. This increases their productivity and reduces the number of errors detected.

A pair of one junior and one senior developer is usually equivalent to two senior developers and represents less than 75% of the total cost. If your goal is maximum productivity with minimum cost, this junior and senior pair should be the fundamental molecule of your organization.

Thereof it follows …

Saving

Senior developer is paid twice as much as Junior.

The cost is often justified. Senior developers are expected to be more productive than younger ones.

However, not all projects require years of experience to write code and even do it well. Each program includes “glue code” that links the various inputs and outputs in the usual way. It does not matter who writes it. For such work, you can pay someone $ 28 an hour or $ 59 an hour: the result will be about the same. If you only hire senior developers, you pay more for the entry-level job.

Code also varies considerably from application to application, and familiarity with it is a key performance factor. In most cases, a junior developer with six months of team experience will be more effective than a senior developer.

The aforementioned glue code and domain specific code make up at least half of all development work. This leaves some code that really does require senior developer experience. And even for this code, a junior developer can do an outstanding job if they have access to sufficient educational resources and the support of an experienced mentor.

In addition, there is a widespread tendency among Senior Developers to debate topics that end up being trivial, such as algorithms, microsecond optimization, and code style. If an organization only hires Senior and does not have a robust decision-making process, these discussions can take hundreds of working hours. Younger developers rarely encounter these kinds of problems.

Career growth

One of the most impressive things to hear during an interview is: “Hi, I’m a team leader, I’ve been working here for eight years and came to the company as an intern.” Few people can say that. Such a specialist is very valuable for the company: he knows the entire product line, he saw the code of each project within a radius of 100 meters and worked together with everyone in the organization. These people can innovate in their company in a way that very few people can. Moreover, the company is receiving invaluable dividends from this man’s work because he figured out how to maintain interest for eight years – about one-tenth of their lifespan. This is a sign of the success of the company’s culture. He celebrates a workplace where morale is high, good work is recognized, and interesting projects await around every corner.

On the other hand, saying “we don’t hire Juniors” is an open admission that your company is not ready to participate in anyone’s career. In essence, this advertises stagnation: the company expects experienced and talented developers to join the company and contribute unlimited contributions, while receiving only a salary for their efforts. Some may want to do this, but you will never see their best work.

Building great software

Younger developers have several unique traits that their more experienced counterparts tend to have lost. One of them is blind optimism. Another is the willingness to follow. However, perhaps the most valuable feature of the Juniors is their lack of experience.

Senior developers saw technology come and go, projects fail, teams dissolve into squabbles, and all the other trappings of the tech sector. They form strong opinions and often over-generalize, believing that what worked (or didn’t) for one team or one project should be equally effective for another. This can manifest itself as a reluctance to learn the nuances of a new problem space.

Sometimes the job of the project manager is to say, “I know it didn’t work, but maybe it will work here.” A junior developer is usually the best person to test this theory – he can create a proof of concept or prototype without introducing any of the biases that senior developers have accumulated over the years. Junior often takes on this kind of work, trying out new tools and technologies, rearranging things in different ways, proving ideas that everyone else appreciated too quickly. So they often find better ways to build, and as a result, the company’s software has gotten better. For example, when page load times improved by an order of magnitude, multiple pages were merged into one, saving weeks in future maintenance, or the company was able to eliminate insufficient technology that could lead to wasted time. The benefits of a clean slate and a fresh look cannot be ignored.

Many companies will manage to get a bunch of senior developers in one room and give them the opportunity to come to a consensus on how to solve problems and create things. But adding a few junior developers to this lineup, whose time you can afford to spend on one-off experiments and wild ideas, will bring unexpected improvements to your products.

Responsibility to junior developer

When you hire a junior developer, you have to invest resources in training it. Hiring someone with minimal experience and securing them in a tech support position or some other position where they cannot study is contrary to the very concept of hiring a junior developer. Some of the best companies invest in their employees, sending them to developer bootcamps, conferences, and giving them time to collaborate on personal projects.

If you and your company are unable to teach a new developer, let alone train them in the skills needed to raise the level of hiring a junior developer, better not invest your resources. In this case, it makes sense to pay for a more experienced programmer. But if you are ready to work with Juniors, you have the opportunity to train exactly those programmers with whom you want to work – and for less money. This is a huge win for your company. A positive approach to junior developers is an important sign of a quality workplace for developers of all levels.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

See also
employer
Virtual exercises for team building, or how to establish connections when you work remotely

Remote teams have much fewer opportunities to communicate. This can lead to feelings of isolation, alienation from colleagues, even conflict in the team and reduced productivity.
Virtual teambuilding exercises can help teams that work remotely overcome these difficulties and evoke a sense of community and understanding.
In this article, we will look at why virtual teambuilding exercises are important, how they can benefit your team, and look at five teambuilding exercises you can try with your team.

April 13th, 2021
0 views
employer
My story of product creation

Relatively recently, I got a new hobby – I started doing a pet product. I’m not sure that everyone will want to immerse themselves in this matter, but I was so fascinated that I dedicate almost all my free time to my own pet project.
At once I want to tell that the purpose of article – not a sale of my services or ready development. I won’t even describe the code review tool in detail. I just want to tell you how and what I did, what I achieved as a result. I am sure that there will definitely be readers who will find my experience not only interesting but also useful.

April 12th, 2021
0 views
employer
Development of computer games

Most connoisseurs of rock music, at some point in their lives, pick up a guitar or sit down at a drum kit. Football fans dream of going out on the pitch and play. Those who love to drive in GTA, have achieved success in popular strategies or can play Counter-Strike for hours, as if at least once thought about the profession of a game developer.

April 12th, 2021
0 views
go to IT
What does a tester need to know?

The concept of testing implies a fully formed specialty in the IT industry, where there are relatively minimal requirements for the start, compared to other areas of development. Tester – an employee who checks digital products for operability, as well as finding bugs and improving quality.

March 19th, 2021
7 views