
Who Killed the Junior Developer? - gregorymichael
https://medium.com/@melissamcewen/who-killed-the-junior-developer-33e9da2dc58c
======
virgilp
> we don’t hire junior developers because we can’t afford to have our senior
> developers mentor them.

That feels too dumb to be real (which is exactly why it's probably a real
thing).

You don't hire senior devs to code - good junior devs can code not only "just
as fast", but probably faster too! You hire senior devs to guide you WHAT and
HOW to code. And they can do that so much more effectively if they don't have
to actually code all that stuff themselves! "Mentoring" is basically _the_ job
you hire a senior dev to do... how can people say with a straight face that
they can't afford to let them do it?

I don't view this as "tragedy of the commons" as other people here suggest. I
view this as plain human stupidity (which we're all guilty of, sometimes...
it's just good to realize when you're being stupid before it seriously hurts
you).

~~~
zemanel
In my current job, for a tech company with less than 12 people, at least 5 are
interns. Two of them were recent hires (January) and before they were
onboarded, i had a meeting with my boss and the other senior developer
regarding the new interns and my boss stated he didn’t want me and other
senior dev spending too much time mentoring the interns and that if they
couldn’t manage by themselves, he would just let them go (one is software dev
intern, relocated from Lithuania).

As far as i know, management provided zero training (online courses,
conferences, books etc) and the dev intern is receiving 500€/month for 40h
work week, which around Amsterdam/Netherlands hardly covers housing expenses
in shared accommodation, even though the intern is soon expecting Erasmus
support, which will alleviate his situation apparently.

Needless to say i find the situation rather vile independently if it’s a
common practice or even if non-paid internships are common.

Recently i took the dev intern out for dinner and beers, gave him a few tips
on how to improve himself to be ready for a decent job (online courses,
writing blog posts etc) and told him he could repay me by paying forward to an
intern at his next proper jobs.

As a note, another intern (part time) is also working on his maybe 5 years old
laptop that apparently crashes a lot and can hardly run something like
Pycharm.

I’m looking for another job :-)

~~~
dep_b
The Netherlands is a special place in Software Hell. Where the non-suits are
only a cost.

"Devs can't be cheap enough! We can't find decent devs!"

~~~
jacquesm
That's a silly generalization. I've got a pretty good overview of software
development in Western Europe and NL isn't a special place for better or worse
compared to the surrounding countries.

If you want to get paid a lot more and you have the right skills the City or
Silicon Valley are good options (assuming you are allowed to move there).

~~~
dep_b
Perhaps a bit over generalized but I do feel that there’s an unusual large gap
in salary between suits and devs even when comparing to countries like
Germany.

It doesn’t need to be a huge tech hub at all. Luckily English resembles Dutch
so most Dutch speak it well enough to survive a job abroad.

~~~
jacquesm
The city-to-city variations in Germany are far larger than the city-to-city
variations in NL because of the German history and the presence of Poland. So
when you are comparing countries you need to go a bit deeper than that.

I know very well paid developers in NL and very poorly paid ones, it is mostly
a matter of knowing what you are worth and refusing to charge less than that.
You might find 'your spot' taken by a skilled immigrant but that's a
relatively small chance.

I'd hate to have to find a developer job in Spain or Portugal judging by the
number of people from there that have moved to either NL or DE. Anything East
of the German-Polish border is going to pay a lot worse unless you are willing
to move to Finland where there are pockets of start-ups with reasonable
compensation.

Dutch developers moving abroad to increase their salary is not a trend as far
as I can see.

~~~
dep_b
Yet across the Polish border developers are relatively well paid versus the
suits and it's actually an attractive profession for people that are career
oriented. I always see more women working in IT where the job actually pays
well, including the US.

I know well paid developers as well, some niches pay pretty well. SAP for
example. Or simply people that have domain knowledge that's irreplaceable and
know how to negotiate. But something average like C#, RoR or Node development
doesn't really pay well in The Netherlands. It's a decent salary but nothing
to brag about.

~~~
badpun
> Yet across the Polish border developers are relatively well paid versus the
> suits and it's actually an attractive profession for people that are career
> oriented

My take on this: it's so easy for Polish developers to move to and find a job
in Western Europe, that local companies have to pay salary that provides at
least a roughly comparable living standard (vs the West)- as otherwise
talented people would just leave. For "suits", on the other hand, there's far
less opportunities abroad, so their wages don't need to track Western
standards so much.

This effect is even stronger in Ukraine, where a teacher will be paid $300
(per month) while a dev will make $3000.

------
vinceguidry
There were never any junior dev jobs. You have always had to lie, cheat, and
steal your way into the field. I have a buddy who legit cheated his way to the
top Magento certification and now cycles through $150k+ jobs where they keep
him on long enough to realize he doesn't have any coding skills then they fire
him.

Reason is software is always an ancillary concern to the business. You see
this in other fields, like say accounting, but the difference is that
accountants leave school fully capable of employment. HR understands how to
hire and manage accountants.

But programming is this black box in the corporate world that no one knows how
to understand, value, or hire for. This is why every company wants rockstars,
they're hoping that someone whose at least confident to present themselves as
a rockstar won't be a net negative to the company.

Eventually they'll figure it out, took them a decade to figure out how to
manage IT. Then companies will learn that they can't skimp on middle
management for software developers. Some companies will need to give software
a legit seat at the table and hire upper management. The political cover will
allow shops to stabilize and with stabilization, you'll finally start seeing
small and midsize organizations open up positions for juniors.

But it'll never happen so long as companies don't take software development
seriously by giving them political cover. If you are a software developer
nearing the middle or end of your career, you're pulling the ladder up behind
you if you don't seriously consider moving into management. It's too important
a job to ignore to go chase your dreams.

~~~
jmvoodoo
My "standard" team typically has two jr engineers, and two Sr engineers. When
we hire Sr engineers we hire people that like to mentor others and see it as
part of being Sr. Jr engineers know that in order to become Sr one of the
skills they need to master is mentoring.

This is 100% a management issue, and it starts at the hiring filter.

Hiring Jrs btw is its own skill as you are filtering for potential not skill
or knowledge. Identifying the person who is passionate about learning, has
dedication to the craft and pride in their work, and has a natural talent for
software is hard. Figure it out though and you have a competitive advantage
for life as a manager.

Also, half of the Jrs we hire are women. We could never do that if we only
hired experienced talent. Not enough women even apply for those roles.

~~~
binarycheese
Then you will need two senior devs. This is because rockstar devs rarely want
to mentor junior devs nor attend meetings. Most inventors are not professors.

~~~
dbingham
Then they aren't a rockstar. And frankly, I've spent my career cleaning up the
obfuscated, badly documented, untested code of "rockstar" devs.

The idea of a "rockstar" you seem to be referring to has, in my experience,
been a dev who can go into a corner and pump out high volumes of code with
little supervision or collaboration. That's great, except no one else can make
sense of the code they pump out, so when it comes time for the next guy to add
a feature to the rockstar's mess it takes 2 to 3 times as long as it should.

I've also had to clean up messes by rockstars who made unilateral decisions
about incorporating new technologies into a product. Like building out a
single part of the product in React with out asking anyone else. You see, the
rockstar didn't like meetings and didn't want to make the case to the rest of
the team for why we should all learn React and gradually switch over. Instead,
he just stuck it into the code. So now, you have a couple of views built as
React components, and the rest of the thing is in Backbone. No one else knows
React or has time to learn it, cause we're blazing ahead really fast. They
just get very confused when they have to change something in those components
and it takes them forever. But the rockstar got to have his fun and play with
new tech.

This conception of a "rockstar" isn't a great developer... it's a selfish,
cocky developer. When you hear "rockstar" dev, you shouldn't hear great
performer. You should think of Keith Moon trashing his hotel room and driving
his car into the hotel pool.

A great dev knows the value of documenting their code and writing testable
code. A great dev knows the value of taking the extra time to make code easily
understood and easily modified -- that sweet spot between spaghetti and over
engineering. A great dev loves to mentor junior devs, enjoys walking other
devs through their code, is happy to discuss design decisions with the team,
and willing to admit when maybe their idea isn't the best one.

A great dev doesn't think they are god's gift to code, they are humble enough
to understand they are one part of a team. They put the team first and work
hard to teach others what they know, while always remembering they don't know
everything.

~~~
mattjsmith
That's why I've always told people that I'm a "studio musician" developer. Not
a rock star, but a competent professional the studio calls when they need to
make a record.

~~~
bitwize
That's what I'd been saying for a while -- the best devs are session
musicians. They have enough all-around comoetence to deliver what is asked for
for that particular recording.

~~~
walshemj
Normaly session musicians are better than rock stars James Jameson (funk
brothers) was a better bassist than Paul McCartney, and Paul would admit that.

I have worked with a Musician with Phd in music who taught him self coding
after an accident broke all the bones in his feet (drink had been taken)

It was fun in the pub when some hit tracks came on he would say ah I think
that's one of mine :-)

------
nathanaldensr
I love mentoring. I always have. I used to help out other kids in my high
school programming classes. Despite holding several high-level software
development positions, what is the total number of times I've been asked by
management to mentor more junior folks?

Zero.

I did it because I love sharing knowledge and I like seeing looks of
understanding appear on my colleagues' faces when they "get something" for the
first time.

The short-termism that's infested our culture--it seems like _all_ Western
culture--is truly sickening. It feels like "Well, I got mine, screw the next
generation." This goes way beyond just junior developers.

~~~
godot
I feel like the current trend of agile development process common in startups
now somewhat works against senior devs' interests to mentor junior devs. There
simply isn't time allocated for this. Senior devs are held accountable for
what they deliver, and doing so on time. This is among other things like code
reviewing PRs and attending meetings. For most senior devs working under this
circumstance, the best they could do is answer questions of junior devs when
they ask them.

I was fortunate enough to be moved into a lead role at the current place after
a few months, and expectation of my amount of individual-contribution is set
lower than that of other IC members of the team. This has allowed me to spend
a little more time on mentoring junior devs. I can see that for other senior
devs, it simply isn't realistic to expect them to spend time on mentoring,
with the agile schedule. This is how I had felt myself before moving to the
team lead role.

~~~
pbourke
> I feel like the current trend of agile development process common in
> startups now somewhat works against senior devs' interests to mentor junior
> devs. There simply isn't time allocated for this.

If you're a senior dev, you should be gaming the system a bit to create the
time needed to fulfill your role. Never let the keeners fill your time up to
100%, unless it's truly neccessary. There's always going to be some
infrastructure that needs fixing, research that needs doing, refactoring that
should happen, etc. And you should always have some slack for mentoring and
whiteboard discussions.

I almost always start an agile sprint with a self-generated task or two
already in my queue for just this reason.

~~~
ritchiea
If the system has to be gamed to achieve the best results for your team then
the system is flawed.

~~~
rabidrat
The system is flawed.

~~~
Beltiras
Perpetually flawed. No matter how much resources you throw at fixing it.

~~~
ritchiea
There's a huge difference between "no system is perfect" and "the dominant
process for development work in our industry completely ignores work that
nurtures employees into being better employees."

~~~
pbourke
The goal of agile, as implemented in most shops, is to get things done quickly
and to establish a reporting cadence with management.

Nurturing employees, and indeed software quality, is the product of company
and team culture.

The development process is concrete (and “SMART”), so that’s what many
managers focus on. The cultural aspects are more nebulous, so they are
ignored.

------
mooreds
It is a tragedy of the commons scenario. Everyone wants senior devs, who were
at one point junior devs.

No one wants to train junior devs. The OP points out why:

* cheaper to have juniorish work done overseas

* juniorish work is automated away

* juniors on a team slow it down (compared to a team of all seniors)

So everyone competes for the senior talent.

A more sophisticated long term analysis might look at the benefits to senior
developers and the hiring pipeline of bringing junior folks in. Again, the OP:

* senior folks get the chance to mentor, exercising a different skillset

* senior folks learn more about the problem domain by having to explain it

I'd add:

* junior folks bring in new ideas/concepts

* some level of loyalty is inspired. If nothing else, a beneficial brand among other new grads.

* the company matures and has to think about career path and retention

* good junior developers can be more "bang for the buck" as they grow. they still need raises, but will be able to do more work per $ than a mid level person might (because of their familiarity with the tooling and the domain)

~~~
CydeWeys
A key point that you're missing is that junior devs are likely to jump ship at
least once in their career trajectory before they become senior devs. So yes,
junior devs do need to be trained by _someone_ , but if you're going to put in
a lot of work and not receive much of the benefit, it's not in your best
interest.

There's a variety of reasons for why devs jump ship so often (including
compensation), but unless you can tackle that problem first and solve it, it
doesn't make sense to jump head-first into expanded junior dev mentorship.

