DEV Community

The Tech Industry is Failing Junior Devs

BekahHW on July 20, 2020

We talk a lot about how there aren’t opportunities for junior devs, about how we lure people into tech with promises of tons of jobs and good pay a...
Collapse
 
brandinchiu profile image
Brandin Chiu

In my opinion, teaching and mentoring is a vital component of becoming a "senior" or "lead" developer.

If I need to trust my senior developers to be able to prove to me that an idea or technology is worth pursuing, then I need them to be able to explain it to a junior or newer developer.

If they can't, then they're not ready.

Mentorship is a huge part of what I expect from my senior and intermediate devs, and I've seen amazing results since adopting the philosophy.

Collapse
 
bekahhw profile image
BekahHW

Yessss!

Collapse
 
heyjtk profile image
JTK

I'm more senior at this point, but its kind of galling to hear juniors described as a "net negative" by whoever the person is referenced in this post. Outside of a training phase, juniors are contributing work deliverables within their first 90 days, or at least the juniors I've been aware of have (including myself back in the day). Its kind of mindblowing to hear them discounted so heavily.

I also always feel like there should be some kind of cosmic law that the only people allowed to complain about how hard it is to find Senior Developers are places actually DOING the work of developing juniors. For the places who aren't, I always feel like "cry me a river" when I hear them complain about hiring lol.

Collapse
 
kspeakman profile image
Kasey Speakman

... I always feel like "cry me a river" when I hear them complain about hiring lol.

The couple of times we have hired devs, the position required no prior experience. Both times, we received so many resumes we had to take the listing down after only a few days. And my work is in a nearby town of only 55k people. So yeah...

Collapse
 
bekahhw profile image
BekahHW

Network as much as you can through bootcamp. I got my job through Twitter and it's been maybe the best job I've ever had.

Collapse
 
nickytonline profile image
Nick Taylor

All the above. Great write up Beka!

Collapse
 
luisjoselopezd profile image
Luis José López Delgado

What a great article.

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

As a company who mainly hires devs with no prior experience and trains them, I will say there is another factor. And that is that companies often paint themselves into a corner with their tech. Then they feel like they must hire a seasoned person to tame or even make sense of it. Accidental complexity. Hiring experienced devs is a quick fix to keep things from grinding to a halt. They can avoid stopping the feature train to pay technical debt which has accumulated to eye-watering levels.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

THIS. I gave a talk about avoiding and eliminating unnecessary complexity (at a con dedicated to a very specific stack, in which I said "and you might not even need this stack at all").

I've made it a point in recent years to architect with as much simplicity as possible for not only managing costs and minimizing infrastructure, but also so that I can plug in any junior dev and very rapidly bring them up to speed.

Collapse
 
bekahhw profile image
BekahHW

I'd love to talk more about this. What kind of mentorship structure do you have? If you continually have to hire a seasoned person, are the jrs who level up not staying on?

Collapse
 
kspeakman profile image
Kasey Speakman

For the painted into a corner scenario, I wasn't talking about my current work situation. Although I have previously tended to get hired as an experienced dev to plug into those scenarios. So I can't really answer your second question.

For mentorship structure, we are pretty small so it is mostly informal unfortunately. We have some resources and exercises that we tend to give the new hire. HTML and CSS first since we mainly do web. Then we teach them basic functional programming. It depends on the person, but it tends to be a few weeks of learning at their own pace before they get started working on a new UI app -- a real product that we are beginning. It starts as an empty app so they get to grow with it. The UI is convenient place to start because we use MVU, and it tends to reinforce the simple functional programming that we do. And it is easy to correct those inevitable early mistakes. It also has a quick and visual feedback loop, important for learners. When they decide they are ready, we introduce them to back-end stuff. Eventually they will implement features end-to-end. We've done this for a couple of products now, so we have also iterated on organization strategies for front and back that makes it easier to plug into.

Our initial reason for hiring devs with no experience is budgetary since we are a not-for-profit organization. However, even if that changes I intend to continue in this strategy because it has been quite rewarding. And because bringing in new people is a great way to test / improve the resilience of your development process / tools / paradigms.

Thread Thread
 
aminmansuri profile image
hidden_dude • Edited

