Great post and a wonderful read to kick things off for 2011, thanks for writing this.<p>On a related note, I often think about this quote from Benjamin Franklin:<p>"An investment in knowledge always pays the best interest."
> "The path of least resistance is to try and gain seniority at small or obscure companies. From there you create legitimacy for your seniority in larger companies. Experience in the larger company will in turn make smaller shops take a chance on you for a more senior position."<p>Working in larger companies earlier on - when you're fresh out of college, for example - can often ensure you end up learning a very tiny portion of the development lifecycle. Moving from there to a smaller outfit, where you would assume greater responsibility, would leave you realizing that you know very little about the big picture.
In giving this advice is he assuming that the end goal is to garner some kind of senior technical director position at a large company? It seems to me there are a number of potential career goals one might want to maximize for. For example; job title, salary, employer, company size, or cool factor.<p>It's not clear to me that all of these are parallel goals. For example if all you care about it optimizing for salary then getting a job at a small obscure company is likely not the best way to go unless it's all you can swing. Likewise I can think of a few jobs that have a high "cool factor" but make it hard to break out into other areas if you ever want to change paths.<p>That is to say that depending on what you want you might need to go about it in a different way. The bit about learning new things though is solid advice.
Another path that you can use if you are already at a big company is to try and distinguish yourself there and move up within that organization. Of course this depends on the people you are working with, but if you have a good manager and are really interested in improving the state of software development at your shop, they'll notice.<p>For someone who may not be a political animal jumping into a new situation can be challenging. The benefit of working in the same place for a while is you get to know everyone there. Sometimes at a big company that means realizing that everyone there has rotten zombie brains, but there are usually some core of smart interested tech people who are influential.
>"for some reason I’m seemingly out on the end of the axis as far as risk-tolerance is concerned"<p>I wonder whether most people would rate themselves above or below average in terms of risk tolerance. Is this something we tend to have a good picture of, or is it more like the Dunning-Kruger effect?