Ask HN: What's the Different Between a Senior and a Regular Developer?

13 points by acidfreaks ↗ HN
I am into web development (Front-End first then I'll jump to the Back-End). I am curious what could give me a significant competitive advantage?

How do you categorize Senior, Junior or Regular developers? Is it production-experience, languages/frameworks knowledge or knowing best-practices?

Looking forward to hear from you guys.

12 comments

[ 2.5 ms ] story [ 39.6 ms ] thread
Hopefully a senior developer has learnt from some expensive mistakes made before (preferable on a prevpous employers dime)...

:-)

I like the medieval analogy for masons:

First, the apprentice learns how to use the tools to build something.

Then a journeyman can use the tools and a team to build anything.

Finally a master can build the tools, build the team, and build anything including their own workshop.

A well-known example to Mason's of this is the Rough and Smooth Ashlar:

"Speculative Masons use the ashlar in two forms: one rough, just as it came from the quarry, representing Man in his ignorant, uncultivated state; and the other, finely finished and ready for its place in the building, represents Man, educated and refined."

I don't think there will be perfect answer for this, but i will give it a try.

A senior dev is someone who should have good (hands-on) experience and can give hints/inputs on the way junior/new developer should write the code. you can even become senior by staying in 1 company for long time without learning anything new in terms of tech, so sometimes junior/new dev knows more than senior person. good environment should have mix of talented and average developers that way they all will learn.

or sometimes its just a title (in some orgs. a fresher right out of college is given sr. analyst title :) )

You can have junior developers with 10 years experience, you can also have senior developers with only 18 months experience. I wouldn't lend too much to a title, it is particularly annoying when one hears people pigeon hole themselves with these titles. That's not to underrate years of experience and mistakes a long the way, but call a spade a spade 'developer with several years of experience'
The software industry is relatively young and there are no standardized job titles with well defined skill/experience levels. Based on my own experience over the last 25 years, working with many programmers, is to ignore the official title and bucket people according to the following observations.

Junior Developer - Needs to be managed everyday or at least most days. - Has a narrow view of their job, its all about the code. - Spends most of their time thinking about how to write code at the level of individual functions. - Regularly gets stuck and needs technical input.

Regular Developer - Needs to be managed once per week. - Writing actual code has become automatic. - Thinks about designing whole modules of code. - Considers trade-offs/code patterns/best practice. - Occasionally gets stuck and needs input.

Senior Developer - Only needs managing occasionally. - Thinks about the business problem being solved. - Managing expectations and requirements is hardest part of job. - Helps solve problems of Junior/Regular developers.

Great response. As someone trying to make the jump to the senior level, this also works on the systems side as well.
2-30 years experience makes you a senior developer. It's basically a way to avoid paying people for their experience.