Our company sees itself as an ever learning organization where people need to grow.

We give courses in high schools, then give scholarships in the University (we're not in the US so it's no so expensive), then we recruit university students and graduates and train them for several months (free).

After all that process we hire the best.

We've found that "growing" our own human resources has been very effective. We also hire people with experience elsewhere so that we get some cross-pollination, but incorporating training in your corporate mindset makes for an ever improving organization.

We also have very very low attrition.

Thread Thread
 
stereoplegic profile image
Mike Bybee • Edited

@aminmansuri This is taking what I advise my clients ("Don't waste your time chasing unicorns; invest in creating your own") to a whole other level. Great job.

Collapse
 
shelbyspees profile image
shelby spees (she/her)

This is 100% the case with most companies that hyperfocus of hiring senior talent. And the complexity isn't always accidental either. Lots of resume-driven-development out there 🙄

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

RDD is definitely what keeps the Houston talent pool mired in .NET and Angular (in far too many cases STILL stuck on AngularJS 1.5, because migration is such a beast), particularly because it's dominated by two industries that leverage them heavily (O&G and medical).

Houston is also extremely cheap when it comes to tech salaries, which is one of many reasons I opted for remote a decade ago and seldom can help but laugh when someone approaches me for an onsite in Houston outside of those stacks (especially how little they're willing to pay one of the few people in Houston with 10+ years of Drupal, even if I rarely use it anymore).

Collapse
 
anesabml profile image
Anes Abismail

Thank you so much for talking about this.

Collapse
 
bekahhw profile image
BekahHW

You're welcome! I'm looking forward to writing another post on ways to mentor jr. devs.

Collapse
 
akdeberg profile image
Anik Khan

That would be cool.............We need More discussion on this. @bekahhw

Collapse
 
ecyrbe profile image
ecyrbe

I think you might be mistaken.
It's actually not so much about juniors. It's about bootcamp juniors.

I lot of bootcamp juniors can't compare to a junior that is coming out of a master or even a license in IT.

That is because a lot of IT concepts can't be teached in a bootcamp. And even then, there's not enough time to digest it all.

So yes, a junior getting out of a bootcamp will be on competition with master graduates, and for almost the same salary no one can blame recruiters to take the one that will require less mentoring.

This is not to say that some junior bootcamp graduates can't effectively be really skilled, and some master graduates can't be really unskilled.

Collapse
 
bekahhw profile image
BekahHW

Look, I've taught in higher ed in the English Dept., and I can say for sure that I knew more about coding after 6 months in a bootcamp than most of my students did after 3.5yrs of a comp sci degree. Yes, they were probably better at algorithms, but I'm not using that skill in day to day work.

Go search for junior dev jobs. They are not there. Not nearly at the same rate as mid to upper level devs. So it isn't about bootcamp or CS degrees. It's about no one wanting to hire jrs.

Collapse
 
ecyrbe profile image
ecyrbe • Edited

Bekha,

I have 20 years of experience in this industry. Give me the benefit of the doubt for a moment please. Suspend your skepticism and try to see the Big picture.

I know for sure there's a difference between the average junior licensee and the average bootcamper. And to make things clear, I'm not talking about you bekha. You might be the exception, i juste can't know and i will never juge your abilities here on a blogpost.

The fact is, a university diploma will get you a job in about 3 month in IT and about a year for bootcamp profiles that did not gave up searching.

I Hope that this reallity is told in bootcamps before the students start the training and paying for it.

Juste to give you an insight. I work with about 25 developpers, and 8 of them where hired as fresh juniors at one time here. One is a bootcamper.

That's 3 years the bootcamper is working in this team. I mentor him. He's still trying to catchup, and as much as i like him, because he has some other skills, i see the difference in his ability to be autonomous and to abstract things. He still needs a lot of my attention. In comparison the master Junior we just hired is already helping him understand things and i don't need to mentor him has much.

Is it worth for a recruiters to hire juniors. Yes. You Can make him learn and understand your business
and processes better than someone with prior experience.
But like you said, it takes time and dedication to mentor a junior. So in practice, i can only mentor one at a time.

In All my time in software industry, i always worked at places where we mentored juniors. I don't see why it would have suddently changed. And around me, my friends in IT have the same experience with bootcamp profiles that we shared.

Thread Thread
 
bairrada97 profile image
bairrada97

Agree with this, but for me the point of having a diploma is only useful to get first job, as you said Its much easier to get a job in 3 months with a university diploma.
As an example I dont have a university diploma, I did a bootcamp, but in order to be able to get offers after my first internship I had to do a lot of side projects, and now after 2years I get a job outside of my country. Every interview that I had never asked for what I studied. What matters after your first job Its what you do during your career

Collapse
 
lkatkus profile image
Laimonas K • Edited

University is not only about general knowledge. It's much easier to judge persons commitment to the profession, when they spend 4+ years in the university, rather that 3-6 months in bootcamp.

All this hype with bootcamps (mostly fueled by their own commercials) brings a lot of people to IT with unreal expectations about the possibilities and the actual profession. Also there is the question of motivation - for most it's money and it will only get you so far.

For now IT is an easy choice. It's a good choice, but some people would much happier and successful somewhere else. This is coming from my personal experience - bootcamper, career-changer.

Thread Thread
 
bekahhw profile image
BekahHW

I think you're making a lot of assumptions. My experience both as an instructor in higher ed and as a bootcamp grad, and as a person who is involved in a lot of communities of people with a variety of backgrounds has given me a very different understanding. I don't necessarily think that happiness in a job is a good indicator either. Some people want stability or money. I like the problem solving aspect and it does make me happy. But not everyone is seeking happiness through work.

Collapse
 
theaccordance profile image
Joe Mainwaring

Perhaps @ecyrbe, your difference in perspective is a regional observation. Here in America, it's the reverse. Often times, the college graduates are the ones ill-prepared for the roles we have open, and it's the bootcamp graduates who are able to more-quickly get up to speed with our junior responsibilities.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

I have 20 years of experience as well, and my experience (personally and in hiring others) has been that those 4 years and tens of $1000s committed were all but a complete waste. As a rule, I've seen boot camp grads perform better out of the gate and in the long run than grads from some of the best CS programs in the nation.

Who fares even better? The self-taught, whether or not they spent a even day in university or boot camp.

Formal education (and certification, a complete racket in tech) is so irrelevant to what makes a good dev that I replaced my education and certs sections with this to push back against the obsession:

Education and certifications

Collapse
 
torianne02 profile image
Tori Crawford

Crowd applauding

Bekah, this is absolutely amazing. Thank you for writing this.

Collapse
 
mxldevs profile image
MxL Devs

I think it's tough for a lot of companies. Unless they're in a position where they don't need to worry too much about getting a new hire up to speed, they're going to prefer someone that already has experience figuring out a completely new codebase, following standards, etc.

Plus with so much competition out there where experienced devs might be willing to take a paycut just to afford rent or put food on the table, deck is stacked against juniors.

Collapse
 
bekahhw profile image
BekahHW

It is definitely tough. However, there are a lot of jobs out there. I'm actually surprised to hear you say experienced devs are taking paycuts. Is this a COVID thing? My husband is a senior dev and has never had trouble finding work. And he went from new dev to senior in under 5 yrs.

Collapse
 
stereoplegic profile image
Mike Bybee

The worst example I saw was a contract gig with Apple. Recruiters hit me up for months because it required not only senior level Drupal architecture experience (with Drupal 9, which was just released last month), but senior level technical writing chops. After lockdowns, they expect the contractor to relocate to the Bay Area. And they're only willing to pay at least $40k less than EITHER a Drupal architect OR a senior technical writer (let alone both) could net, in a market that doesn't have an insanely high cost of living, in a salaried full time position rather than a contract that could be yanked at any time (which you would expect to pay even more because of the lack of security).

Each time I wasted my time hearing them out, I laughed at them for the rate.

Collapse
 
mxldevs profile image
MxL Devs • Edited

Friend took a paycut at a new place after getting let go cause previous company got hit hard. Probably not the norm though.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

I'd prefer a junior dev I can mold than a senior dev who's likely to jump ship when a better offer comes along, who's likely to be disgruntled about the pay cut at the very least.

But that's me. A lot of people don't factor in that you get what you pay for.

Also, the amount of handholding you need to do says a lot about your architectural decisions. Whenever I hear about something in a stack that sounds like it adds a lot of complexity, I immediately question it.

Collapse
 
lethargilistic profile image
Michael MacTaggert • Edited

The premise that junior developers are a cost center for the company is bad, tbh.

Every developer needs onboarding time. Every developer asks for help and has communication needs. It is not the case that senior developers clam up and cost the team less in some abstract way. Or else, it should not be. That's a bit of a red flag, to say the least. Not to mention that, as you allude to, a bad senior developer can do things that make the workplace less welcoming to juniors. That's a massive material cost exacted against the company's (and the industry's) future. The only reason that cost is invisible is that the person actively causing harm holds a position of more power than a junior, which is often allowed to shield them.