~~~
wlesieutre
Once they're trained up to a point where another company is willing to pay
them more for a more senior position, you could give them a raise? Congrats!
You trained a junior dev and they turned into a senior dev.

~~~
aerotwelve
This is the answer, but they just won't listen. Management at so many firms
have convinced themselves that developers leave because of all these magical
reasons that aren't either

1) they're dissatisfied with their pay and you're not listening

2) they're dissatisfied with their working conditions (bullpens or open
offices anyone?)

so they'll never keep their best people and they'll never learn.

~~~
Declanomous
That's because fixing 1 and 2 are really expensive. On top of that, the
further removed someone is from the work being done, the more they want people
to look "busy".

I got moved from a desk in in a dead end office with to a desk in a bullpen so
that I could be "closer to the people who I work with." My performance fell
off a cliff. People would stop by all the time to check up on things, there
was always a conversation going on. It was incredibly stressful and I slowly
burned out trying to maintain my level of productivity.

My boss (the director of the org.) started asking me why I was making mistakes
and forgetting deadlines. I told him that it was entirely because of my new
desk, and he said he would do what he could to help.

A couple of months go by, and we have another meeting. I say the same thing.

A few more months go by, we have another meeting. I say the same thing. He
said he asked people to keep their conversations quieter.

A few more months go by, and we have a meeting, and I tell my boss I'm leaving
because I'm burned out, and my desk is the #1 culprit. He and HR were like
"you should have let us know before it got to this point."

I don't think there was a chance for them to understand the issue, regardless
of how I articulated my concerns. To them, my new desk was an upgrade from the
old desk. It was bigger, had lots of drawers, was closer to the "desirable"
part of the building.

To me, it meant that everyone had to walk by my desk, and would use the time
to chat, and ask questions that would be better handled via email. It was nice
being closer to the team, but I had a way different workflow from everyone
else. My boss probably thought it was great that everyone could turn around
and ask me a question the second they thought of it, but it meant I was
getting interrupted 3-4 times an hour, when I used to be able to work for 3
hours straight without seeing anyone.

I've honestly been thinking of calling up my old boss and asking him if he
wants to grab a drink to see if he ever wrapped his head around why I left. To
this day I'm baffled by the entire situation.

TL;DR: "It is difficult to get a man to understand something, when his salary
depends upon his not understanding it!"

~~~
loorinm
How is it expensive to solve the bullpen issue? Tell people to STFU or build a
wall in the office, or at least put up some dividers. It’s not rocket science.

Most CEOs and VPs are idiots, handing money around to each other in a circle
jerk of old white guys club, backslapping each other for hiring each other and
keeping the hegemony going.

These idiots do not know what they are doing, they have just been conditioned
to ooze confidence and ignore critics.

~~~
loup-vaillant
I tried, and nearly got fired for this. Well, not _fired_ , but I'm currently
a contractor, and was told because of this that I may not become an actual
hire. (This has since settled down, but I'm still not hired because of
unrelated issues —they're still waiting for a government grant.)

The story is simple: we have a prefab building with 3 stories, a beautiful
interior, 52 desks on each floor. All open, but for 2 closed meeting rooms per
floor. And the toilet. The desks are arranged close to the window. The centre
of the floor holds a couple meeting spaces, and the coffee machine. It was,
unsurprisingly, very noisy.

I talked about the issue during a sprint's retrospective, and was told to lay
out my proposals to HR. I had plenty, most of which didn't involve actually
chopping up the "lovely" open space into actual desks. It was mostly about
putting dividing half walls and generally muffling the whole thing, while
mostly preserving that "open" look that is so dear to whoever doesn't actually
work there (funny how most people who condoned the open plan end up spending
most of their time in meetings).

I had indirect feedback later (through my team's product owner). Turned out
the head HR was surprised to see me raise the subject—I was the first to do
so. So she asked around. The feedback she got was mostly "well, yeah, it's an
open plan, but it's okay", which she translated by "there is no problem, it's
just a single contractor being difficult". I guess she was oblivious to the
biases introduced by her being in a position of power. That nobody will say to
her face that the noise is not okay, lest she thinks they can't fit in. (I no
longer have that fear, for better or worse.)

I have later learned that a "Life in the Open Plan" group formed because of
the noise issue.

~~~
dabockster
> I'm currently a contractor, and was told because of this that I may not
> become an actual hire

They are never going to hire you. The contract is, in a way, a more airtight
way of paying you under the table. Depending on the size of the business,
labeling everyone as 1099 can reduce taxes for the business quite a bit. Thing
is, though, is that it's illegal. But it's usually up to the worker to report
it, so it is extremely under-enforced.

Bottom line is that you're being abused. I encourage you to file Form SS-8 as
soon as possible with the IRS and check into your state's labor office to see
what they can do.

[https://www.irs.gov/forms-pubs/about-form-ss8](https://www.irs.gov/forms-
pubs/about-form-ss8)

Source: I left a contractor role in October after realizing that I was a
victim of misclassification.

~~~
loup-vaillant
First, I live in France. The practices you speak of are familiar, but
legislation may be different. Second, several contractors did got hired before
me. Third, the terms of the grant they seek compels them to have very few
contractors. They are expected to hire en masse if they get it.

Fourth, my contractor status is actually secondary to me. More important is
being allowed to work part time (4 days a week), which I'm currently
negotiating.

------
derrekl
The problem is squashed salaries. I’ll have junior devs or people straight out
of code school asking for 75-80% the salary of a solid senior dev. If I have
to make a bet on who will be easier to manage and get productive 4 seniors vs
5 juniors for the same total expenditure I’ll choose the seniors every time.
Even at 2 to 1 I’m taking seniors. Maybe around 3 or 4 to 1 juniors might look
better. But that means junior starting salaries around 50k which no one is
taking. Salary range is too squashed in the industy.

~~~
opportune
I've noticed this too. There are only a few rational explanations

1\. Senior devs aren't paid enough for the value they bring to the company (or
conversely, junior devs are paid too much for that value)

2\. Investing in junior devs gives a good enough ROI that it's worth
overpaying them for a few years. That is, after e.g. three years, enough
junior devs have stuck around that they've accumulated enough org-specific
knowledge and general tech competency to justify their initially high salaries

3\. Senior devs aren't actually that much more productive than junior devs,
they just think they are. They also may be averse to doing productive-but-
boring work that feels "beneath" them.

4\. New devs are valued for more than just their direct contributions to the
software project's code base. For example, they may be valued for their
ability to bring fresh perspectives, or for their proximity to formal
education and thus their tendency to be knowledgable of relatively cutting-
edge tech. I think universities lag behind the vanguard trendsetters by at
least 5 years, but there are certainly software companies that are stuck 20 or
more years in the past

5\. The job market for developers is irrational with respect to experience and
reasoning about it is as worthwhile as reasoning about the true value of
Bitcoin.

I think it's a mixture between 1 and 2, with a little bit of each other
explanation too. Worth noting is that senior developers at the big tech
companies (AmaGooFaceAppleSoft) get paid a lot more than senior devs at most
other tech companies, but most of that compensation is in stock. Full monetary
comp (not counting benefits and perks) for a fresh grad might be about
$150k/year, but senior developers with >5 years experience are making closer
to $250k/year or more

~~~
bbarn
I think #2 is just dead wrong. The easiest way to change your status - whether
that's income or losing your junior title - is to move jobs. I think the real
reason we see so few junior devs now is they just aren't good for the
companies paying them. Why invest in a junior developer when almost certainly
they will (and should!) leave your company to get more money and different
experiences.

~~~
downrightmike
reevaluate what they're being paid and promote them from junior to senior and
pay them.

------
CryoLogic
The growth of undergrand CS program enrollment is pretty insane, same with
bootcamps. Lots of these people have no real interest in the positions outside
of pay, which is fine for most careers. But in tech we put a lot of value on
self learning and interest.

I've definitely seen the number of new grad applicants and bootcamp grad
applicants at least quadruple in the past few years.

Most of these can make an Angular app or write an algorithm on a whiteboard
but know nothing outside of what was taught in the school/bootcamp.

I find these types really hard to work with, because software is evolving ever
so fast and requires such rapid uptake of knowledge that those who aren't self
motivated require a lot of reinforcement and have drastically reduced
productivity on the job.

~~~
maxxxxx
That's something I have noticed too. In the 90s most people I worked with were
genuinely interested in the work and often came from very eclectic
backgrounds. Almost nobody had a CS degree. Now it seems a lot of people go
into programming because it pays well and looks like a good career but they
don't really care for tech. I definitely found the industry more fun in the
90s but that may just be the fact it's becoming a mature industry.

~~~
emodendroket
I don't think someone necessarily has to live and breathe code to be good at
their job. That kind of focus is hard to maintain forever. When I was new I
was constantly reading programming books and now, like, I'm still interested,
but other things are going on in my life that also need my attention, you
know?

~~~
PeterisP
You can lead a horse to the water but you can't make him drink.

It's completely okay to "just" do your job professionally. However, skill
development, transfer of skills to junior developers and mentoring is a
different issue - if you want to learn from me, you have to _want_ to learn;
if you're just here for the paycheck, then I'm not going to go out of my way
to educate you even if (which is the case for many junior developers) you're
unable to actually do your tasks properly on your own without this help.

People with the desire and capacity to learn go over the "junior" phase very
quickly (over a short internship or already during college) and become able to
do decent work on their own; but those who don't and _really_ need an actual
prolonged "junior developer" role on the team... there's no incentive for the
employer to do that, and there's no incentive for the colleagues to spend
their effort if it seems wasted on someone who's not into it.

~~~
Clubber
This. Mentoring should just be pointing people in a direction and occasional
code review. Go do this (for a few days). Let's see what you did. This is
good, this should be that, name your variables better, etc.

If you let juniors figure it out the hard way, they will learn better, or they
will fail. If they fail to learn by themselves, they will never become
senior.*

*Shitty code bases should be given a lot of leeway on the learning curve.

~~~
murftown
> Mentoring should just be pointing people in a direction and occasional code
> review. Go do this (for a few days). Let's see what you did.

That's one (totally fine) way of mentoring, but it's by no means the only one.

A lot depends on the work environment and the relationship. I work with a
couple junior engineers that are also friends, and in addition to "pointing
people in a direction", code reviews, etc.:

* We frequently tackle harder issues together, pair-programming style (using a shared tmux session)

* In addition to code-reviewing their work, I have them code-review mine, and I walk them through my code and thought process

* Talks/meetings once a week or more about architecture/up-front design for projects, in which the junior devs are often included or free to attend

* We have a non-work-related Hackerspace that we attend every 2 weeks where we work on side projects / fun creative projects

Certainly this situation is not possible on many development teams, but I just
wanted to point out that mentoring is a wide-open thing that has many
approaches and options.

------
jarjoura
Most junior level positions are being filled with the massive influx of new
grads from really strong intern programs at most companies now. If you're in
college now, make sure you get an internship at a company in your field. If
it's too late for that, then you'll have to do a little extra work and
probably work on a couple side projects and post them on GitHub. That first
job will always be the hardest to get, so don't feel bad if you keep getting
turned down.

~~~
adjkant
This. If you're graduating without an internship or two, you're in trouble.

~~~
mac01021
Define "trouble". I'm ten years into my career now, but I graduated with no
internships and feel like I've done OK.

~~~
torbjorn
I think he is referring to people entering the field now. If they don't have
internships then it will be hard for them to compete with others vying for
Junior Dev positions that have done internships.

~~~
emidln
Anecdotally, I didn't factor in internships at all when I was last hiring for
a jr. I didn't interview a single person who didn't have a public code repo.

~~~
jronsomers
You don't consider real world work experience relevant when hiring? Just side
projects or contributions to open source projects?

That seems like you're looking for someone who lives and breathes programming.
Do you have something against developers who work 40 hours a week and instead
of programming as a hobby as well, they do other, non-tech, things for their
hobby?

~~~
emidln
I don't consider work experience relevant at all unless I can verify the work
done or hold a particular recommendation in high esteem. Not getting fired for
a length of time, while a skill, is not often what I care most about. Without
knowing a company's policies, culture, and tech leads I cannot accurately
judge whether someone spent 3 years playing ping pong with the CEO or was
responsible for programming a successfully delivered system. In a perfect
world, I might try to suss out each candidate's strength and then decide based
on the totality of data, but I don't often have that kind of time. I look for
public or provided code first, and if it's reasonable, will use that to begin
a pointed conversation on our trade.

------
jerf
A hypothesis for part of the problem that I've scrolled through most of this
conversation and still not seen: Junior developers are having a hard time
finding a job because _the tasks have gotten harder_. As easy as people may
claim "cloud" is, if a junior developer has to learn the three Javascript
libraries, two backend languages, a devops cloud deployment system, and three
monitoring technologies just to be able to break even on productivity, it's
going to be hard to justify hiring a "junior dev".

