Understanding the Junior Developer
franceselliott.com
franceselliott.com
The industry has a habit of calling things like this technical skills, but I really think that culture is the more appropriate word. Things like lodash vs. for loop, or imperative vs. functional. It's culture it ain't science and it isn't a job skill. These are just things that people choose to believe and the only ones who need to learn at a breakneck pace are those who value staying in fashion.
One of these things is not like the other!
Lodash is a library if JS idioms that can't be neatly expressed in simple constructs like for loops. JS as a language is often difficult to work with because it lacks these idioms, and using Lodash really can't be compared to "for loops".
Happy to answer any questions if you have them.
Even comparing it to for loops is in itself biased, because there are other cultures that are able to do looping without looping at all, like how John McCarthy favored recursive functions. Then the Common Lisp crew invented their own preferred predecessor to lodash called the LOOP macro. I'd bet Urbit does something even crazier.
That applies to literally all libraries.
If it's written in the same language, it cannot do anything that you couldn't also do without it.
You should take a look at the API, you'll quickly notice that it's not a for loop library: https://lodash.com/docs/#cloneDeep
Some of these functions have been added to JavaScript and are no longer compelling, but many of these still fill voids in the language. Sure, you could write each of these yourself, but Lodash has more eyeballs (better docs, fewer bugs, better performance, etc).
Negotiating how you build things with the rest of the team, especially when there are differing opinions about how to solve particular problems, or what programming approach to use, absolutely is a job skill. You have to contribute to that 'culture', or manage it if you're leading. It's a very important skill.
I’m paraphrasing a bit but essentially juniors have to be expected to rise and seniors have to be expected to lower themselves and the bar.
Writing docs for juniors is a great mindset for senior folks. I’ve worked with a lot of senior / staff / principal developers that act like they can’t be bothered to explain something or even worse comment their code.