DEV Community

Discussion on: 12 Things Every Junior Developer Should Learn

Collapse
 
tadman profile image
Scott Tadman • Edited

The difference between a "junior" and an "intermediate" is how much direction they need to be given in order to be effective.

A junior needs to be shown the way, and only then can they make progress. They'll have a lot of questions about pretty much everything, but that's expected, as that's how you learn. Example: "If I'm using jQuery, how do I get the value of a field and send that to the server?"

An intermediate is someone who, given a general description of the problem, can make significant progress without a lot of intervention. They'll have questions that are more on a strategic level, not an implementation one. Example: "Should we use this plugin from jQuery UI to handle this date picker, or do you know of a better alternative?"

A senior is someone who, given a problem, works to understand it and can come up with a solution independently. They'll have questions, but they'll be to dig deeper into the problem and to better understand the true objectives. Example: "At some point the way we're using jQuery is going to create a lot of technical debt. Can we work towards using a proper framework like React or Angular?"

The biggest trap is being an "advanced beginner" where you're never really learning the fundamentals, you're just learning a lot of tricks and hacks that give you the illusion of learning things. That happens when you just do things without questioning why, and when faced with a new problem only apply techniques you've done before, no matter how ill-suited they might be, in the hope that one of them will magically provide a solution.

I'd say if you know all those things you're probably an intermediate, as juniors are, by definition, only dimly aware of those concerns. They don't know what they don't know, they're basically blind and lost. Intermediates are those that have come to know what they don't know, and know to ask for help when necessary.