Ask HN: When are you no longer a “junior” developer?
I was wondering when a developer has gone from junior to a regular developer. I imagine I'll be on the junior end for quite a while (totally fine with this btw, right now I'm more focused on learning than title) but titles are sort of thrown around in the startup world. I imagine there can be certain criteria/levels of competency that need to be hit that are more defined than "When you feel comfortable and are productive working alone".
If you want more context, I'm a junior rails developer and am largely self taught. I'm still rather new in the startup scene as well.
10 comments
[ 3.2 ms ] story [ 41.1 ms ] threadIf you're still focusing on the "how?" and "what?" of programming, you're still junior. If you're starting to look more into the "why?", "who?", and "when?", then that's an indication of a transition to a more senior role.
Very few "senior folks" are never interested in the "how" and "what". It is just that you go through a cycle where initially someone else drives a lot of your projects; then you find yourself working independently on many projects. As you pick up more and more projects, you start delegating/helping other people pick up more work. Enabling you to do more things. Now what title you have is a function of your companies internal procedures. If you are new, I would worry more on aggressively just doing more and more projects. Till you feel comfortable going beyond the nitty gritty of programming to the why we take up one project vs the other; technical tradeoffs, business risks etc.
I'll give you an example: My friend hired two developers to build him an e-commerce site with inventory control in the backend. There are dozen of ways to approach this problem but the main thing to understand is, that he needs a solid working solution.
This was their first job, they decided to build it from scratch in Django, by reasoning that it has a great admin ui out of the box. Django maybe a good solution if he had an IT department or the e-commerce was his main business, but it isn't.
They should've offered him an off-the-shelf solution with minor modifications, a solution that is widely used and can be supported by a lot more developers.
Their main concern was to build some thing new from scratch which is tremendous amount of fun, and should be done when it is right, but it also means that you are getting your leg work on the client's expense, which can cost him to lose money.
Any given team has information flowing between members (be it business or technical knowledge) - some members give out more information than they consume - they are usually the senior ones.
Senior Developer: Comfortable leading a project, can understand architectural problems at the birds-eye-view but can also zoom-in and get granular. Proves their worth by heightening others' output, not just their own.
Developer (not senior, not junior): Provides lots of value to the team, in (likely) a narrow area of growing expertise. Can be assigned loosely-defined tasks and can "run" with them, and figure out problems independently. Asks for help when stuck, lends help to others. Proves their worth by sheer effort.
Junior Developer: Needs guidance for most tasks. Needs tasks defined in detail if they're going to be left on their own to complete them. Asks a lot of questions. Proves their worth by being a sponge, learning very quickly, and being willing to do anything.