Sorry — I fail to see Jobs as the giving person he claims to be in this interview. “Apple closed gurden” is not exactly what you would consider a result of a sharing person policy. People who are willing to share their knowledge and technology, like Hewlett, are the ones who give inspiration to young entrepreneurs like the young Jobs — not the ones who are saying “… and boy! did we patent the hell out of it”.
Not just that. Perhaps you’re right about junior devs but from a senior one I would expect to know some code design patterns, different development paradigms like OOP vs. FP and where to use what, performance considerations, how certain base web functionalities work, etc.
If I remember uncle Bob’s definition correctly— a unit is the smallest testable part of your code. In general this comes down to the smallest logical unit of your code which is a function since you “extract till you cannot extract no more”, right? ;)
I wouldn’t consider a class or a module a unit for testing since they may contain several public APIs, each needs to be tested separately.
This is a bit harsh. Code which does not get refactored decays and takes the people maintaining it along with it. Refactoring is much more easy, safe and fast if you have good test coverage. Consider TDD.