In one of the made-for-TV pseudo-histories of the Apollo program, an astronaut figured landing on the moon would be something like flying helicopters. So he learned to fly choppers. He didn't ask permission. His boss wasn't involved. No one told him to acquire this new skill. In the every-man-for-himself astronaut office astronauts took action to fill holes in their experience.
How often do you listen to a developer whine about his dead-end job? How many of us wind up in dead-end jobs because we refuse to gather new skills and experiences?
Back in the old days, paternal corporations benevolently managed their employees' careers. You could leave college and work for IBM till you retired. They'd take care of you. Need a new skill? Your boss would identify the weakness and schedule some sort of training.
No more. In these troubled times companies are worried about their own survival. Cost-cutting and squeezing out a profit is all that matters. Get the product out the door today no matter what the personal cost may be. Joe is still struggling with C++? Replace the SOB! There's an army of applicants knocking at the door. The company has neither the time nor the incentive to engage in training and career management.
I believe it's our personal responsibility to upgrade our skills constantly. Relentlessly. Technology changes so fast, and even the first derivative of that change is accelerating. Too many developers stop learning when they leave college. Do that, and your career will end in your twenties. Companies will use your skills as long as they are still relevant and then spit you out, a burned-out husk obsolete at 30.
It's up to you, and to no one else, to learn new things, to become more productive, and to embrace the new technologies that will influence your career. There's a wealth of resources available, from books to magazines, and websites. Some colleges have put their classes on-line, free of charge.
No doubt the astronauts have an incredible amount of personal freedom in their jobs, as well as a budget we can only dream of. They are all dynamic personalities who look at a problem, figure what resources might be needed, and immediately take action. That sounds like a great description of the engineering method.
Take action. Learn. Grow. Become expert at something new. Stasis in this industry is death. Especially now, when jobs are scarce and layoffs all too common.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at firstname.lastname@example.org. His website is www.ganssle.com.