When I got into web dev in 1997, we didn't even have source control to speak
of. We barely used Javascript. All I needed was a template language and same
basic HTML, and we put out a project that, at the time, was considered
amazingly cutting edge by most people who used it.

If I were to try to hire me of 1997 now, I'd have a lot harder time finding
something for him to do, because I'd have half-a-dozen technologies to train
him on before he could even produce the equivalent of "hello world" that
integrates correctly into a modern environment. All of these techs have
reasons to exist. We found out about the server going down when people got
frustrated about it being down and called us after hours of outage. We found
out that something was eating 100% of the CPU the same way. Our "analytics"
were mostly "Hmmm, nobody seems to be complaining, everything must be OK!"
Automated testing? Literally never heard of it. And so on and so on. But
people are not magically infused with this knowledge in college; in fact the
curricula have barely changed since then (which I consider mostly a good
thing), so it means that the bar to being a productive junior dev has
definitely risen.

Fortunately, my team lately has been able to diversify and we've got some more
projects that are independent from the legacy code base I maintain, so as
we've been looking at headcount this year I've been able to say that we've got
some positions for juniors now, who can work in a space that is more lake-like
than sea-like, and be productive, and learn things, and develop. But last year
I had to say that I've got nothing that wouldn't take at least a medium-skill
dev to get anywhere in any reasonable period of time.

(And let me both open and close on the word _part_. I don't think this is the
_entire_ problem, and I agree with a lot of what other people said about other
parts. But I believe it may be a quite non-trivial part of it.)

~~~
lr4444lr
I've been saying this for a while, and I think it will lead to the demise of
the bootcamps, and is already causing a cascade of unemployment in low-skill
indian IT from what I read. The bar is simply getting higher. I think this is
a good thing overall. It's also why I care almost exclusively about CS
fundamentals in technical interviews, unless we have a very specific need.

~~~
elliotec
How does exclusively interviewing on CS fundamentals get you people who are
good at the job?

~~~
lr4444lr
I didn't say I _interviewed_ only on fundamentals, just that it was what I
almost exclusively _cared about_ \- for junior devs. It's a good sign that the
person understands core concepts behind many different types of software, and
would be teachable on the job.

------
vegetablepotpie
This reminds my of my job search 5 year ago after I graduated college. It took
me 8 months to land my first job and I was living with my mother. I did work
on some side projects to build my knowledge on some technologies. When my mom
asked me what I was doing and I said I worked on project 'x' she would say "I
think you should be sending out more job applications instead." Working on
side projects is not an option for everyone.

What did get me hired was neither working on side projects nor blanket
submissions of applications. A friend introduced me to another friend who's
company he worked for was hiring and he gave me a list of open reqs for jobs
he knew managers were looking to fill. I got two calls for interviews the next
week and got an offer for one job by the end of the month.

IMHO your network, not even what you know or what you've done, is your most
important asset when looking for work.

~~~
mgenglder
Couldn't agree more, I feel that this is extremely under emphasized. Meetups
and networking events are the best places to get your foot in the door imo.
It's the easiest way to separate yourself from the troves of resumes a
recruiter may be sifting through on a daily basis, bypass all the politics and
nuances of looking perfect on paper, and in the very least be set up for an
interview (where you can prove your skills through explanation and
whiteboards).

I'm biased though because I got my first two jobs this way.

------
pan69
My personal experience with this is that the ratio matters A LOT. I.e. having
juniors out number the seniors is bad.

When you have a team that mostly consist of junior and mid-level developers,
then they will clique together and they will mostly likely "behave" like
juniors. Typical junior behaviour is e.g. to rather than digging into the
backlog for the next thing to work on when you're done with one thing, to just
sit around and wait for a senior to give you the next task.

However, if you have a team of seniors, who behave like seniors, adding one
junior to this team, the junior will in no-time start to behave like a senior.
Act by example. Before you know it you will have a really valuable team
member.

~~~
methodover
I've had the opposite problem with juniors in the past -- rush to solve
tickets and get them committed, but the work done is awful. I honestly
preferred the lazy juniors on the team. At least they were doing poor work but
there was less of it to code review and fix.

I used to be on the pro junior side of things... but when you're on the
earlier side of a startup (series a/b), juniors are a huge liability.

Best "junior" hire I made was recruiting someone in support who I thought was
smart and conscientious. Turned him on to programming, mentored him, and now
he's great.

I have no idea what the lesson from this has been. hiring is hard.

------
jfasi
My two cents: simple supply and demand. The slow deflation of the startup
bubble of the past five years or so has killed the junior developer. Once upon
a time, there so much competition for engineering talent in the startup world
that even developers with little to no experience and/or formal training were
being handed lucrative jobs.

Looking back we see clear signs of a seller's market in talent: companies went
out of their way to hire anyone remotely competent. Once hired, devs could
hopefully rely on their company's mentorship, training, and experience
opportunities to raise themselves up, and companies could rely on the same for
retention. Coding boot camps sprung up to give people just enough skills and
credibility to get their foot in the door. Salaries were high.

That gold rush has since dried up. Early stage funding has plummeted. Fewer
and fewer companies want to go public. Large companies like Google, Facebook,
etc. now dominate their respective product categories. Why is it now difficult
to find senior people? Because for someone with years of experience and/or
formal training, these companies offer the holy trinity of excellent pay, top-
tier perks, and opportunities for career growth.

My personal opinion is that many of these junior devs simply aren't very good.
As someone who conducts interviews at one of those aforementioned big
companies, I'm consistently disappointed by how poorly most candidates perform
on basic interview questions. And I don't mean the kind that test book
knowledge of some obscure algorithm, I'm talking basic coding tasks.

From where I stand it's a matter of an oversupply of inexperienced, under-
qualified developers that are no longer being absorbed into startups desperate
for warm bodies to do rudimentary coding tasks, coupled with a strong demand
for senior folks from big companies with the coffers to pay them.

~~~
apthnz
As someone starting to teach myself how to code, I'd be interested to hear
more about the basic coding tasks people are failing at.

~~~
wccrawford
We have a pre-interview test that is basically "use flickr's api to show some
pictures", with a few details about how the pictures are sized and arranged.
Applicants that have gone to bootcamps and even college frequently fail this
miserably. Many of the rest fail to understand the details. We even had one
use a completely different end point than the one specified by URL to the
documentation. Some have just given up and turned nothing in, or something
that they admitted didn't work.

These are candidates that we liked their resume enough to give them a shot,
not just anyone who applied.

~~~
mattmanser
That's, errr, a very high bar you got there.

People got it working, showing they can code just fine, and you fail them
because they got some details wrong?

~~~
Raidion
If you have only one or two positions open, have no trouble finding
applicants, why not give a test that has a 5% pass rate if that means you end
up with 6 people to choose from and still have to turn people away? What would
the advantage be of making it easier just so you would have to review and turn
even more people away?

------
bvod
Graduating and going through the hiring process last year, I realized how true
this is and how important your tech pedigree is. I recieved no full time
offers before interning at Apple last summer, and after the internship I had
no trouble getting offers (ended up with 5 full time offers). There wasn't any
difference in how I described my interests before and after the summer
internship, the only difference was companies wanted to see that I was vetted
by a big name company. The real experience I had, working at a startup for
three years before that yielded very little value in recruiting, even though
the experience there made me a much better engineer and it was a successful
startup that got acquired.

------
throwaway0255
Are companies hiring differently, or are we just defining the terms
differently?

"Junior developer" used to refer to someone who can program but who doesn't
have a lot of practical experience.

Today "junior developer" refers to someone who can't program but who has a CS
degree or went to a bootcamp, and there are more of those today as a
proportion of the talent pool than there have ever been.

I think this failure of academic institutions to teach practical skills is
diluting the talent pool, causing companies to favor more experienced
engineers because they've been getting burned and don't trust their own (or
academic institutions') ability to determine in advance whether a candidate
will be a productive programmer or not.

~~~
beefhash
As far as I know, academic education is not _meant_ to deliver practical
skills, but rather theory and deeper understanding. CS degree is not a
programming degree but the equivalent of theoretical physics.

It's become an unfortunate trend that the academy has somehow become stuck
with the role of doing vocational education, rather than research and theory.

------
soneca
I am a junior developer on my first job as a developer at a startup with
around 50 developers.

The company, luckily, has a very opposite approach to hiring jr devs than what
is described in the article. There are usually one or two jr developers per
squad of 4 or 5 people (which is actually a maximum, the company is aiming
only at more mid-level or senior devs right now).

There is a very collaborative environment, a lot of help from all senior
developers - not only the ones in my squad.

What I think is missing in the economics there is that I (and all other jr
developers) do provide measurable value to the company after 2 or 3 months. I
am able to create simple, but necessary and demanded by the business, features
by myself, just with senior developers reviewing my PRs.

This idea that junior developers are a drag to senior developers is fake in my
(limited) experience. I make the senior developer in my team more productive
most of the time, and after around 8 months in the job, we are actually hiring
another junior developer because I think I am ready to take some of the
responsibility of mentoring him/her on a basic level.

I am pretty sure that I am a net positive to the company on a $ invested per
value delivered ratio.

------
nidx
When I hire, It's ONLY junior devs.

I prefer just out of University before they can get bad habits. Training a dev
takes me 6-12 months for them to break even productivity wise.

When we have had intermediate or seniors hired they would not listen to anyone
else or care if their software was easy to maintain in the future. I run a
small team of 6, I have had 0 turnover for 3-4 years.

I don't want devs who "get it done" I want devs that enjoy the work and want
to share it.

~~~
pestaa
Not listening to feedback and ignoring future maintainability sounds like the
exact opposite of senior behavior.

------
aphextron
I think the "Junior" title is used entirely by companies to get a discount at
salary negotiations these days. I work with a large mix of mid level, senior,
and "Junior" developers by title. The practical difference in our technical
skill levels is almost nonexistent. The proper progression should be: Intern
-> Developer -> Senior/Lead, with Senior/Lead denoting that certain
expectations are made of your organizational and management skills moreso than
seeking genius rockstar programmers.

~~~
tensor
There is absolutely a skill difference between senior and junior. The problem
is that junior developers today somehow think they deserve mid or senior level
salaries despite not having the skills.

Developers are being told not only that higher level skills like algorithms
and big-oh don't matter, but that they are such special people that they can
even do jobs completely outside of their specialty like design, management,
and other things.

Developers want to be paid like lawyers, but without the equivalent domain
knowledge in CS that lawyers have in law.

~~~
emodendroket
Hey, man, if people want to pay me well and give me lofty titles I am not
going to dissuade them. As developers I don't think that's our problem to
worry about. Seeking out the most benefit for yourself is just common sense in
the job market we live in and I'm not losing a lot of sleep over the prospect
that I'm not as "expert" in my job as a lawyer is.

~~~
zbentley
While I don't think you're a bad person for doing those things, can you see
how this (repeated by enough people) produces the new-entrant-hostile hiring
environment we currently have?

~~~
emodendroket
Sure, but I think it would be foolish to do otherwise. I was new once too, and
even after I'd done my first job people were hesitant to call me back with no
relevant degree and my only experience being in a small shop mostly working
alone (for significantly less than the market rate, I should add). Now I
managed to make my way past that gauntlet and I'm enjoying the fruits of my
labors as a "senior" developer. I don't think I'm doing anything other than
responding to the incentives created by the system.

~~~
_s
Absolutely! Though would you still consider yourself a "senior" developer, if
a "mid-level" or "junior" starts working with you and happens to exceed your
skillset in very noticeable ways? I know I've hired some exceedingly excellent
programmers that made me feel rather amateurish!

I guess what I'm trying to say titles are fairly arbitrary - and yes, the
system is in need of a little shake up! Enjoy the perks the title brings, and
stay humble :)

~~~
emodendroket
The titles are more or less arbitrary anyway. I'm not that hung up on it.

------
jnovek
I've long maintained a maxim that's something like "Look in the opposite
direction of everyone else." So when everyone flocks to the bay area, get the
heck out of there. When everyone says "I have no space for junior devs" think
about how you can take advantage of that underutilized resource.

Junior devs are cheap. If you're willing to spend the time to sift -- and you
will be doing a lot of resume sifting -- and setup a framework for mentorship,
you can hire junior devs with more promise than your average senior dev.

Anecdotally, one of my junior hires from a few years ago earned his way
through positions quickly and became a senior software engineer in just three
years. I actually invited him to be my co-founder on my next venture and he
turned me down :-P.

~~~
JAFTEM
I understand the appeal of Seattle and the Bay Area, but it sometimes boggles
my mind that larger tech companies don't build in cities where there are a
large number of new grads looking for jobs. [0] LA county produces the most CS
grads in the country, [1] and most of them are moving out of the area and up
the coast for lack of junior SWE openings in SoCal. Any of the Big N could
have a monopoly on talent coming out of USC, UCLA, Cal Tech, UCI, UCSB, UCSD,
Harvey Mudd, Cal Poly, etc.

