According to an article by developer Michael O. Church, developers who want to compete in a highly competitive industry should be unafraid to learn on the job; manage their careers aggressively; recognize under- and over-performance (and avoid both); know the politics of software development; avoid fighting other people’s battles; and physically exercise as often as possible.
- Don’t be afraid to learn on the job.
- Manage your career aggressively. Take responsibility for your own education and progress.
- Recognize under-performance and over-performance and avoid them.
- Never ask for permission unless it would be reckless not to.
- Never apologize for being autonomous or using your own time.
- Learn CS666 (what I call the politics of software development) and you can usually forget about it. Refuse to learn it, and it’ll be with you forever.
- Don’t be quixotic and try to prove your bosses wrong.
- Don’t fight other peoples’ battles.
- Try to avoid thinking in terms of “good” versus “bad.” Be ready to play it either way.
- Never step back on the salary scale except to be a founder. As a corollary, if you step back, expect to be treated as a founder.
- Long hours: sometimes okay, usually harmful.
- Recognize core technological trends apart from fluff.
- Finally, learn as much as you can. It’s hard. It takes work.
His full article has all the details.