Like, to be real, the only reason we talk about junior developers this way is to condition them to accept workplace abuse (of whatever kind). If they think they are "lucky" or "fortunate" to have a job, or that the company is doing them a "favor," then they'll be less likely to advocate for better working conditions.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

Love this. I may be the crotchety old fart who's been doing this for a while, but I definitely still recall a great deal of the pain you touch on.

There has been a disturbing trend in the industry the last several years to post "junior" roles requiring absurd amounts of experience (often in ridiculously specific or even obscure tech), wherein "junior" really only means "we're too cheap to pay for what we're demanding." Which ultimately comes out in the wash, because you get what you pay for.

And then there are those obsessing over finding the "10x" "unicorn" developer. Which often amounts to months or longer wasted on a fruitless candidate search, or a bad cultural fit if you find them.

I often tell my clients not to waste their time and money seeking unicorns, but rather to invest in creating their own. Many times I prefer junior devs, because they're hungry to learn and open to ideas rather than set in their ways, I don't have to spend time getting them to unlearn bad habits, and I can mold them into the sort of devs who not only benefit me, but themselves by getting an early education on keeping the big picture in sight rather than just banging out tasks.

Collapse
 
crimsonmed profile image
Médéric Burlet

I think an issue that I noticed after month of interviewing junior and interns is that all those people coming out of bootcamps sure have a better knowledge in javascript than an intern but their is an extroardinary lack of knowledge in terms of general knowledge. How to use command line, how a dns request works, how a web request works and more.