[0]
[https://datausa.io/profile/cip/110701/#counties_most_degrees](https://datausa.io/profile/cip/110701/#counties_most_degrees)

[1] [https://www.ocregister.com/2017/07/24/is-southern-
california...](https://www.ocregister.com/2017/07/24/is-southern-california-
suffering-a-tech-brain-drain/)

~~~
kenhwang
Hiring juniors in LA has been delightful; so many strong candidates, no real
competing offers. That being said, it's also pretty easy to poach burnt out,
fed up experienced juniors from the Bay Area.

~~~
JAFTEM
Poach said junior devs from the Bay Area to LA or in general? Sort of confused
with your second statement. The crazy thing is that _every one of my CS major
friends_ I graduated with at USC moved up the coast to the Bay Area or
Seattle, or to the east coast in NYC.

~~~
kenhwang
Bay Area to LA but in general too; many grads leave the LA area, so it's not a
hard sell to get them to come back after they pick up some experience. Bay
Area just happens to be the biggest consumer of fresh graduates.

------
taurath
This is one of the most important posts I’ve read on HN in a while. 7 years
ago I broke in as an inexperienced dev without a degree because some budget
strapped team took a (hedged) chance on me and offered a paid internship. They
mentored me a huge amount in a way I have never seen at another company, as
well as several other junior devs. Most every one is in a senior position
today, and some have stayed at the company. This is not happening anymore as
far as I can tell - I know plenty of people with the knack for it but the door
seems to be closed, because companies do not want to take the risk.

------
taylodl
This has been going on for _years._ Back in the mid 80's when I was going to
college I knew a lot of people had come back to get their masters are even
change fields because they couldn't find jobs. Employers wanted 2-3 years
minimum experience and the new grads lamented how were they supposed to get
said experience? My first job I worked FREE for the first 3 months at a
startup (they didn't have the money to make a payroll anyway). Ultimately that
launched my career and got me past the 2-3 years experience issue. This was
back in the 80's!

------
danjoc
>the rate is anywhere from $190-$300 an hour

Well there's your problem. Valley pricing. You can get Sr Devs much cheaper
than that. Then you can afford to train up some juniors.

I don't think that's the real problem though. Companies want _you_ to take the
risk/expense of learning a technology that might be obsolete next year.
They'll pay you back in salary if you lucked up and mastered the right stack.
If you didn't, then you keep eating ramen until you strike gold.

The other problem is most Sr.s don't want a Jr. coming in and making negative
contributions. Sr.s are frequently the ones doing the interviews. They see
most Jr.s as "What's a computer?" level talent that will start fires in
production systems.

~~~
ryan-allen
> The other problem is most Sr.s don't want a Jr. coming in and making
> negative contributions. Sr.s are frequently the ones doing the interviews.
> They see most Jr.s as "What's a computer?" level talent that will start
> fires in production systems.

I think this is pertinent, when you're already too busy doing things and
keeping stuff running, who has the time to handle a run-of-the-mill junior?

The most successful launches I've seen is where a junior comes in and can
already contribute _at some level_, this is always due to the extra curricular
work they've done outside of their education (if indeed they had any higher
level education at all).

The spectrum of jobs out there allows a creative (or lucky, in my case) junior
to springboard. Think of 'started out modifying and configuring wordpress
themes, ended up writing some custom code and extensions, ended up learning
laravel and databases' type of progression. You won't be working in bleeding
edge AI or at Google on their self driving cars, but you'll be solving
problems for people, and that's a career.

------
cyberpanther
I teach at a Bootcamp and see a lot junior developers looking for jobs. Many
of them complain of it being hard to find jobs and it is. But I don’t think it
is any harder than say 10 years ago when I got started. The main the problem
is they’ve never interviewed for a technical position before or aren’t looking
in the right places for jobs. Also a lot of jobs are perfectly suited for
juniors but it doesn’t reflect that in the job description. So there are a lot
of things that make the job search hard and frustrating but the jobs are out
there. And I would love to see more companies more actively mentor people too.
But those companies do exist today. It’s just a numbers game. If you can hold
out, you’ll find it.

~~~
emodendroket
Searching for a job is way easier if you have a professional network to draw
on and beginners, pretty much by definition, really don't.

~~~
Double_a_92
> a professional network

How? Let's say I work at some company...Then I know exactly my coworkers and
customers. How does that help me build a network?

I could maybe ring up some buddys from uni that are working somewhere else...
But contact to them also gets lost over time.

~~~
tonyedgecombe
>But contact to them also gets lost over time

That's probably a mistake on your part, especially when tools like LinkedIn
make it so easy.

~~~
emodendroket
Yeah. In particular, it's often your looser acquaintances who have something
for you.

~~~
tonyedgecombe
Indeed, one of my bigger customers now was in a junior role at a company I did
some work for years ago. You never really know where opportunities might lie
and it costs little to keep in touch.

~~~
emodendroket
I think people also get too shy about reaching out to people they haven't been
in touch with. Most people aren't going to be annoyed if you say, "Hey, long
time no see. How have you been? Wondering if you know anyone who's hiring" or
whatever it is you're asking for.

------
deathanatos
What trouble are candidates looking for junior developer positions running
into? Lack of openings? Lack of response from companies? Can't get past the
interview?

(Also, are these people advertising themselves as a "junior developer"?
Perhaps this is just my experience, but I don't think I ever used that; I
started my search looking for simply "software engineer" positions.)

(One the one hand, one company I worked for doesn't seem to really have any
junior developers, but we're also not hiring period AFAIK. Another company I
worked for pretty much only hired interns, b/c hiring was otherwise tight and
those were easy to get approval for. Not quite what I think the article means
by "junior dev" (I interpret that to mean "entry level software engineer")
They were generally very helpful, though I think we learned how much we needed
to learn about being mentors.)

> _Also their hand wringing about the costs seems like crocodile tears knowing
> all the time they waste (at least in my opinion) on things like meetings._

I echo this opinion.

~~~
klobo
Once you apply, it's usually - 'We're looking for someone with more experience
right now' or 'Experience of 10 years with React'

~~~
dabockster
If you even get a reply in the first place.

------
emodendroket
> But let’s say they do start sticking junior devs back into teams again. You
> have the additional issue which is now senior developers have no experience
> working with junior devs or training people at all. When I first started
> working with junior devs I had no idea how to do it. I felt lost and
> confused. My company was just like basically “give these people something to
> do so they can learn something.” But that’s really not a lot to go on.

I don't really agree with this. I've had to mentor people and there is not
really a special trick. I just kind of pair program, and when we start I drive
and eventually they drive and then once that's comfortable I leave them alone
and leave them to ask me questions. I've found this mostly effective.

Explaining things to junior developers isn't so different from explaining
things to anyone else. In the course of your job you probably have to explain
concepts to your co-workers and to non-technical people, right? A junior is
somewhere between those and you can calibrate as you go.

~~~
kenhwang
> In the course of your job you probably have to explain concepts to your co-
> workers and to non-technical people, right?

I love how this is becoming the norm for engineers. I still run into engineers
that seem to just code by themselves in a cave all day and the only human they
communicate with is their (often non-technical) manager once every other
month.

Communication is one of those skills that feels effortless if you're used to
it, and like an nonstop anxiety attack if you're not.

------
whalesalad
1 or 2 "senior-level" folks (imho, people with at least a decade of experience
within a multitude of environments) are going to outperform a half-dozen
junior engineers.

When you're building a monolith Rails application, anything goes. But now that
the industry is trending towards (for better or worse) service oriented
architecture, stateless cloud deployments, walled gardens tossing data back
and forth over RPC, data science teams, etc... you need people who have been
to war a dozen times and have already made all the mistakes. That is what you
get with a senior engineer: someone who knows what NOT to do.

I have spent most of the last 2-3 years of my career playing bad cop and
telling people no. Shutting down wild and exciting ideas. Stopping over-
engineering in its tracks. Preventing an investment in a bad technology.
Preventing fragmented infrastructure with data in a handful of different
databases.

I think that is why the junior engineer has disappeared. Most of us were never
trained/educated/encouraged to be good teachers and we spend most of our time
putting out fires and trying to keep our hands on the pulse of technology
while simultaneously hanging on for dear life within our organizations.
Pivots, layoffs, blockchains, shiny new business objectives are all mortars
flying at the eng team left and right.

I wish I had junior engineers to mentor and teach and foster into folks who
have good critical thinking skills and I can trust 100% to make the right
decisions – but there is a tremendous cost involved to the business that I
think most are unable to afford. Some of my most rewarding career experiences
involved working side-by-side with folks fresh out of a bootcamp or university
who were wide-eyed and bushy tailed. It was a lot of fun watching them run off
and do a bunch of work then having a discussion on the choices and using each
moment as a stepping stone towards a bigger understanding of all the moving
parts in modern infrastructure.

------
alkonaut
Is this because people stay for just short timespans? We hire junior devs but
we don’t expect much for the first years. I’m 15 years in and in a team of 30,
the average is probably 10 years.

It takes a year to just “onboard” someone until they don’t need a lot of
mentoring, but until a junior dev isn’t just a dangerous mess-creating junior
dev, takes at least a couple of years more.

Learning the domain takes many years too, and without knowing the domain you
need to be micromanaged and have everything specced up front or need constant
interrupting feedback from product owners (should this be default on? What
order should this be sorted? How many frobs will the typical user enter here?
etc).

Obviously you can’t stop people from leaving but I wouldn’t even hire someone
unless I genuinely believed they are going to stay 5 years.

(For context, this is heavy technical desktop software in a very mechanical
engineering-heavy domain)

------
Justsignedup
Junior-to-Senior developer ratios are critically important. If I hire too many
juniors, then they will write a ton of shit code, and force whatever seniors I
have to spend all their time mentoring and not producing.

Seniors are valued because they can write great code, think long-term
solutions, take on a project and see all the details to completion, have a
more predictable development cycle, and yes, train Juniors.

So my point is... if you graduate too many too fast, you'll end up with people
who you can't train, and who also think that working for "the man" a.k.a. big
companies is bad, so the perfect combination of limited use, expensive, and
unwilling to work in places where they can experiment.

------
fzeroracer
As a near-Junior level developer myself sitting at two years of experience
I've found myself wondering the same thing. I've put out my resume across the
country and found few companies willing to look at it and even fewer
positions. Most are looking for mid-tier to senior developers. Even worse I've
kept in touch with friends who despite having far more internship experience
than I ended up having quite a bit of difficulty find a job post-grad.

Though my current company has had large success in poaching interns into
junior devs because we have a strong and genuine sense of teamwork + effective
mentoring.

~~~
austenallred
Two years experience? It’s 2018. You’re Senior now :)

I’m only mostly joking.

------
cimmanom
Companies have woken up to the fact that for the most part people no longer
stay in one job for more than a few years.

Training junior people makes sense economically only if they get up to speed
and positive productivity within a small fraction of the time they'll be with
your company.

Since a bad developer creates enormous negative productivity, it can be years
before a new programmer's contributions are productive at all, let alone
greater than the ongoing opportunity cost of the time spent mentoring them,
let alone the sunk cost of months to years of mentorship.

This time makes sense only to invest if you expect the developer you trained
to stay with you for _many_ years. That expectation has become less and less
rational over the past couple decades.

Nowadays if you take on and train a junior, you're taking the loss on that
training - not to train someone who's going to be a good mid-level developer
in your own company, but who's going to jump ship for somewhere else well
before you can make back the senior developer time spent on them.

~~~
mratzloff
You shouldn't have this problem if you 1) hire for intelligence, drive,
cooperation, and passion about the mission or opportunity, 2) give them
continual opportunities to grow and take on increasing responsibility, and 3)
compensate them appropriately (as a manager, privately reevalute title and
comp every three months for the first year).

Of course, these are the same things (among others) that are true for every
engineer.

There's an endless supply of juniors to choose from, so there's no excuse for
a bad hire. If they leave for more money that you could have paid them, that's
on you, too.

Do those things and you'll win their loyalty.

------
broodbucket
Is the junior job shortage just a valley bubble thing? I'm a young dev and
there are grad/entry level positions everywhere I look, none of my peers have
really had issues either.

How good (or bad) companies are at actually training their employees is
another matter.

edit: typo

~~~
Apocryphon
Well, where are you based at?

~~~
broodbucket
Australia & haven't heard of junior shortages anywhere around the country, I
would hazard a guess that this applies to most places that aren't this
overinflated Mecca of programmers

~~~
tslothrop
That's weird, I'm in Sydney and last year I sent around more than 100 resumes
over the span of 6 months, only to land an intern position in a terrible
"startup like" company, where I was underpaid and overworked. I had to quit
after burning out in a few months. I know of several other juniors with this
same issue.

