Corporate jobs can turn people into reliable adders (1.0 - 1.3 | scale here: http://michaelochurch.wordpress.com/2012/01/26/the-trajector... ) but almost never provide the autonomy that would enable an engineer to become actually good (1.5+) because that requires multiplier-scale insights: "investment" contributions that make future work simpler, more beautiful, easier to perform. Few companies are willing to pay for that stuff. (So they end up paying more, because those multiplier needs happen emergently, anyway, and are poorly performed. http://michaelochurch.wordpress.com/2012/12/14/the-unbearabl... )
I think one of the major problems is that software engineers want rationality and fairness, but you can't "play nice" in most corporate environments and actually learn anything. Unless you work in a rare type of company (cf. Valve) you have to either get political and clobber the project allocation game into submission, or steal away large amounts of time to learn stuff on your own.
Comments
This is an excellent comment.
Corporate jobs can turn people into reliable adders (1.0 - 1.3 | scale here: http://michaelochurch.wordpress.com/2012/01/26/the-trajector... ) but almost never provide the autonomy that would enable an engineer to become actually good (1.5+) because that requires multiplier-scale insights: "investment" contributions that make future work simpler, more beautiful, easier to perform. Few companies are willing to pay for that stuff. (So they end up paying more, because those multiplier needs happen emergently, anyway, and are poorly performed. http://michaelochurch.wordpress.com/2012/12/14/the-unbearabl... )
I think one of the major problems is that software engineers want rationality and fairness, but you can't "play nice" in most corporate environments and actually learn anything. Unless you work in a rare type of company (cf. Valve) you have to either get political and clobber the project allocation game into submission, or steal away large amounts of time to learn stuff on your own.