Thus for the company it is sometimes more profitable to recruit interns that in the end will adapt better to the larger scope of work and be cheaper in terms of cost for the company.

I do agree on the part that not enough junior build a portfolio. I see so many people who have been "looking for a job for a year" but didn't create one repo or project in that year. It gives me the simple impression the person doesn't enjoy IT.

Collapse
 
stereoplegic profile image
Mike Bybee • Edited

Along with @bekahhw 's great advice, try to document your learning journey here or elsewhere. It's good for hiring managers to see the personal development and communication skills.

I also see a lot of recommendations to wipe out your smaller boot camp repos on GitHub. DO NOT DO THAT. You'll be wiping out all those green dots on your contribution graph, unless those repos were cloned from and got merged back into others. If you need better organization, pin the more significant repos and archive the ones less important.

Collapse
 
cmalecki profile image
Chris Malecki • Edited

I would be curious to know opinions about the purely self-taught developer seeking a junior role.

The discussion mostly appears to be framed around the university graduate vs. the bootcamp graduate, but there are also those who come from the rigorous path of "self-taught." (Self-taught in quotes due to points made below around community)

About 10 months ago now, I first began learning web development through resources like Udemy, YouTube, independent courses and content, as well as Googling and reading lots of docs. I feel the biggest struggle I've faced is finding and maintaining a steady direction (creating my own curriculum equivalent) of which I have been given the most insight and feedback from an online community of devs I am very active in. This has been absolutely indispensable for my growth.

From this perspective, I find that the community is the biggest shared and defining factor, whether it be college, bootcamp, or completely self-starting - there is a need for access and engagement with other developers who are able to provide feedback and mentor-ship, whether on an individual basis or as a collective.

