Because of this, contractors are often free to specialize in particular technologies, while employees end up specializing in keeping the company running. Both may sell themselves as experts in Oracle or Microsoft or Lucene, but employees are the ones tasked to get a project up and running because the boss needs it by next Friday.
Depending on the culture of the employer, this could mean broad experimentation for full-time employees or an increased likelihood of tending outdated enterprise software far longer than anyone might want.
Most programmers often forget there are many jobs for programmers in companies that have little to do with technology. It's easy to assume that programmers will always work in tech.
The smart programmer should realize that choosing a nontech employer provides unique career opportunities. These days almost every company requires computer-savvy employees and a strategy for making the most of computer systems. Sales forces need software for tracking leads. Warehouses need software for tracking goods. More often than not, someone has to customize these solutions to suit the needs of the business.
Understanding a company's business and technology is one of the best defenses against outsourcing. Knowledge about many of the popular tools often becomes commoditized, and that often means competing with programmers overseas with much lower costs. But knowledge of two (or more) different realms is not a commodity, and it's hard to replace.
Smart companies will often create managerial tracks for technology specialists if it's clear that technology will be a key part of its future. A company with a heavily computerized warehouse would be a great management opportunity for technologists because the software development the company does in the future will be a big part of their future strategy. Tech specialists can often play key roles in nontech companies.
The key question is how willing you are to learn the business, whatever it may be. If you just want to talk about pointers and data structures, stick with the tech company. But if you are naturally curious about warehouse design and have always had a thing for other aspects of business beyond IT, recognize that computer-savvy people are much in demand in other sectors as well.
Related articles
- Top 7 dilemmas facing today's developers
- 7 programming myths -- busted
- 10 hard truths developers must learn to accept
- Programmer personality types: 13 profiles in code
- 11 programming trends to watch
- 12 programming mistakes to avoid
- 7 programming languages on the rise
- 10 programming languages that could shake up IT
- "Hello, world": Programming languages quiz
- Programming IQ test: Round 1
- Programming IQ test: Round 2
- From PHP to Perl: What's hot, what's not in scripting languages
- 13 essential programming tools for the mobile Web
- Open source programming tools on the rise
- Download: InfoWorld HTML5 Deep Dive
- 11 hard truths about HTML5
This article, "9 key career issues software developers face," originally appeared at InfoWorld.com. Follow the latest news in programming and mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.