loading...

Unpopular opinion: Junior devs bring much more value to their employers than the market wants them to believe

twitter logo github logo ・1 min read

I'm currently in the process of writing something about how the market wants us - junior devs - to feel we're a burden to our employers, and how I realized how this is plain wrong (as in "not true", not as in "not moral").

After reviewing the work I had done during my first nine months as a developer, I realized that the value created by my work was paying my own salary by an order of magnitude. I replayed every interview I had and realized how common this fallacy is.

How do you feel about this? What is your experience with it?

Value created == growing_revenues OR cutting_costs

twitter logo DISCUSS (14)
markdown guide
 

I'll play devils advocate here, when I first started as a junior developer I was absolutely useless, university had by no means prepared me for the work I'd be doing on a day to day basis. I had to have my handheld through the most trivial of bugs and features, taking Dev time away from more senior programmers who could be doing 10x the work If I wasn't a constant hassle. And to make matters worse, there was two of me, two graduate students bumping our heads into things asking for help every 10 minutes or so.

 

Yes, sure, that's also a possibility.

Most of the time, junior devs come out of uni and have little experience. It might be a problem with how curriculums are laid out though (but that'll be for another rant I guess :D).

And to make matters worse, there was two of me, two graduate students bumping our heads into things asking for help every 10 minutes or so.

Yes, this can be challenging too.

This is a fair point you're making.

 

I don't know how much junior dev is paid in your place. I don't even know how much junior dev is paid in my place :)

But I do know that a single developer can bring a HUGE havoc in a team (doesn't have to be a junior dev though). So the lowest level is not "adding zero value", but removal of value.

In my personal opinion on average a junior dev who just joined the team is a net negative in value creation. Someone else in the team need to bring the new team member up to speed. I think you are an outlier because you have created value since the beginning.

Once acclimatized, a new team member can be a positive contributor, or can be a negative contributor too. The thing is, the employer didn't know this when the new employee and the employer agreed on the starting salary.

A non junior dev has reputation that helps convince employers.

 

But I do know that a single developer can bring a HUGE havoc in a team (doesn't have to be a junior dev though)

Love that distinction.

In my personal opinion on average a junior dev who just joined the team is a net negative in value creation. Someone else in the team needs to bring the new team member up to speed.

In my experience working in tech (as a non-dev and a dev), bringing people up to speed, no matter their tech level, takes time. Asking people to hit the ground running is just another fallacy we like to tell ourselves. So, anyone joining a team will be a net negative at the beginning.

I think you are an outlier.

This, I don't know because I can't quantify other people's work. But from my discussions with other junior devs, I'm not that sure about it anymore. I was, by no means, an exceptional student in my coding bootcamp. I was slightly above average.

The thing is, the employer didn't know this

That's true. As a former employer myself, I've been on this side and know that feeling.

A non-junior dev has a reputation that helps convince employers.

And this is exactly what my point is: maybe you're a junior dev with superb skills, maybe you're just average. Let the work you produce be the yardstick by which your value is assessed after a few months. But don't let a potentially unexact fallacy blights your prospects from the get-go.

What do you think about all this @endy_tj ?

 

And this is exactly what my point is: maybe you're a junior dev with superb skills, maybe you're just average. Let the work you produce be the yardstick by which your value is assessed after a few months. But don't let a potentially unexact fallacy blights your prospects from the get-go.

Yes, it is important to have an evaluation (or more than one) at specified date after the start of employment. In my current company there is an evaluation 6 months after employment, where a decision have to be made, continue or stop. And if it is decided to continue, whether there is salary adjustment.

And I agree with you, the assessor should not have bias against junior devs.

 

One other thing can be a problem: the adjustment after evaluation period does not match the performance/evidence. Maybe because of bias or something else.

In case the junior dev is highly performant but the adjustment is too minor, the employer is shooting themselves in the foot :) It is not easy to get a good dev, and if this one good dev doesn't feel appreciated, then this dev may leave to the competitor. This is not good for the survival of the employer's company. Do this often and the company will go bankrupt.

As for the junior dev, if getting disappointing adjustment, maybe the employer didn't see the amount of value generated? The junior dev need to improve communication skill or looking for better opportunity.

 

As long as you don't hold a "junior" in your job title which gives you lesser salary. I'm fine with it as your a developer, you find ways to create value through your understanding of technology by creating.

 

I feel that "junior" developers also help improve the code base. Because it becomes the best interest of the team to make the code more readable, less clever, and to document things. This helps everyone, not just the new dev.

 

Yes! I've noticed it too.

I spend more time documenting things and it even helps the people who wrote the code I'm documenting. Because sometimes, well, they just copied-pasted things from SO (as we do all). So having someone who goes into the nitty-gritty can help.

 

I think that's intentional. Companies want to pay you as little as possible and get the most value out of you as possible. One way to do that is to call it a 'junior' level job.

Also it's kind of a developers job to create an order of magnitude value for a company. That's why automation technology is so valuable. You build something once and then you can sell it infinite times.

 

Companies want to pay you as little as possible and get the most value out of you as possible.

Well, isn't it the basis of an employee-employer relationship most of the time?

I wanna work fewer hours for a lot of money. You want me to work more hours for less money. 😄

 

It's never a burden, the reason for that is simple economics.

You as an employee has to at least generate X value, your employer has to be able to extract X+2 value out of you for it to make it economically viable to hire you.

The first +1 is the cost covering margin they need to operate their business with. That business operation part should cover costs to do;

  • Business development, sales selling a project that you can get staffed on.
  • Operational overhead, such as office rental
  • Support staff, HR staff that is effectively a cost center.

The other +1, is to operate the business at profit when all costs are deducted from revenue.

 
Classic DEV Post from Jul 30 '19

When Stack Overflow Goes Offline...

Rémi Mercier profile image
Ruby on Rails developer - Maker of ✨ things on the Internet. O(🐌^n) kind of guy. Alumni @lewagonparis (batch 145). Builds wooden furniture on his balcony.