These are the things I see as the differences from my path and both those of college and bootcamp graduates:

  • I have to constantly seek growth, knowledge, and feedback from peers of my own volition because I am not provided access to the environment and resources through an institution or independent program. I feel as though it is a real skill in its own right. I'm sure there are folks some of you work with who you wish would ask for or receive criticism better or didn't have to be pushed to take initiative.

  • I cannot provide a reference that implicates what should be expected of me based on the timeline of that reference . A university graduate has blatantly had more time and exposure in order to receive a 4 year degree, with a trajectory that assumes they have certain knowledge and skills at the end. A bootcamp graduate, although I get the impression most span from 4 weeks to 3 months, also has some implication of what they should know by graduation.

I am confident I am just as competent as any bootcamp or college grad, but likely a little "rougher around the edges" or less "specialized" due to having to create my own focus and exploratory trajectory. More importantly, I believe I have developed the kinds of soft skills that only come from experience - self discipline, seeking and receiving constructive feedback, learning how to communicate issues/concerns effectively, taking initiative.

With my wall of text having been said :] I would love to hear what others think about someone coming from this position.
edit - minor grammatical fixes

Collapse
 
bekahhw profile image
BekahHW

It's harder to talk about self-taught, bc when they decide to start applying varies for everyone. Depending on how they were self-taught, they might be way ahead of a bootcamp grad or way behind. However, most of the self-taught devs I know have been really amazing and knowledgeable. They've been able to teach themselves bc of their drive. But for me, I think the categories fall more into traditional (CS) and non-traditional (anyone who applies based on their portfolio).

Collapse
 
cmalecki profile image
Chris Malecki

Interesting. I appreciate you taking the time to read my reply and respond :]

Collapse
 
kelvin9877 profile image
Kelvin Liang

Hi, Bekah,

Nice article, may I reference your article in mine?

I am a bootcamper or learn to code newbies, but I do have a lot of experience in IT and understand the basic concepts before a career change. I mostly agree with you on how the market behaves right now for junior dev, but I do think if we expand the "junior dev" definition a bit, the situation would be different.

Many "junior dev" come from different backgrounds with experiences in other industries ("career changer" I would call that), so they are not necessarily a deficit for a company. For example, if they already have many experiences in project management, negotiation, and leadership, for the jobs in the industry they are not necessary only need people who just can code, but in other aspects as well, right? like the content creator job you got here or technology advocate, documentation creator etc, they are perfectly fine with less experience on code, I guess.

Collapse
 
dev_tinker profile image
DevTinker

Interesting perspective and one that i can relate to in some fashion, over the last 3 years as a dev manager i have hired, trained and shepherded over a dozen Bootcamp juniors through to what many consider mid-level developer positions. I spend a lot of time finding the right candidates for our team and it is a difficult balance between finding qualified talent to fill the role and someone with the right attitude to make it through our level of workload. We are just a small team but we take the chances since the mid-level and senior developers are almost non-existent in our area due to so many competing companies. In all honesty i have to do more work to make sure those team members are supported through the early phases of this activity and keep in mind the expectation that those same junior devs may not stay for more than a few years before they want to seek new opportunities. I will say while it is not novel in our company to do this approach, it is one that we have been very fortunate to find really great developer potential and that is definitely paying dividends for us over time. One trait that i have found that all of the more successful ones express is the desire to continue learning regardless of the avenue, that desire is imperative.

Collapse
 
injectedfusion profile image
Gabriel Rodriguez

I love the discussion especially point #1. I firmly believe in selecting a project over a company.

Meaning that Developers should find a passion for certain technology products and be able to articulate and identify with its merits. I highly recommend for junior developers to explore their options and not just follow the mindset, I work in a specific technology stack because someone else said so and I do not know why.

Collapse
 
greedybrain profile image
Naya Willis

Bless you 🙌

Collapse
 
jwp profile image
John Peters

We defeat ourselves. Adversity makes us stronger.

Collapse
 
alvesjessica profile image
Jessica Alves

Really great article! 👏🏼 congrats!

Collapse
 
sukhchain9935 profile image
DoctorCop

It's more like Web Tech Industry than Tech Industry in general.

Collapse
 
dantefrank profile image
David Dante Frank

Thanks a lot for talking about this. I have felt this way for a long while