I think the configurations are a necessary evil, at least for now. Especially in the Node environment, we complain about too much configuration being necessary but we like the results: HMR, Native mobile apps, backwards-compatibility, syntax sugar, plugin support, higher performance, smaller size.
I am shamefully at fault of blaming configurations myself, hoping to see the day that Webpack becomes more imperative than declarative (a new tool like Gulp was to Grunt). But I know that, like everything, these things are not magic. You need to have code in a certain way to get the wanted benefits.
I agree you can get burnt out by adopting too many tools at once. And in the Node community, we are especially bad at this, expecting novices to adopt Babel, Webpack and another framework like Angular or React from the get-go. Especially since you never get to use them to their full extent.
If all you use Babel for is the arrow function, you should just not install it and use the old notation.
> Humans are bad with choices, and they’d rather not make them.
This has a name, it's called choice paralysis. It is not that we are bad at making choices, it is the fact that sometimes it takes too much effort to make them compared to the reward.
> Convention over configuration
I prefer as little convention as possible. It forces me to change my project structure if I intend to use your library. Chances are my project structure is gonna win over your library.
Also, consider this, it is relatively easy to get from configuration to convention. It is almost impossible to do it in reverse.
> “I need the user’s name so I can associate it with—” ask the OS for that information.
First, you should know that the "barrier of connections and money" you talk about does not apply everywhere. Actually, a lot of universities are free so long as you prove you are smart enough through entry exams. So while it still is used as a class filter everywhere, realize that there is equal chance in a lot of countries to get into any university.
Secondly, universities are not meant to prepare you for a better salary or job. They are meant to give you a particular set of skills and knowledge from a field of work. Finishing means that you usually get access to a certain community with the same specialty. This is useful if you want to keep up to date with your field or publish new findings.
Software companies that require computer scientists usually are just full of it and they forget that there are other universities that prepare people for software engineering or even just programming. You could argue that a course or bootcamp is enough. But we already know they ask for too much when you look at the requirements they have. They aim for the best and then take what they are given.
I think universities are too easy nowadays to let people in. During my father's time, there were around 10 slots for the arts university in my country each year. All of them ended being praised artists. Actually, national news are made when each one of them pass away.
Now, universities just take everyone, especially if they pay for a slot. This caused a shift into perspective. You are no longer hard-working or lucky to get into a university, you are now expected to get into one to prove you are not a complete moron.
This is the actual problem, and it is reflected in your arguments. I agree, you probably didn't need to go to university. Hell, I know that I didn't need to go through mine. However, we were both expected to, and for no good reason.
I am shamefully at fault of blaming configurations myself, hoping to see the day that Webpack becomes more imperative than declarative (a new tool like Gulp was to Grunt). But I know that, like everything, these things are not magic. You need to have code in a certain way to get the wanted benefits.
I agree you can get burnt out by adopting too many tools at once. And in the Node community, we are especially bad at this, expecting novices to adopt Babel, Webpack and another framework like Angular or React from the get-go. Especially since you never get to use them to their full extent.
If all you use Babel for is the arrow function, you should just not install it and use the old notation.
> Humans are bad with choices, and they’d rather not make them.
This has a name, it's called choice paralysis. It is not that we are bad at making choices, it is the fact that sometimes it takes too much effort to make them compared to the reward.
> Convention over configuration
I prefer as little convention as possible. It forces me to change my project structure if I intend to use your library. Chances are my project structure is gonna win over your library.
Also, consider this, it is relatively easy to get from configuration to convention. It is almost impossible to do it in reverse.
> “I need the user’s name so I can associate it with—” ask the OS for that information.
Please don't.