There are people who want loyalty and dedication above all else -- both from themselves and from their workers and employers. Then there are people who want challenge, risk, excitement, and travel.
From what I've seen, if you want to learn meta-tech (and not just tech in your neck of the woods) you need to get out among a bunch of different industries and job situations and start learning.
Or put a different way: as one of those people, I get approached all the time for full-time jobs. The conversation goes like this "We see that you have experience working in X, Y, and Z, and you have industry experience in A, B, and C. You also have been in G, H, and I job positions. We are desperate to have somebody with these experiences and skills, but all we find are people with a lot of experience in just one of these areas. Would you consider a full-time job?"
My reply is this: if I were the type of person to consider a full-time job, I would not be the type of person who had all those things you want. Full-time jobs are stability -- stable platform, stable work environment, stable job position, stable insurance, stable retirement. Things may start off chaotic (as in a startup) but the goal is to reach stability.
I've been parachuting into situations where the building is on fire and saving the baby. It's like startup work all year round -- and for dozens of different highly-rated companies. And by the way, the rates are great too.
Do that for a while. Learn what you like and what you don't. Then start looking for stability. Don't sell yourself out too soon in the name of loyalty and stability.
EDIT: And I know a lot of folks from those companies who only wanted stability and loyalty and ended up on the street after ten years with very little in the way of marketable skills. Don't fool yourself: IT is a risky and always-changing business. Stability and long-term jobs are an illusion.
Very insightful comment! I never thought of it that way.
Like Daniel, I have spent a lot of time both on my own and in enterprises. I've met lots of smart people in enterprise IT departments. They have tended to be very deep in one or two areas and very shallow (or absent) in most others.
I have always found it easy to accomplish a lot very quickly in an enterprise environment, not because I was smarter than anyone else, but because I had been around the block on my own so much more. But until today, I never realized why. Thank you, Daniel.
And yes, I miss the code-monkey and hands-on PM work. That's why in my free time I still code as much as I can. And why I like hanging out on the net with you lug-heads so much (smile)
So now instead of the building being on fire, they have 50 teams that are taking 4 times longer than industry norms to deliver functionality. How do you fix that without shutting down the place, firing a lot of people, or causing more harm than good?
The thing you run into with this type of work is that everybody thinks they are unique, and they are, to some degree. But also there are a lot of similarities. For somebody without a big breadth of experience who is just reading a book and trying to apply it, it's not so clear what is unique about their situation and what isn't. So there's more to it than training. You have to have a lot of hands-on experience watching what works and what doesn't. Call it strategic technology management consulting.
Actually it's a much bigger fire, but the sense that you are delivering something of immediate value is lost. I've found that as you get better and better at delivering solutions, they give you fuzzier and fuzzier problems, many times with no clear deliverable. Moving from delivering stuff on-time and under-budget to fuzzy-world is not easy.
My job used to be the sharpest guy in the room. Now my job is to make a hundred other guys be the sharpest guy in the room. I don't light the light; I turn the brightness up 40%.
And there is no way you can be a full-timer at BigCorp for 20 years and do what I do.