~~~
sumedh
100 applications with almost no luck sounds really bad but there is a
possibility you are missing something in your resume. I work in Melbourne, if
you want email me your resume and I will take a look to make sure you are not
missing something basic.

~~~
tslothrop
Thanks for the offer, I appreciate it. I had my resume looked over at Reddit
and by other industry professionals, it was just lacking working experience
and qualifications (I graduated from TAFE, not uni). I'm not looking anymore,
now, as I got a much better job, although not development related (which was,
anyway, what I wanted, after burning out).

------
Beltiras
I trained a junior dev so well I was laid off because he was cheaper than me.
One of the proudest moments of my professional life to be honest.

~~~
wccrawford
I've got a junior dev under me that has gotten so good that that the thought
of that scenario has occurred to me.

I decided to come to terms with it by accepting that if that happened, it'd be
the push I needed to spread my wings a bit.

~~~
Beltiras
Isn't this the goal of every programmer? Programming their way out of a job?

------
golergka
I've built a new of 4 developers team since September. 2 out of those devs are
Juniors; or at least, formally they are, as this is their first "real", paid
job.

But at the same time, these two are much better than many, many "senior"
developers who came in asking for very competitive salaries and couldn't
answer the most basic of questions. (My satndard is to ask about stack and
heap; most of them just say something along the lines "value types on the
stack, reference types of the heap" and cannot even connect stack the data
structure with stack in memory.) Meanwhile, one of these "Juniors", when I
asked him to talk about something he knew very well and was passionate about,
explained AI techniques (game AI, not ML) that I never even dove into myself –
instead of checking him, I was learning something new from an intervewee, and
it doesn't happen often.

I really feel that I got the best deal, sitting through all these interviews
regardless of experience and without any real filters by CV, because in the
end I found these two - hard-working, talented and with more knowledge you
would reasonably expect from a junior.

Don't save time on hiring. Don't create illusion of knowledge by reading too
much from CV or using labels like "junior" and "senior". Rather, admit to
yourself that you don't really know someone's skill level until you talk to
them or give em the test assingment.

~~~
spicytunacone
>when I asked him to talk about something he knew very well and was passionate
about, explained AI techniques (game AI, not ML) that I never even dove into
myself

An aside, would you mind sharing what he shared with you, if you can recall?

------
hbnyc
It's a symptom of normalized salary ranges for entry level positions, a
saturated market, and massive range in the skillset of entry level developers.

There are two sets of juniors that I've come across. The first critically
assesses a problem and it's edge cases, how to integrate the solution into the
greater body of work, and considers performance. They might not know the stack
of the company but they can be brought up to speed quickly by more experienced
team members. The second is one that is incredibly proficient at the most
cutting edge tools. They are hired because they are up to speed with what the
company considers valuable at that moment. There is a much greater emphasis on
getting shit done quickly rather than considering how it fits in later, how
performant it is, or assessing how to integrate the solution in larger
contexts.

I've found the first type to be much stronger teammates over an extended
amount of time. They are also the ones that are able to command higher
salaries when starting out because of the approach. The second type sees the
salary numbers being set by the first and has an expectation that it is what
they too are worth. Now you have two drastically different candidates
competing for the same entry level positions, at the same rate. The first
won't have an issue getting a job and the second will struggle.

Both can flourish in the right situations. We need to do a better job at
distinguishing the two.

------
GreaterFool
Just few days ago some company's "Senior" developer posting made it to top of
HN feeds. I clicked on it out of curiosity and the requirement was "2 years of
experience writing code".

Such posts warrant a _WARNING_ otherwise I may get permanent damage due to
severe involuntary eye-roll.

------
scarface74
I feel really badly for junior developers today. I was both fortunately and
unfortunately never a "Jr. Developer" as a professional.

By the time I got my first programming job right out of college in 1996, I had
already been a hobby programmer for 10 years, had been very deep into assembly
and C, and had been reading books like "Code Complete". My first job was
writing a data entry system from scratch in C.

It was also unfortunate because I spent the first 12 years of my career
working at 2 companies where I was either the only developer or one of only
two or three and the other two had been at the same company from the beginning
of their careers. So yeah, I was a good "developer" (I had the chance to look
at some of my old code and it would have passed one of my modern code
reviews), but I didn't start learning modern, proper "software engineering"
until 2008 when I started job hopping and choosing companies where the goal
was more to gain experience than make money. Although the money wasn't bad
either.

Even back in 1993 while in college, I got my first programming side gig
because another college saw a HyperCard stack I posted on AOL.

If I wanted to break the cycle of no experience <-> no job today, I would do a
side project and post on github and link my resume to it. I have experience
and a good resume but I'm thinking about posting side projects to GitHub just
to get experience in technologies I don't get a chance to use at work.

------
grappler
I've found myself in a "mid-level" limbo. I have lots of knowledge and a fair
amount of skill from a lifetime of programming, but I have trouble keeping
what feels like an insane pace some others around me seem to manage. I was
flat-out told that my output isn't what they expect from a "senior" developer.

Thing is, I never claimed that I was a "senior" developer, whatever that
means. I just seem to have been slotted into that category based on years of
experience. I didn't want to mislead an employer into thinking I was more
capable than I actually was.

I went job searching and specifically said to recruiters and hiring managers
that I was "mid-level" and would set my salary requests accordingly. If that
meant I'm held to expectations somewhere between junior and senior, and get
paid somewhere between junior and senior, that would be just fine.

I found that pretty much everyone was looking for senior devs, a few places
advertised junior openings, and interest in mid-level seemed rarest of all.

It's like they think everyone is either a junior who needs to be mentored, or
a senior who can deliver a story every day or two. I feel perfectly capable of
doing the work, but need some time to think my way through it. I don't quite
understand why I'm finding that to be such a hard sell in a job market where
it's supposedly so hard to find developers.

------
TeeWEE
What is a junior developer? Is a junior developer somebody without experience
but with a good technical background. We hire those for sure.

But we dont hire people who dont have a solid basis, and just know a little
bit of javascript programming.

For computer programming in a serious field, you need to know the basis to be
good one, to solve real problems.

We actually dont use the name "Junior" developer. You're a software engineer
or you're not. Junior developers are often names for people who can't program.
We don't hire them.

~~~
z92
You don't hire junior devs then.

