Two skill areas that come to mind for me:
Risk management is rarely by the book. You need to have lived through a lot of good and bad risks in order to have a sense of how to weigh these things.
This is fairly broad, but I really think productivity as a developer is a really hard skill to be taught or to have innately. Having an idea of how long a thing is supposed to take and being consistent about spending your time takes experience.
Re: Risk management - There's also the notion that sometimes, it's better to take the risk that something really bad will happen, because trying to mitigate that risk is too costly.
Risk management isn't "Don't do anything that could fail", it's "Choose which things you do based on how likely it is to fail, how bad the failure could be, and how much work it takes to mitigate the risk".
Two things related to productivity is organization of code and writing code that is easily maintainable. These things are not intuitive and don't have a "right" answer but in my opinion you really only get better at by shooting yourself in the foot a few times.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.