Live data from Hacker News

Who Killed the Junior Developer?

medium.com

171–180 of 803 posts

Re: Who Killed the Junior Developer?

#171
post #161

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…

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.

>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.

Re: Who Killed the Junior Developer?

#172

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 organizationa…

> I think the "Junior" title is used entirely by companies to get a discount at salary negotiations these days. I think there's some truth here. What I consider some proof of this, is an unsolicited recruiter email I received today. The role was called junior web developer, a $25.00/hr contract only position, but listed a mathematics or CS degree as a requirement. Like, am I nuts to think this is preposterous?

When recruiters reach out to me, I just list them what I expect including salary expectation. If they still respond after that, then it is mostly worth my time.

But I noticed hiring practices here in Europe are much better anyways than in the US.

Re: Who Killed the Junior Developer?

#173

Earlier quoted context omitted.

> 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. It's a bit of a leap to conclude that on the basis that you weren't asked by management to mentor junior devs. In fact, it's possible management assumed you would do mentoring and didn't need to be told.

The impression I got was not that he was inferring that short-termism has infested culture due to the fact that he is no longer able to mentor junior devs. I believe he was saying that short-termism (which his belief is everywhere and I assume he has this opinion based on external beliefs not listed here...) is the root cause of this. Not many people hire junior devs anymore. I tend to agree with him, and believe it…

Implying management isn’t tech? You mean isn’t engineering? (Well, people engineering....)

Re: Who Killed the Junior Developer?

#175
post #138

Earlier quoted context omitted.

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.

As someone else who have hired developers I agree with the parent post here. Examples include: - totally oblivious to standard library for the language/frameworks, reimplementing the most basic things (poorly) - even after a 3 year CS education, lacks basic understanding of object-oriented programming/class hierarchies - has trouble implementing even simple if/else-conditions without help I’m talking really basic stu…

The if/else part is really astonishing. The other ones I can understand in SOME way but the if/else is logic that's used in every day life. If I do this then that will happen, otherwise this other thing may happen. Very surprising.

Re: Who Killed the Junior Developer?

#176
post #131

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…

I'm curious about what the common deficiencies that your encountering are. Do you mean lack of knowledge and testing and more applicable skills?

Unfortunately I can't share the exact questions we ask, but here's a smattering of the sorts of pitfalls I encounter, in no particular order:

* Number one is probably no Big-O performance considerations, or Big-O is an afterthought. For the love of God, please please please don't do a linear search on an unsorted array anywhere inside a nested loop. If you're going to do any appreciable number of lookups, preprocess your data into a hashmap, hashset, whatever.

* No or insufficient considerations for edge cases. What if the input array is empty? What if I pass in invalid arguments? What if the strings aren't ASCII? What if the numbers you're multiplying are very large? What if the input is coming from an untrusted source?

* No questions about the size of the input. Some of my favorite questions are those whose solutions bifurcate on whether the input can fit on in memory, or whether it's coming in on a network stream. Some questions involve multiple arrays, and I always like to ask "you assume A is much bigger than B, but what if A is much smaller than B?"

* We place a great deal of weight not just on the solution, but on justifying why that solution is the most appropriate one. More often than not, this hinges on the Big-O performance and the system on which we're running. It's a mistake to dive right in to your solution, because it robs you of the opportunity to demonstrate that you have multiple fully-formed ideas knocking around in your head and you need to choose which one to code up. Otherwise I might get the impression that you only have one way to solve a problem.

* Sorting the entire array when I ask you for the top N elements! Getting the top handful of elements is a linear-time operation, people!

Bonus points:

* No consideration for parallel processing. I've run maybe like two serial production workflows in my entire career. Try to parallelize your solution to handle bigger inputs.

* Don't forget cache performance! I usually let candidates working in Python or other high-level languages slide on this one, but those odd C/C++ candidates have a major opportunity to impress me by optimizing their memory access patterns for cache performance.

* I let this one go for intern and entry-level candidates, but testing should never be an afterthought. The moment you finish your implementation you should throw input/expected output pairs on the whiteboard. You don't even need to walk through them super carefully, just show me that you know how to design test cases.

Re: Who Killed the Junior Developer?

#177
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.

Re: Who Killed the Junior Developer?

#178
post #138
post #131

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…

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.

I gave a little writeup to a sibling comment, PTAL.

Re: Who Killed the Junior Developer?

#179
post #140
post #135

Earlier quoted context omitted.

Code review is horrible way to teach. Especially with reviewers common in tech who just can't tell difference between differences of opinion and crappy code. Or difference between "how I would did it" and bad code.

I don’t agree with this at all. It’s up to the participants to argue their points and see who has more valid designs. I became a much much better programmer by learning from senior devs who review my code.

Except when Juniors are humble and like "yes sir yes sir", don't defend their design assuming seniors know more and internalize everything. And except when seniors give conflicting feedback based on what they read yesterday. It was mostly impact on those juniors I found bad. They were told their code is crappier then it really was and lost a lot of confidence. They started humble and ended afraid to do anything except simplest tasks.

Also, they got only and exclusively negative feedback. Instead of being told in advance how to do things where we are opinionated or being encouraged to ask questions or just being led/given hints, they were expected to do it alone. Then they were told they done it badly and were effectively dictated how to rewrite it.

Tech is not different from anything else - teaching people should involve more then just telling them they suck. It should involve telling them what they are expected to do in advance.

Re: Who Killed the Junior Developer?

#180

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 firs…

I've never been explicitly mentored but I've been lucky to work places where there have been colleagues with things to learn from by example and inference. There does not need to be an explicit mentor relationship for knowledge to spread if work is done in teams and culture of open communication is cherished (at least on the team level).
Post reply on HN