------
austenallred
I’m the cofounder of a YC-backed Computer Science academy
([https://LambdaSchool.com/computer-
science](https://LambdaSchool.com/computer-science)), and we’ve noticed a few
things:

1\. The junior dev market is flooded. It’s also flooded with people that
_cannot_ code. We’ve done quite a bit of analysis, and we’re talking 10% can
write fizzbuzz.

Bootcamps are pumping people out as fast as they can collect money, and while
some are solid juniors many are just completely lost. I’ve seen some code
bootcamps with <10% placement, and their curriculum is 11 weeks of HTML and
CSS and 1 week of jquery. Then they’re told to pound pavement for React roles.
It’s worse than you think. Truly.

It’s also 95% of the same people who can’t code applying to every single job
in existence. Remarkably many somehow get hired. Bootcamps as a whole have
100% earned their negative reputation. I can only imagine the learning curve
encountered by some bootcamp grads.

As an aside, it’s not only bootcamps that pump out people that can’t code.
Some CS programs are equally guilty, but probably not as many of them, and
having four years to write code if you’re even a tiny bit self motivated is an
enormous advantage. You give me a moderately intelligent person and I tell
them to write code for four years and they’ll be hireable by the end for sure.

2\. Many excellent companies, especially startups, have no appetite for junior
developers whatsoever. Junior devs take a long time to integrate by
definition, and rapidly moving companies don’t have the resources to care.
It’s much, much easier to place juniors at mammoth companies that actually
dedicate resources to training. A lot are just paying huge recruiter fees and
bonuses to go after the people with experience.

3\. Once you get even six months of experience the whole world opens up. I’ve
never seen job security so quickly gained as a developer that has spent one
year _anywhere_. Promotions come fast, offers come faster, and the big
companies that actually _are_ dedicated to investing in juniors see them
poached for $30-50k extra by companies that don’t.

4\. People that can still code absolutely do get hired, and quickly. We are
dangerously close to 75% of the class that graduated 3 weeks ago being hired
or contracted.

All that said, we take it for granted that we’re in an industry where people
go from cold start to 6 figure salaries in 3-6 months. I’ve not aware of that
ever having happened in the history of the world. It’s no longer write a
couple lines of code and raise your hand for a job like it used to be, but
software development is still an incredible industry to be in, and with a
couple of years of experience you’ll reliably be complaining about salaries
and working situations that almost any other industry would kill for.

~~~
vkou
> All that said, we take it for granted that we’re in an industry where people
> go from cold start to 6 figure salaries in 3-6 months. I’ve not aware of
> that ever having happened in the history of the world.

There have been plenty of trained or semi-trained labour shortages in the
history of the world, with similar results.

~~~
austenallred
Not sure any have been at this scale and lasted for this long.

~~~
whb07
There's multiple examples of this. Looking at Detroit's boom during post-war
decade of American cars. In a bigger flash of the pan examples like the North
Dakota oil fields. Where unskilled labor was in extreme demand to have 18 year
olds making 6 figures.

This will always happen as long as the profits are there to sustain it. But I
agree with your general sentiment, having said that, its just part of the
human condition. When I attend a bitcoin/ethereum meetup most of the people
there are only there for the lure of the quick buck. Not the long term
technical implications/learn about the projects.

------
behindmyscreen
I like the premise of the article. I think bean counting, short sighted
companies killed the junior dev....and that role died a long time ago in many
places (even farther back than 2010).

I also think the article needs some copy editing. A few paragraphs were rough
to get through.

------
msluyter
My undergrad degree was in music and when I decided to move into software
development, I got into a master's CS program that was heavy on theory, light
on practicalities. I graduated quite green and unconfident with basic
tools/systems like vi or Unix. Hell, I could barely type.

Once out of school, I opted to take a software test development (SDET)
position, which provided the sort of hands on training and practical exposure
I needed at the time. And, while technically it was a "QE position," the role
did provide opportunities for coding in the form of automated tests,
deployment scripts, test frameworks, etc...

Although I ended up staying in QA longer than I desired -- the bursting of the
web bubble in 2000 sort of pulled the rug out from under me -- I eventually
laterally shifted into a dev role and have been quite happy ever since.

I think this sort of path is still a viable option for aspiring Jr. devs,
especially given our increasingly complex ecosystems/stacks. It's a great way
to learn, and these days there seems to be less clean separation between
QE/Dev roles in any event. QE people write code, devs write tests (or rather,
they _should_ ;)). (Note, I'm explicitly recommending an SDET role, not a
manual testing role.)

------
maximexx
> Who Killed the Junior Developer?

The educational system.

I've seen horrible things happening to production code due to junior
developers. In the end the senior/lead needs to spend way more time fixing all
bad code/ideas than if he'd write it himself in the first place. I know a
company that has a medior dev that is now already more than 2 months working
on a feature I can write in just 2 weeks. Besides that, my code will likely
still be better because I code with experience, using proven strategies,
making it more scalable, preventing pitfalls, potential bugs, etc..

I don't think the companies are to blame. A junior dev should not write
rubbish if he/she is a software developer graduate. Current IT education is
very limited. Most of the things you learn in 5 years can be interesting and a
good foundation, but not really relevant for most developer jobs out there.
You actually have to start learning to code once done with your study. And
learning to code is not a short journey, I guess at least some 3 years of full
time study before you'll get the hang of it. And I didn't even touch the idea
that you definitely need some talent or feel for it. You can study arts, but
that alone won't make you an artist.

------
songzme
The ideal hiring process imo is actually a training process that is less
focused on 'finding the best' but rather focused on helping their local
community become good engineers. Companies fund their own bootcamps and pay
students $15/hr (with no engineering experience). Students learn and help each
other how to code (following a structured curriculum) with mentorship by
engineers from the company. When students have finished the basics, they work
on open source projects or internal projects following proper engineering
process / tools that the company use. When a student has proved that he/she
learned how to work well with other engineers and has built a few features,
they get hired by the company as an engineer and this engineer would be
immediately productive.

This might seem like a crazy idea, but its actually not. The previous
companies that I have worked for all offer paid volunteer hours which could go
directly to this initiative. The cost of hiring is around 30k per engineer
(conservatively), which could help train someone living paycheck to paycheck
for an entire year.

This non-profit does this:
[https://garagescript.org](https://garagescript.org)

------
leetrout
What I run into over and over are largely attitude issues in all parties
involved.

"Junior" is not an insult nor does it / should it demand an insulting salary
level. I don't look at someone's title and think "they must be bad" or "I am
better than them" etc etc but I see that attitude a lot. I see seniors take
interesting work for themselves, I see them shove off juniors and I see
juniors complain about the work they have to do.

And even worse is when someone holds the explicit junior title they are only
interested in getting the senior title. Then we have seniors that shouldn't
have that in their title feeling threatened by who does and doesn't have / get
sr added to their title. It's all a dreadful game and I'm tired of playing it.

As others have said- I enjoy mentoring. I'm not ashamed that I enjoy someone
taking the time to listen to me and what I have to say. I have 13 years of
mistakes I can share. I don't enjoy working with people that are only
interested in the "title game" and that complain about the types of work they
have to do. We're all paid very well to do the type of work we do and
ultimately we're paid to do what the company asks of us. We don't have to
believe it's the grandest technical challenge of all time yet I see Jrs
complain they aren't given the "big work" without realizing they don't know
what they don't know- they just see some sort of prestige associated with it.

And shame on the seniors for taking work that is interesting to others first
and shame on management for not making time for a junior to tackle a bigger
task. I do feel for Jr engineers that get stuck in the cycle of doing menial
tasks because no one makes time for them to make mistakes.

If you've got Sr in your title did you get it by being hired in to the title
or by earning it in some fashion? Did you earn it by being a workaholic? Did
you earn it by putting in time with the same organization? Did you earn it by
growing your responsibilities? Ultimately- who helped you do it? Who gave you
the chances and which manager wasn't threatened by you and allowed you to be
promoted? Try to imitate those values and lead by example. Sadly I see a lot
of insecure engineers who don't want to help and would never stand for a
coworker, not the least someone they helped mentor, surpass them. And it IS a
shame.

------
PeterStuer
Most IT companies have not succeeded in having a technical growth path. So the
'new' acceptance is that technical people will just be with the company for a
short time before moving on unless they 'mature' into management. With that
comes the expectation that employees need to be productive from day 1. So
there will be no 'investment' in training or mentoring.

------
myth_buster
To quote Feynman...

    
    
      When I was at Princeton in the 1940s I could see what happened to those great minds at the Institute for Advanced Study, who had been specially selected for their tremendous brains and were now given this opportunity to sit in this lovely house by the woods there, with no classes to teach, with no obligations whatsoever. These poor bastards could now sit and think clearly all by themselves, OK? So they don't get an idea for a while: They have every opportunity to do something, and they're not getting any ideas. I believe that in a situation like this a kind of guilt or depression worms inside of you, and you begin to worry about not getting any ideas. And nothing happens. Still no ideas come.
      Nothing happens because there's not enough real activity and challenge: You're not in contact with the experimental guys. You don't have to think how to answer questions from the students. Nothing!

------
amriksohata
Got a side question.. how do I tell my junior developer who's still junior
that he's not ready for being promoted. He feels he is because he understands
more of the code base now, he often makes a lot of mistakes and is ready to
point out the mistakes of others. He also does not get off his desk to
communicate or question requirements.

~~~
cimmanom
Find or create a skills matrix for developer seniority. There are a few
floating around out there if you Google.

~~~
bcbrown
Along the same lines, decide what the bar will be for promotion, tell them
where they're lacking, and when they reach that bar, _promote them_.

------
gaius
The roles that mentees would have been have largely been outsourced/offshored.
The days of spotting a talented helpdesk or QA worker and growing them into a
fully fledged sysadmin or developer are gone. Some of the finest engineers I
know came into the field that way 20 years ago. They wouldn’t get a look in
now.

------
perseusprime11
The word ’Junior’ killed the Junior Developer. Nobody wanted to have that
title and it was also an easy target for recruiters to hire them away
promising software developer roles.

~~~
mrweasel
In many of the companies I worked for in the past, the word "senior" was also
seen as an alternative to a pay raise.

One telco I worked for opted to change the title from developer to senior
developer for five people in one year, this is on a 15 person team, where 4
people where already senior developers. The title change was seen as an
alternative to a pay raise, equal in value.

Personally I don't care about titles and I prefer to just have the title of
developer, and no "junior" or "senior" prefix. It's not helpful anyway, you
just use the salary to compensate for the difference in skill levels.

------
ben_jones
Its a large mix of problems. There is infinitely more demand for the top ~20%
of developers then the bottom ~80%. There is a glut of new undergrads and
transitioning professionals. There is a larger-then-other-industries capital
expenditure in hiring, training, and managing, developers - which compounds
the hiring difficulties of most small companies including almost every start-
up. Oh and there's massive conglomerates with near infinite resources (Google,
AMZ, FB, MS) hoarding top tier talent - which plays into developer validation
of who the top 20% is.

It's a mess, and it paints a single reality. The tech industry isn't as easy
to break into as pop culture has labeled it over the past decade, and in my
view it won't be getting any easier... sorry to the younger generation paying
big $$$ for a CS degree.

~~~
emodendroket
Well, sure, but I think this is one of the few industries left where someone
with the talent can not have any credentials and just be able to do the job.
I've never sat in a computer science class in my life (which is not to say
I've never learned anything about the subject). It's not easy but it's not
outlandish, like it would be in many other similar fields.

------
alistairSH
Is this a small company vs large company thing?

We hire interns and recent graduates most years. I've had 2 interns/summer for
as long as I've been in a leadership role. The majority of my team was hired
straight out of college. My employer is a well-established software company
(35+ years, 400+ employees, R&D offices in 4+ countries).

We also have a robust on-boarding program for college graduates. So, we can
deliver all that early training once with willing SMEs instead of many times.
Yes, it costs money (travel/housing for remote new hires, travel/expenses for
remote L&D staff, catering, extra-curricular events, etc). That doesn't
completely alleviate the mentoring load, but it seems to work well. Plus, the
new hires make friends quickly and rely on each other more than they might
otherwise.

------
ajmurmann
Having recently had to do a lot of hiring and also played too much FIFA, I
couldn't help but wonder if a argument couldn't be made for software
engineering job contacts to work more like soccer player contracts. One issue
is you might hire a junior dev, train them and just when they start to provide
value BigCorp makes them an offer they can't refuse and you are left with the
bill. If on the other hand the was a contract where a new employer had to pay
some amount of money to the previous employer that might help with the
situation. Hiring a upcoming super star and coaching them might turn from a
risk into a business model in itself. Of course there are lots of potential
issues that would need to get figured out, but at least for junior devs this
might be a net win.

~~~
ThrustVectoring
That is pretty ripe for abuse - junior developers take whatever since the
first job is critically important to get, and then have zero negotiation power
since it costs an exorbitant amount of money to "poach" them and pay them
their fair market value.

I mean, yeah, it'd be good for employers. Not so much for employees. Likely an
illegal or unenforceable contract, too.

~~~
joncrane
Why would it be illegal or unenforceable for software development but legal
and enforceable for sports?

------
CSMastermind
Do people really think this is a problem? I feel like everyone is taking the
article at face value instead of reading between the lines: people don't want
to hire bootcamp grads.

Developers fresh out of college with a BA in computer science have no problem
getting a job.

~~~
burlesona
I had a similar reaction. Boot camp hires haven’t worked out very well when
I’ve hired them in the past — even allocating a lot of mentoring time. I don’t
care about degrees of big time jobs, but in my experience it takes several
years of being a curious coder hacking on learning projects before you reach a
level where I can give you work to do.

There are plenty of people who fit that bill, but we can only handle a ratio
of 20-30% junior or we can’t really give them the support they need to grow,
otherwise we’d hire more.

------
bobthechef
Really? The "killing" of the junior developer seems like an anecdotal claim.
Hasn't ageism been a concern here on HN? Doesn't that tend to suggest that
older, and thus more senior developers are "discriminated against" in favor of
younger, CHEAPER labor? The reasons being that either:

\- you don't need a senior developer for your needs

\- you can't fork out for a senior developer

\- you could really use a senior developer, but won't fork out for a senior
developer because your penny wise and pound foolish

\- you don't understand the difference between a junior and a senior developer

\- there is a labor shortage in software development and all you can hire are
junior developers

~~~
madamelic
>\- you don't understand the difference between a junior and a senior
developer

I think it is this. The title Sr Engineer is handed out constantly to people
with little to no experience. You are basically Junior for a year then you get
the title change. It is a bit absurd.

So yes, there is a shortage of Jr engineers... but there are plenty of not
very good Sr Engineers who should be Jr Engineers.

~~~
Caveman_Coder
You're absolutely correct on this point. My first job after obtaining my CS
degree was "Senior Developer" even though I had never developed software
professionally before. I got the Senior title because the company had their
pay buckets tied to titles so in order for the company to bring me on at the
rate I requested, they gave me the Senior title. Titles apparently are
nonsense, at least from what I've seen.

------
a-saleh
We kinda did. This is because we like to hire interns.

Usually intern in our area:

* studies programming at a university

* costs around a 1/2 of a junior

* is part-time with really erratic schedule

* work output still on on par with few juniors we hired

I suspect this is mostly because there isn't as much of a difference between
what can one work in 8h compared to 4h (I spend 2h out of those on meetings an
email anyway, so it can be productive to route most of these around your
intern)

Second part is, we are well known as a good employer in the area, that has a
tradition in accommodating for students erratic schedules, which means we get
students who would get a full time non-junior position elsewhere, but they
don't want to give up on school.

~~~
Double_a_92
> I suspect this is mostly because there isn't as much of a difference between
> what can one work in 8h compared to 4h

This is so true. I don't really understand why 8h workdays are the standard
for "creative" jobs. Most people can't fully focus for that long. Tbh I
personally just spread out 3-4 hours of proper work time to just fill the 8
hours. Otherwise I'd just run out of power / focus in the early afternoon.

~~~
a-saleh
In my case, I work 8 hours because I still get pay by hour :) If, one day I
would manage to get into consulting, I probably would work less on average
work-day.

------
ChicagoDave
I mostly disagree with this article, but not entirely. I do think there's a
trend by the bigger companies to look for senior talent, but there are plenty
of firms that rely on one or two senior devs with a team of junior/mid-level
devs and I'd say most smaller companies still hire and train junior
developers. I'm in the Chicago area and it's possibly unique in its diverse
market of employers and thus able to support all manner of dev team make-up.

I'd also say that many junior devs are offshore and are given test and support
tasks, and this is especially true in larger corporations.

------
logfromblammo
It was the Middle Manager, in the Small Conference Room, with the PowerPoint.

Did I win? <opponent reveals a card> Nope.~

"Junior" implies training, and American companies don't do training. If you're
lucky, they have an internship program, which is apparently enough experience
to get you a 6-month contract-to-hire as a "regular" developer.

It's a name game. "Developer" is actually "Junior Developer", "Senior
Developer" is actually "Developer", and "Lead Developer" or "Principal
Developer" is really "Senior Developer".

------
matt_wulfeck
> _My company was just like basically “give these people something to do so
> they can learn something.” But that’s really not a lot to go on._

That really is how it works though. You need to start doing before you can
learn.

------
_pmf_
> Who Killed the Junior Developer?

Those who thought it a good idea to promote people to senior level after 6
months or a year.

------
jlengrand
It's funny, my experience is completely different. I've always loved to hire
juniors because you can mentor and they usually come with less preconceptions.
That makes discussions much more fruitful. And they usually make you think
about your decisions much more, because they can challenge things that any
engineer with experience with just take for granted or accepted.

The learning curve can be an issue though. You want to be constantly be
welcoming newcomers to have a rolling scheme of new 'seniors'.

------
marcus_holmes
I recently put together a dev team from scratch. I specced it out as: One
Senior Dev, one Project Manager, one Team Leader (an existing employee
experienced in the company politics and able to manage), one
Ops/Infrastructure role, and one Designer.

Needless to say it didn't quite work out like that. We ended up with two
junior devs, one developer, one project manager, the ops guy, and the team
leader. One of the people we interviewed for a Junior Dev role was actually
pretty experienced (not enough for the Senior role though). Two of the devs
could design well enough to be able to do the UI work. We're still looking for
a Senior Developer. The team will need to learn as they go, but I'm able to
cover for them enough so they can make mistakes (ahhh, the pleasure of being a
CEO with a techie background).

I hope to continue bringing on new Junior Devs as the team grows and learns.
Creating a pipeline of talent is essential to finding the best people. Because
the best people aren't found randomly, they're trained and coached, built up
to be the people that the team needs.

It's all about long-term planning rather than short-term thinking. I'm pretty
sure that in about six months this team will be doing all the things we need
it to, and in about 18 months we'll have lost (at most) one of them and the
team will be exceptional.

------
Caveman_Coder
Personal story time...

I was a journeyman electrician for nearly a decade before obtaining my CS
degree. The company that hired me, in order to pay me what I was making as a
topped-out journeyman, brought me in as a Senior Developer (and its
corresponding pay "bucket"). This was my first job actually developing
software and I was, in title, a "Senior Developer," even though I knew next to
nothing other than what was covered in my college curriculum.

TLDR: Titles don't mean much...

