It all started from here. I have been following Software Estimation: Demystifying the Black Art (Best Practices (Microsoft)). The third chapter says that in Software Management:
You cannot give too much time to software developers, if you give
it to them, then it is likely that extra time given to them will be filled
by some other tasks (in other words, the developers will eat that time :)) Parkinson's
Law
You can also not squeeze the time from their schedule because if you
do that, it is likely that they will develop poor quality product, poor design and will hurt you in the long run, there will be a panic situation and total chaos in the project, lots of rework etc.
My question is related to the first point. If you don't give enough time then will the typical software engineer learn his/her skills?
The market is always coming with new technologies, you need to learn them. Even with the existing familiar technologies there are always best practices and dos and don'ts.