Live data from Hacker News

Ask HN: How do you define a junior developer?

news.ycombinator.com

61–68 of 68 posts

Re: Ask HN: How do you define a junior developer?

#61

Junior Senior Requires Supervision Provides Supervision Creates Systems that are Resistant to Change Resolves Technical Debt Looks for "easy wins" Seeks to understand tradeoffs Capitulates easily to PMs/etc. (usually to the detriment of the business) Demands cogent plans from business concerns Is always right Fosters discussion and examination of practices (especially their own) by the whole team Easily dazzled by ne…

I think an important note is that for all of those "Senior" traits, the extreme of each can be negative as well. It is always important for a developer to find a balance between engineering excellence and providing business value.

Re: Ask HN: How do you define a junior developer?

#62
post #21

"Do you have ten years of experience, or do you have one year of experience ten times?" A junior programmer is someone who has never learned from a serious mistake they've made while programming professionally. A junior programmer is someone who thinks they should be senior thanks to the Dunning-Kruger Effect ("Hey, I was an honors student at this great college!"). A junior programmer is someone who can't usefully me…

That post makes just as much sense of you substitute "junior programmer" with "consultant".

Re: Ask HN: How do you define a junior developer?

#63
post #49

Earlier quoted context omitted.

Nothing fixes this type of junior engineer faster than giving them some real responsibility. Let them fail then learn from it. Don't hold them back because that just builds up resentment.

Sadly, it's at odds with the psychology of corporations. At big companies, it's more important to not be wrong than to be right. This is not conducive to the sort of mistake-based learning that really advances people. "Move slow and don't break anything!" is what the corporation wants, whether or not they phrase it that way. So junior engineers aren't given responsibility, because they might break something. I was lu…

"At big companies, it's more important to not be wrong than to be right. This is not conducive to the sort of mistake-based learning that really advances people. "Move slow and don't break anything!" is what the corporation wants, whether or not they phrase it that way."

This is a perfect summary of working at corporations

Re: Ask HN: How do you define a junior developer?

#64
post #16

It depends on when and why I'm defining it, but my guidelines are more based on how they work than what they know: * Junior developer - Will not produce much business value if left alone, and may produce nothing at all. Requires supervision. * Intermediate developer - Will produce something if left alone, but not necessarily what the business most needs. Needs minimal supervision, but defined goals. * Senior develope…

>* Junior developer - Will not produce much business value if left alone, and may produce nothing at all. Requires supervision. This is what people here like to believe. But I don't think it is really true. A kid straight out of college can generate immediate business value if he/she can set up an online shopping cart in Php to give a business an online presence. I am pretty sure that the same kid can code up any bus…

I agree with you. My observation is that most graduates out of college are able to formulate strategies to high level problems, rapidly create working solutions and generally be productive.

What sets us apart from the senior developers as pointed out by the CTO of my company seems to be experience in writing good, scalable code. More often than not this means adhering to best practices, linting and testing extensively and many other things that in general come with experience.

Re: Ask HN: How do you define a junior developer?

#65
post #6
post #2

IMHO, Junior developer or junior whatever means that the person has little to none experience in the field. That doesn't mean that this person has no knowledge. Personnally, I see a Junior whatever as someone who has some theoric knowledge about the whatever but did not have the time to apply it yet.

What about those who have little theory but some application? e.g. I did marketing in college but developed and published 3 iOS apps.

As a side project / alone or in an organisation? I assimilate the former as theory, usually your work in this sort of project was not challenged by your pair. In an organisation, your work has been reviewed, challenged and you had gain real experience from that.

I don't know how to categorize the next case: A group side project. The work is challenged, but it is difficult to prove.

Re: Ask HN: How do you define a junior developer?

#67
To me, a junior is someone who doesn't know what or how much he doesn't know. From either a technical or a practical/logistical perspective. A junior might also be someone who doesn't know how to find answers when she does recognize something she still needs to know.

A junior will either get paralyzed by being unsure where to start, or will confidently plow through a problem creating an enormous mess of unstructured code until he gets stuck either on a hard part or because his creation is collapsing under its own weight.

A mid-level engineer is aware of how much he doesn't know and also knows and uses techniques to remedy that situation. A mid-level engineer can't yet do everything on his own, but he knows that. The best mid-level engineer knows when to go to Stack Overflow for details on how to use a library, and when to ask a senior teammate for design or architecture advice.

A senior can be trusted to work almost entirely unsupervised. She still doesn't know everything, but she's had enough experience in how not to do things to be able to write maintainable and extensible code on her own. She may still run her choices by a colleague for a sanity check, and she still needs to google anything from a method signature to workarounds for a library bug to tutorials for a new framework. But she's capable of producing excellent output even in professional isolation.

And job titles mean nothing. Apparently in the iOS world, if you're not entry-level (as in fresh out of a 6-week boot camp) you're a "senior". Which is ridiculous. Not to mention making hiring actual experienced people impossible.

Re: Ask HN: How do you define a junior developer?

#68
post #56
post #16

It depends on when and why I'm defining it, but my guidelines are more based on how they work than what they know: * Junior developer - Will not produce much business value if left alone, and may produce nothing at all. Requires supervision. * Intermediate developer - Will produce something if left alone, but not necessarily what the business most needs. Needs minimal supervision, but defined goals. * Senior develope…

It is odd seeing this definition getting a lot of love here, while job ads for "Junior Developers" ask for a college degree, proficiency and 2+ years experience in Python, JS, HTML, and CSS, and a portfolio of 5 websites plus 1000+ stars OSS projects in Github. Mostly, "Junior Developer" means "we want a developer but don't want to pay market rates".

Some of those position descriptions infuriate me. Having recently gone through a job hunt, I'm not yet ready to joke about them while sober.

I mostly agree with this definition, though I don't know who would hire someone that can't produce any business value. Hell, why bother with a CS degree if your employer is going to teach you how to do everything?

IMO, there's no excuse to have a blank resume when you graduate. Someone goes through a 4-year CS program and has no side projects? No part-time jobs, no research, no internships, no contracts, no silly hacks or anything to show for the past 4 years other than a diploma? If there's a business that profits from re-re-rewriting bubble sort I'd love to hear about them.

There are probably better ways of answering the question, but I think all those position descriptions are asking is "can you actually do things that ?"

Post reply on HN