------
Jedi72
Minimum wage killed the junior developer. I love mentoring and teaching, and I
do this as part of my current role, and would gladly take on more people and
train them and in 6 months they will be capable of going out and getting a
100k salary - I would have an open offer for anyone who feels like taking me
up on this opportunity if I could, but that would be illegal. Much better we
get people to spend 50k on a piece of paper /s.

------
bpyne
My title for my first programming job, circa 1992-3, was Junior Programmer. I
was sent for two weeks of Oracle training on my first day. We didn't have a
formal mentoring program, but the team was small and everyone was open to
helping me anytime I needed it.

My recollection is that "Junior" positions phased out along with training
programs as companies demanded pre-trained people. It seems like companies
have basically shifted all the cost of training to the individual. This is
having an effect on college computer science programs as students and their
parents demand programs more catered to industrial needs. (The paradox is that
industrial needs change before a student can actually graduate.)

Personally, I would love to work with Juniors and mentor them. In the absence
of Juniors, I suggested that I do "lunch and learns" with our Help Desk people
so they can be more than just ticket routers: maybe act as analysts before
tickets get to senior people like me. As of yet, my manager and the Help Desk
manager haven't approved. So, we keep riding the carousel of status quo.

------
rumcajz
Isn't the problem the high turnover rate in the industry? Why invest in
educating someone if they are going to quit in one year or so?

~~~
emodendroket
What I've seen (and frankly even what I experienced in my own career) is that
really junior people are grateful to the company that gave them their first
opportunity and also (to a degree that might even be called naive) invested in
what their companies do, and for that reason tend to stay at companies a long
time compared to more senior people.

~~~
autotune
More ops than dev, though still have to do both, but this has been the case
with me as well. I have been open to staying at a company longer given they
are willing to pay a reasonable salary and have the right type and amount of
work. No point in switching every year if you're somewhere decent.

------
lmilcin
The demand for developers is such that no company can ignore hiring and
training junior developers.

IMO companies have relabeled them to developer and even to senior developers,
presumably to make hires feel better that they joined exclusive group of
people.

This may also be a result of some tension in HR departments where they are
expected to provide some number of headcounts on different levels but they
can't. So there may be natural inclination to prop up the hires to meet plans.

The body leasing companies are also inclined to prop up their candidates to
offer them for higher rates.

Some regions of the world (my experience is with India) don't seem to have any
junior developers. As soon as they are done with their training they have
gained enough experience to be marketed as developers.

I work for one of very large companies in financial sector and people who
barely can write a loop in Java are still named senior developers.

All this depreciates value of the official recognition of seniority and forces
people to discover this on their own.

------
thisisit
I have seen the "we don't want to waste time teaching people. So, hire only
senior developers" scenario play out at couple of my previous employers. And,
it doesn't end well.

Senior devs have expectations around salary, growth and work. Over time when
the company starts running out of steam - funding, growth or even interesting
work it gets difficult to keep the senior devs happy.

Once that scenario plays out, companies start scrambling to find interns or
junior devs and find out, not many are not interested in working for them
because they heard "rumors" about company's hard-ass culture on "not learning
on the job".

Slowly, company realize that a team made of only senior devs is too costly for
the value they provide. And company starts to cut down, put in hiring freeze
telling the senior devs to produce more per person. Some even go to the extent
of firing some seniors and getting junior devs and then allowing people to
learn on the job.

~~~
chrisper
>Senior devs have expectations around salary, growth and work.

A Junior Dev will have them, too, though. Not the ones fresh out of college,
but maybe the ones that already worked for 6 months or so.

~~~
thisisit
No doubt about it. The only difference is Junior Devs expectations can be
tempered a bit. Senior Devs are more demanding.

------
gnachman
My experience at Google and Facebook is that junior devs are hires in great
numbers. Intern season means you can’t find a parking spot because there are
so many of them. This article doesn’t ring true to me, but my view of the
world is narrow since I’ve only been at big companies. Is he talking about
startups? I thought those skewed young too.

~~~
bpicolo
I suspect this is referring the world of software at large, outside the SV
sphere of influence.

------
mukundmr
The investment an organization makes in helping junior developers get up to
speed pays off in the longer run if the workplace isn't toxic. Ideas flow
better when there is a difference in experience level in the team. Mentoring
also helps experience people learn more as opposed to settling down in a
comfort zone.

------
lifeisstillgood
This is one of those "each generation thinks it invented sex" issues - each
company looks like it never trains internally, and we assume it's driven by
reasons X (cheaper to not train anyone than train people and lose them)

my personal view is that most organisation structures are designed to prevent
code quality and hence the reason to train anyone (senior or junior) is
diminished.

My idealised view of a software dev org is a well defined code area owned by a
single dev lead. that person has responsibility for certain metrics from
"quality" to "performance" and "style" and some business kpis derived from the
code area - and then stop measuring features produced to measuring how well
those features are implemented.

sorry it's a bit early to get this clearer - will revisit in an hour just
wanted a opinion

------
soheil
The OP is missing a rather obvious point. A junior dev after months of
training could jump ship for much better comp now that they're less junior or
that suddenly some other company's product interests them more. Another point
missing is that sometimes there are very hard problems (eg. self-driving cars,
fusion power, DNA pattern matching) that need solving quickly and that's what
some companies try to do, there are other type of companies that solve more
mundane problems (hr software, customer relation management software, email
tool) that have been solved over and over again. To bundle all companies into
one category when it comes to training junior devs is a mistake, junior devs
could be trained at companies working on easier problems much more cost
effectively and efficiently.

~~~
chrisper
I'd disagree with you in this part:

>Another point missing is that sometimes there are very hard problems (eg.
self-driving cars, fusion power, DNA pattern matching) that need solving
quickly

If you have let's say 5 senior devs and 1 junior. Then the problem still can
get solved quickly while the junior will learn a lot. Obviously, hiring 1
senior and 5 juniors would be a mistake.

~~~
soheil
>If you have let's say 5 senior devs and 1 junior. Then the problem still can
get solved quickly while the junior will learn a lot. Obviously, hiring 1
senior and 5 juniors would be a mistake.

Perhaps that is true, what I was saying is a matter of degrees not absolutes.
Let me rephrase for you: to the extend that a company is working on hard
problems they should minimize the ratio of junior to senior devs.

------
jdc0589
I agree that the fault does lie largely with employers, but it's not just
them. Jr Dev positions are there, but more often than not they are at small
local companies that likely aren't paying market rate (or at least their mico-
local market rate). For example: there are lots of places in Birmingham (AL)
with Jr dev positions, paid internships, etc.., but you can't expect to make >
$65k out of the gates.

Then again, small shops are the best place for a first dev job in my opinion.
You get exposed to WAY more stuff than you would at larger more established
places most of them time. There are downsides, but I personally think the most
important thing for a first job is getting exposed to a lot of new stuff and
learning to get comfortable in an unknown environment/stack quickly.

------
chuckmcknight
When I got started, Junior developers were assigned to senior developers doing
maintenance programming. It was important work but it also gave you time to
come up to speed on the system without the crush of new feature development
deadlines. Sadly, it seems that not only do companies not do that these days
but the new breed of developers seem to think they are too good to do
maintenance programming. I learned a great deal about how systems really work
and how to write robust software from some great mentors who had been moved to
maintenance work as they neared retirement but companies these days are quick
to lose older developers in favor of less experienced and less expensive
younger developers. Lots of tribal knowledge is lost in that fashion every
year.

------
mathattack
I think some of this is based on the time horizon of the company. Larger
companies (especially those who favored promoting from within) historically
have had large batches of fresh graduates, and trained and mentored them.
Without these programs, they wouldn't have future executive talent.

Smaller companies had less relative incentive. By the time someone is good,
you might be flipping the company, or bankrupt. (This isn't to say it's not
worth doing, just less incented)

This shift was one of the largest differences I had to adjust to going from
large to small. (It isn't just that mentoring isn't rewarded, it's that there
are short term disincentives - the benefits from mentoring likely come in the
next company, or the one after that)

What's this mean? Just that the burden is on the mentee.

------
k__
In Germany at least we have apprenticeships and working students.

There is a apprenticeship program for developers (Fachinformatiker für
Anwendungsentwicklung -> Qualified IT Specialist for Application development)
which gets rather much practical knowledge, since they only go, I think, 2
days a week to school and 3 days a week to work. This takes 3 years, so they
have much time to transition from a newbie to a junior to a senior.

The main problem is, most "professional school" are quite shitty. So if your
company doesn't have good apprenticeship programs, you're basically stuck with
learning outdated stuff at school and nothing of value at your company.

I studied computer science and worked as a web developer on the side, so I
wouldn't finish my studies without practical knowledge.

------
aidos
Probably a good time to say that we're trying to hire a Junior Developer in
London, and I'll be providing as much mentoring as they want.

[https://news.ycombinator.com/item?id=16285477](https://news.ycombinator.com/item?id=16285477)

------
commandlinefan
> When they didn’t understand there would be a lag as I taught these people.

In a world run by MBAs who figure that any programming task, regardless of
complexity, ought to take an hour (MAYBE two) and if it takes longer that
means the programmer is incapable, this is hardly surprising.

------
RangerScience
People talk about a "developer's union" ever so often, and one of the most
commonly brought up counter-points is "well, but what would we need to fight
for as a union?" (not that I agree there isn't anything (else) to fight for,
but:) it occurs to me that this is an excellent possibility.

Devs change jobs. This is good, but (as pointed out) means you maybe don't
want to train people up; it's the next company that benefits, not yours. But,
maybe if everyone paid in - companies AND people - a scheme could be figured
out where you'd know that it's fine to train up, since you'll get the benefit
of someone else being trained up.

It's still long-term thinking, which others are pointing out isn't common.

~~~
Caveman_Coder
> "well, but what would we need to fight for as a union?"

Improved compensation, benefits, bonuses, stock options, paid conferences,
training, etc...

~~~
logfromblammo
Bottom-up control of the development process. Our own apprenticeship pipeline.
Our own certifications. Genuine influence over interviewing and hiring
practices. Minimum contract terms. Our own lobbyists. Promoting business for
members outside of Silicon Valley. Our own jobs board. A general strike fund.
Our own retirement planning and pensions system. A backup health insurance
option.

The lobbyists can start by bringing down the exemptions on overtime pay for
tech workers, and by trying to loosen immigration restrictions on the people
of our industry.

~~~
Caveman_Coder
> "loosen immigration restrictions on the people of our industry"

I don't think a U.S. union would try to loosen immigration
restrictions...they'd care about protecting the rights of U.S. workers...also,
why would a union representing U.S. workers want to increase the labor supply?

~~~
logfromblammo
Naturally, it would be to ensure that all the best people in the world are
members of the union, and employing filthy non-union scabs would therefore
mean lower quality product.

The companies are multinational, so the unions have to be multinational, too.
If the company tries to skirt around the union by doing the work in India
instead of the US, the union should anticipate the move and surprise the
company by already being there, still demanding a better deal for _our_
people.

I anticipate the demand for people with technical skills will continue to rise
in the future. There is no need to artificially limit the labor supply
anywhere, even worldwide, because the world's universities already can't crank
out enough people with official credentials. (And when they do, the new
graduates still can't get jobs, because that degree apparently still isn't
good enough to meet business expectations.) The union could still eat up much
of the bootcamp and intern business with its own apprenticeships. _That 's_
when it might try throttling the supply, _after_ gaining some control over it,
by operating at the optimal point for monopolistic competition. Restrict it
just enough to squeeze more money out of the market, but not enough to allow a
new competitor to enter.

And it benefits all of us to be able to shop around to different jurisdictions
as easily as those who employ us. The countries and companies that provide the
most attractive environments will get more of us, and therefore prosper, while
those who are hostile will get less of us, and therefore rapidly descend into
a new dark age of wretchedness and despair, where nothing works properly and
half the kiosks and infoscreens either show BSoD or a console screen with no
attached keyboard. Then they will rue the day they snubbed the nerds, and weep
into their low-tech cloth pillows.

(WARNING: This post may contain hyperbole.~)

------
Caveman_Coder
So I've read through most of the complaints listed here and it seems like
having a Software Developer Union would be one way to go. You could then have
your jr devs undergo an apprenticeship similar to how we did it in the trades
(5 years to become a Journeyman).

------
bdreadz
My company hires junior devs. We mentor them and train them up. When their
skill level goes up they get paid more after reviews. Some have left and
that's fine and is natural in a company. We take interns on too and have hired
from that pool as well.

------
jxramos
Underwhelming article. I'd say the junior devs are now funneled through
contract positions. My experience has been that my companies I work for
typically take on junior level roles as interns or contract positions. Take on
a couple of contract gigs in the early part of your career till you find a
place you like and become a recognized and appreciated contributor. Then when
your contract expires push for converting to full time, which usually works
best with a counter offer in hand. Throw the dice on dice.com but withhold
your full contact information and only give it out to roles you wish to
filter. You'll thank yourself in the future in avoiding future spam.

