Live data from Hacker News

Ask HN: How do you define a junior developer?

news.ycombinator.com

51–60 of 68 posts

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

#52
post #35

Earlier quoted context omitted.

* Senior developer - Will produce immediate business value _only_ if completely ignored.

I have to disagree with this; a senior developer will produce more value if not completely ignored; if involved with the company, they can then not only help steer the technological direction of the company, but also move tech towards the company's future goals, not the company's current state. If left undirected, they will still move tech and be productive, but not necessarily in the direction the company wants to g…

Many managers produce negative value!

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

#53
post #45

Earlier quoted context omitted.

I hope I'm gonna stay Junior longer! I don't want to start using goto...

Without goto, you get to maintain several copies of your cleanup code, all different: int insane() { FILE *a = open("a", "r"); if (!a) { return -1; } FILE *b = open("b", "r"); if (!b) { fclose(a); return -1; } FILE *c = open("c", "r"); if (!c) { fclose(a); fclose(b); return -1; } int rv = (do something with a, b, and c); fclose(a); fclose(b); fclose(c); return rv; } Now here's an example where you only need to mainta…

Of course in this case you can avoid both the repetition and the goto at the cost of more nesting:

  rv = -1;
  a = open(...);
  if (a) {
    b = open(...);
    if (b) {
      c = open(...);
      if (c) {
        rv = something(a,b,c);
        close(c);
      }
      close(b);
    }
    close(a);
  }
  return rv;
I wonder if there is some sort of program organization analog of Heisenberg's uncertainty principle, where the product of some measure of repetition, some measure of non-structured jumping, and some measure of nesting must be greater than a certain value?

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

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

The previous post made it pretty clear that there are no timelines attached to their perception of developers - a person that brings business value to your company without supervision should not be a junior developer, regardless of whether they have decades of industry experience or are fresh out of college.

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

#55
Technical skills required for senior: understand the fundamentals of networking and concurrent development, be able to effectively debug and troubleshoot. Tell me how a HTTP request works, be able to whiteboard a deadlock, be able to step through code with a tool (don't really care if it's VS or gdb).

Soft skills required for senior: help teammates help themselves by documenting and/or improving the development process and providing constructive criticism/best practice advice.

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

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

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

#57
There's a rope making / knot tying analogy on the web for generally defining JuniorIntermediateSeniorExpert levels.

The chart I've linked draws distinction between Management / Professional Individual / Support Individual.

Word Doc: files.meetup.com/10036672/Leveling%20Charts.docx

I believe Software Developers fall under the Professional Individual Contributor class in the Leveling Chart.

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

#58

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…

This is beautiful. I'm about to have a job interview where they "test" for seniority to determine pay. These are all great points for arguing why I deserve the high end even if I didn't 100% ace whatever obscure questions they have on their technical test.

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

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

I agree with the reasoning behind this description, but would like to add a couple points:

* Junior developer - Will produce some value with guidance, probably not much if left alone. Code will be terrible if left alone.

* Intermediate developer - Will produce value if left alone, but will write code in a way to just "make it work"

* Senior developer - Will produce value if left alone, but will write code considering the long term implications of whats been done. Is it maintanable? Is it easy to read? Is it easy to extend?

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

#60

Earlier quoted context omitted.

I don't see looking for quick and easy wins is not a negative, nor is in opposition to understanding trade-offs.

Notice I didn't say "Negative -> Positive". It says "Junior -> Senior". Thinking about it further, I don't think it's possible to properly get to the second state (tradeoff-understanding) without going through the first (win-seeking) at some point in your career... in fact, when I'm hiring Junior devs I select for win-seeking behavior. "Tradeoff-understanding" is more of a philosophical disposition that one (IMHO the…

No.
Post reply on HN