Live data from Hacker News

Ask HN: How do you define a junior developer?

news.ycombinator.com

11–20 of 68 posts

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

#11
There's an easy way to tell if someone is junior or not.

Are you an implementer, a solver or a finder?

An implementer is someone who gets given a task and does it. That's a definition of a junior.

Middle of the range is a problem solver. You give someone a high level problem and they solve it.

A senior is a problem finder. They tell you problems before you even know they're a problem.

This guy puts it much better than me: https://rkoutnik.com/2016/04/21/implementers-solvers-and-fin...

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

#12
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 new things (libraries, etc.) Carefully weighs benefits and drawbacks of potential tools and practices

Easily frightened by new things (libraries, etc.) Carefully weighs benefits and drawbacks of potential tools and practices

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

#13
A good junior dev asks lots of questions and eventually gets tasks done assigned to him or her on a somewhat reasonable timeline. Tasks get done progressively faster as they grow and they ask fewer and fewer questions (and usually said questions are unique, so no repeat questions for the most part).

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

#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 developer - Will produce immediate business value if completely ignored.

The domain and language don't matter for these, really. A Senior Go developer is going to produce immediate business value if you suddenly throw him/her into a Lisp team, too. Just slower.

When someone is considering hiring you, this is more or less what they're thinking about. It's not "do you know Scala," it's "are you going to make us more money than you cost." It's just hard to prove, for either side, so we talk about past experience instead.

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

#18
post #5

Junior developer is someone who was unable to negotiate a stronger position for any reason, such as experience, recent unemployment, expertise in an outside specialty, company is super tightwad about 'status' and/or pay levels, naive about negotiation, etc. Conversely, sometimes you'll also see someone at a 'senior' level because the title meant more to them than pay or other benefits. Sometimes a title distinction i…

This is absolutely not true.

I would expect a senior engineer to come into a new job and be able to propose the design a new service very quickly - its API, architecture, datastores (including sharding, replication, active-active multi-master designs, ...), DR strategy, how it fits into the ecosystem, how to scale it to thousands of QPS, etc.

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

#19
I'm a non-technical recruiter.

I get triggered when people confuse Entry & Junior developers:

Entry - Cant be trusted on their own - need hand holding.

Junior - Can be trusted on their own - like a slow mid-level developer - might need to check their code a bit after but generally know what they are doing with a little input from more senior developers in the team.

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

#20
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…

There's so much truth in this. I think it is very hard to hire actually senior developers which fit your definition, because most people who work a couple of years in the industry tend to over-emphasize their seniority.

If they did not work with exactly the tools and programming languages / libraries of the job that is described in the job offer at hand, their performance ends up more in the junior part of the scale and it will cost you dearly. I really had to learn that the hard way with several hires.

Post reply on HN