------
eddd
First of all, absolutely no employer (at least the sane ones) cares if you are
junior/senior/old/ninja or superman. The goal is, to hire people that generate
a cash turnover. If you cannot deliver a value that the company can capture as
a profit - you are denied. It is that simple.

Maybe these "Junior" people just don't know enough to be productive? How can I
hire someone who will waste my time on explaining something that is so basic,
one can learn by being involved in open source?

And here is the conclusion. Stuck in Junior limbo (what ever that means)?
Commit to some open source project, show me value you can create. I guarantee
you, you'll be hired.

------
mbrodersen
The existential angst experienced by Hacker News developers is amazing. One
moment I am reading articles proclaiming that "nobody hires Senior Developers"
(which is nonsense). And people freak out. Followed shortly by "nobody hires
Junior Developers" (which is _also_ nonsense). With an equal amount of
freaking out. So should we conclude, based on the "wisdom" of Hacker News,
that nobody hires any Junior _or_ Senior _or_ any other Developers of any
age/sex/...? Of course not. Because developers get hired every day, all the
time.

------
tiuPapa
Wait I see so many comments about how junior devs not being hired that much
anymore. So is this really a bad time to consider software development as a
career path if I have no degree or required formal training?

------
dglass
Shameless plug: I’m starting a newsletter writing about career advice for
junior developers. I’m at the point in my career where I feel like I can share
my experiences and give direction on what I learned and what junior engineers
should focus on when it comes to soft skills. I won’t be getting too
technical. It’s the soft skills that I struggled with so it’s the soft skills
that I want to help with.

If you’re interested you can subscribe at
[https://exponentialbackoff.substack.com](https://exponentialbackoff.substack.com)

------
blauditore
I find this surprising. My experience is that companies are generally
competing for developers, even junior ones. Some actively go to universities
to advertise their company for this exact purpose.

------
z3t4
Companies want to hire junior developers because they can pay them half of
what they pay senior developers. But they also want the junior developers to
have the same experience ...

------
pascalxus
I had a similar experience. 15 years ago, with less than 1 year of experience
I couldn't get a job to save my life. I had to work for companies for free!
5-10 years later, I was getting up to 5 offers for a job while interviewing.

And yet, it's not like junior developers suck. I've seen plenty of junior
developers who can build up an application, no problem. There might be some
mistakes along the way, but they're able to get the job done.

------
rossdavidh
I've seen junior devs hired and trained/mentored in pretty much every shop
I've worked in (could be an Austin, Texas thing). But, if this is a problem
generally, would it not just be a consequence of not expecting to be able to
keep junior developers long enough to benefit from them? Or, if the hiring
managers intend to flip the company in a year or two, not really caring about
the long term pool of senior developers?

------
TylerJewell
Hi - Melissa's blog post and the ensuing thread encouraged us at WSO2 to share
our views on this topic in a response essay that talks about the importance of
junior software engineers in a company.

[https://medium.com/@tylerjewell/bringing-life-to-new-
softwar...](https://medium.com/@tylerjewell/bringing-life-to-new-software-
engineers-f7a910966431)

------
sterlind
Smart junior devs make good algorithm designers. Most senior devs don't
remember algorithms unless they do that sort of work - they just call into it.

Hire several and put them to work under a good mentor, on a project that
requires little domain knowledge. They won't slow the seniors down, and
finding a single successful one is worth the cost of taking a chance on the
bunch.

Remember, most startups happened with teams of fresh grads.

------
49531
I'm lucky to work where I do. We have the best system I've seen for growing
junior developers. Our team is about 60 engineers and I'd say close to 20 of
them are from non-traditional backgrounds (coding bootcamps or self taught).
It's not that we're doing anything revolutionary, we merely accept that we can
handle them, assign them a mentor, and let them learn.

------
trhway
Junior devs are significant drain on senior devs resources which could
otherwise be spent more productively. And once he or she matures a bit, he or
she gets hired somewhere else as senior for double the money. Thus hiring
seniors and not bothering with juniors have obvious business sense (until
there is a way to bound juniors somehow - for example by immigration).

------
ranci
> For my own part, I’m happy to mentor folks

Oh joy, I can't wait to be mentored by someone who held a bunch of random
front end positions for about 8 months, has 2 endorsements for javascript,
nothing for backend, no degree in this field, considers themselves an author
now and uses their gender as a weapon/excuse in their public musings.

------
eliben
Stack Overflow pops up plenty of "new grad" level jobs all the time, for
example [https://stackoverflow.com/jobs/155829/google-software-
engine...](https://stackoverflow.com/jobs/155829/google-software-engineer-new-
grad-google?med=clc)

------
runedog
Does anyone have any suggestions on how to make myself available for mentoring
over the internet? I'm sure there's many possibilities, but has anyone had
actual success with any?

Preferably I could get paid doing it, but if that's not really feasible then I
wouldn't mind pro bono.

~~~
Raphmedia
Find a Slack or IRC channel and hang out there. Example: I spend a lot of time
in #FoundationSites, #Symfony, #Aurelia and answers questions there.

------
timvdalen
Off topic, but this is the first Medium membership-exclusive content I've come
across.

Discussion about it:
[https://news.ycombinator.com/item?id=13933550](https://news.ycombinator.com/item?id=13933550)

------
mixmastamyk
This piece reminded me of my days in the restaurant business as a teenager.
Was common for everyone to do a tour there, but now the jobs are mostly done
by the “undocumented.” Don’t care to discuss the politics of that but it feels
similar.

------
anovikov
This is of course because of outsourcing. Junior devs usually do repeatable
tasks guided by a manager closely, which is exactly what outsourced heads can
do, definitely cheaper than the junior devs in the U.S. would. This is normal.

~~~
akerro
Guess who won't have senior devs in 10-15 years.

~~~
anovikov
Outsourcing destinations, because there is little demand for senior
outsourcing heads. They become harder to manage, and their jobs are high
impact enough to justify the expense of hiring them in the Valley directly.

People who outgrow junior level will just make their own startups, or move to
U.S. from the locations: outsourcing shops won't need them; more: they will
take conscious effort to prevent them from ever growing, because growing, they
become threats to these body shops.

------
jmurinello
Here's a plausible answer: [https://blog.codinghorror.com/why-cant-
programmers-program/](https://blog.codinghorror.com/why-cant-programmers-
program/)

------
skookumchuck
Seems like one week I read that firms only want to hire freshly minted
engineers because they are cheap and easy to exploit, then next week I read
they only hire senior developers because they're more productive.

------
ranci
The great irony of this article is that the author has degrees in forestry and
agriculture and a very weak development skillset based on their LinkedIn
profile and they still got a junior developer job.

------
ThomPete
The economy killed the Junior developer. If we ever are in a situation where
there are more applicants than jobs and the economy isn't doing well you can
be sure the junior developer will be back.

------
dandare
Part of the problem is head count, at least in the company I work for. We had
a hiring freeze and now we are allowed to hire two heads. I would love to hire
one senior and two juniors but I can't.

------
almostApatriot1
pretty sure the easy answer is Bootcamps

~~~
Clubber
Or just read a "Learn FancyNewLanguage in 14 Days" book.

/s

------
meerita
Is out there any data or evidence that support her article? to me it sounds
the typical bubble problem: you think it's generalized problem but the data
shows another thing.

------
PokeTheCiTy
300 $ / hour ? 300 * 8 * 5 * 20 -> 240K$ per month ? It seems far too much.
This might be why they can't afford junior developer.

~~~
avaika
What's the "5" in your equation? :)

However it's still way too much. 300 * 8 * 22 * 12 = 0.63M per year. In my
opinion you must be at least Linus Torvalds's deputy to pretend on that.

~~~
duykhoa12t
Did she mean daily rate? I wonder if a junior ask for this rate, of course the
company has no chance to afford a senior dev.

------
yasinaydin
I am so pissed of that "Only members of Medium may see responses to this
story."

I thought I was a member but I learnt that it is 5$/mo.

------
tanilama
In an industry, glorified itself with automation, it is not really that hard
to find out the automation first happens within itself.

~~~
sterlind
There are always higher abstraction levels and new problem domains. If you
lose your job to automation as a software dev, you've gotten complacent.

Put junior devs to work on the new stuff, not what you started on yourself.

~~~
tanilama
Junior dev needs to establish trust before they can be put into the 'new'
stuff. They are called junior, for a reason.

Ultimately, this industry now has enough people to spare, impact is what
everyone is fighting for, this applies for junior dev as well.

------
b0rsuk
Junior developer here.

I worked as a programmer for 1.25 years. I left 3 years ago, the company went
bankrupt yesterday. When I last checked about it, I saw several of my
coworkers replaced with someone else.

The boss kept adding people to his 10+ sales team, and I remained the only
developer. Not very long after I joined I prepared a speech about needing a
lot of time and preferably an extra developer to clean it up. The web app was
written by 1 person for 4 years. No documentation of course, not tests, guess
what also no version control. The boss had a sales background and I guess he
considered salespeople sources of income, while developers - sources of
expenses.

I guess I should be grateful that he hired me? Yes, but the only thing he
cared about was if it works and how it looks from the outside. The few online
comments there were on the bankruptcy article included one that said the place
had mobbing, and another he was lucky he was rejected when asking for a job
there because the interview was terrible. (When _I_ was applying, I got a
proposal to work with no contract in exchange for higher pay. I rejected that
one.). I thought I was maybe paranoid or oversensitive, but now I'm sure I got
hired in the first place because I looked desperate.

If I performed stellar, I would have a good success story, but there's limit
to how many advanced topics a junior developer can pick up alone while still
cleaning up. REST endpoints could really have helped against competition, but
then again if he hired an experienced dev after me he would have saved him
too. I made a point to write reST documentation describing everything I
learned during refactoring/upgrading process, how to run tests, what the
various modules are for, where the bottlenecks are, the staging server image,
etc.

I fucked up when switching jobs and didn't sign a contract immediately. I
thought a verbal agreement was enough. Then I was fired after 4 days, citing
poor performance, slooow work speed etc. I never thought I was amazing, but
with his other hand the new boss offered me to enter an internship program. He
said I would learn a lot. He also sent me some Python video tutorials made by
his friend (who works at a university). I told him I took mine from MIT and
certainly don't believe a country whose best university is not in the top 400
globally could produce something better... and it was basically a backwater
university, not even the top one. Later I found out he had a deal with an
(state-funded) employment bureau. He was providing internship programs for
aspiring programmers, and the bureau was super happy to send people on
"training programs with guarantee of employment". Both parties were happy -
the crook had a constant influx of temporary cogs, the bureau had could boast
high effectiveness. I keep seeing new entry level developer jobs from that
place, and yet the company is NOT growing.

Let me tell you it takes a tremendous amount of willpower just to train at
home and remain employable. I've found that hands down the best thing I can do
to keep getting job interviews is to regularly commit to github. I enjoy
programming, but I'm not passionate about it. You can like strawberries, but 3
pure strawberry courses a day is too much for most of us. It helps to have not
one but a variety of side projects so you can alternate between them, and at
least one extra programming language (I rewrote someone's glitch art app in
Rust).

It doesn't help job interviewers are kinda autistic. I don't mean in the "they
suck" sense, but that they have major communication problems. They never tell
why they didn't like you, you must infer it from their behavior and observe
what kind of behavior gets you more interviews. They always think they can get
another one, so why bother explaining anything. Depression + anxiety doesn't
help. Dating is super fun by comparison. At least you get to see a pretty
girl.

The bottom line: some people only hire junior devs to cut costs.

------
treve
Some data that's not anecdotal would be nice. I work for a fairly large SF
company which hires mostly newgrads every year.

------
banku_brougham
Hire and develop the best: Leaders raise the performance bar with every hire
and promotion. They recognize exceptional talent, and willingly move them
throughout the organization. Leaders develop leaders and take seriously their
role in coaching others. We work on behalf of our people to invent mechanisms
for development like Career Choice.

edit: this is from the Amazon leadership principles

------
throwawaypanda
>Or track the people struggling with development into a place where they can
succeed like project management

Do you really want project managers who couldn't cut it as a developer?

I'm assuming we are talking about software projects here. If so, the idea of
putting someone who couldn't make the grade on the bottom rung in charge of
the whole enterprise seems like a bad idea.

------
jlebrech
companies need to follow the 80/20 rule. 80% non-junior developers and 20%
junior. Juniors should do 80% of the work and seniors should have 80% of the
knowledge. if the juniors are busy doing things then the seniors that focus on
hard tasks.

------
kibrad
the guy that code reviewed him

~~~
stephengillie
Senior Developer in the Screen Share with the Pull Request.

