The Incredible Shrinking Programmer
Even recently, programming was considered a hot profession with almost limitless opportunities for making it big. How quickly things change. Today, programmers typically need to beef up their skill sets just to remain viable in the workplace.
It is a great thing to have a job that is hard to do. It makes it that much harder to replace you, and it generally means you will command a salary premium. For a long time, programming was such a profession.
So it is that I find it painful to admit my professionprogrammingis in decline. It is a job accorded ever less respect, with diminished prospects for the future, and where management is increasingly isolating itself from the person who writes the code that makes its business processes run. I know many programmers who have left the profession in recent years, and appear to be happier for it.
Boom-and-bust cycles are normal in our profession, and we just experienced an enormous boom during the so-called Internet bubble, with a fairly harsh bubble-popping that coincided more or less with the release of .NET. (This coincidence led many of my fellow developers to blame .NET for their diminishing prospects.) Technology investments continue to rebound from that bust, but the situation is fundamentally changed from what it was before the onset of the last boom-and-bust cycle. The shortage of skilled programmers during the boom cycle prompted many companies to search hard for ways to contain costs, including bringing in foreign workers through the H-1B visa program.
Of course, the biggest curb on developer salaries and opportunities was to send the jobs overseas. Sending jobs overseas where labor is cheaper has been happening for decades in other areas of societyin the manufacturing sectors, for example?and now it is happening in our sector, too. Conventional wisdom holds that the process of outsourcing is slowing down as companies reassess the pros and cons of sending work overseasand maybe it isbut just this week IBM announced that it is hiring 15,000 workers in India and letting 15,000 people go in the United States. It's always struck me as strange to know people with solid job skills who are out of work, while companies lament the lack of qualified applicants.
The traditional free-market approach to acquiring more qualified applicants is to pay them more. This approach works wonders in attracting the best and brightest. The new paradigm is to hire people who will work for much less halfway across the globe. It works, to a degree, but it's also short-sighted. Someday America will regret its loss of industrial capacity, as well as the loss of a significant percentage of its high-end service economy. Of course, short-term exigencies remain such that companies often feel they have no choice. We are mortgaging our futures for short-term gains that few benefit from today.
The cost containment policy is resulting in an interesting trend. Even as businesses lament the lack of qualified applicants, the trend in development tools is to reduce the significance of the developer. Much of the code that is written today is automation code. People often debate the use of a specific language or platform over another, but increasingly, neither the platform nor the programming language matter. Automation is the future of programming, and it will mean the programmer matters even less over time. There are tremendous advantages in automation, not the least of which is productivity. It is one of the ways that companies will solve both the cost issues and the programmer-skill deficits they face. As with productivity enhancements in other fields, code generation will reduce the number of people needed to perform the programming jobs out there.
The programming profession is undergoing a sea change, and we must adapt or perish. There remain opportunities in information technology, but the jobs we entered the profession withthat many of us loved, evenare morphing, and we must morph, too. For some us, that will mean leaving the sector; for those of us who remain, we must find and learn the new jobs that are hard to do. We can write the routines that will autogenerate code. Or we can learn new disciplines in our sectors, such as software architect or system engineer, as the case might be. Regardless, sticking with the status quo is no way to guarantee a future for yourself as a programmer. That job probably won't be around tomorrow.
R. A. Isaak is a picture-phobic software programmer for a surfing company on the West Coast. He spends every spare moment he can find surfing or playing guitar in a rented garage with his band, No Phishing. Reach him at firstname.lastname@example.org.