Unit testing is overrated.
I don’t think that unit testing is as important as people make it out to be.
Is it something that is required for junior developers to learn?
Juniors are supposed to make errors. It’s good for them to screw up. Even be the cause of a production outage.
You learn so much from failing. It’s the best way to learn programming.
Unit testing give you protection from screwing up, that you don’t want in this phase.
Also, when you are explaining unit testing to juniors, they will not grasp the value. They didn’t screw up enough.
Unit testing also sits in the way of learning other values that are much more important.
Think about learning defensive programming and good logging.
About understanding why your code is wrong, just by reading it without using a debugger.
When you are medior, becoming a senior, that’s when unit testing is interesting to learn.
You screwed up a lot. You already learn to manually test your work before deploying.
Unit testing helps to automate that work.
What do you think? Is unit testing really the needle that made you move forward in learning coding?