The recent news on IT has been less than welcoming, if not demoralizing. Some of the recent news headlines:
Such headlines have been appearing frequently, and it is somewhat frightening. I was going to respond to Kevin Schmidt’s recent article Down With the Software Engineer! Long Live the Application Builder! but the slew of bad news from the IT industry was coming out faster than I could think.
So the question is, are programmers and software engineers going to be extinct?
To start off, there is a difference between a programmer and a software engineer. Loosely, a programmer is focused on building software using specific language(s). A software engineer, has the abilities of a programmer, but also encompasses the software development methodologies such as prototyping, documenting, and testing.
I asked a friend about software engineering at his research laboratory, and his response was: Everybody is a programmer here. In some ways, everyone is also software engineer. Everyone uses programming and some software development methodologies to build tools and products for their research. This seems to be the mentality at many firms and companies. Programming is becoming a trade, and at many places, it is a required skill in order for people to do their work –just like how knowledge in Microsoft Office is a highly recommended, if not required skill, for a majority of office personnel. Alas, it is a major reason why the job of “programmer” is on the decline.
What about the job of software engineer? My professor once told me that software development is 80% design, and 20% coding and maintenance. His comment seem to still true. These days, prototyping, documenting, and/or testing are critical aspects of a software engineering position. Added to that, knowledge in algorithms, security, user interfaces, or other fields (e.g. any of the sciences including mathematics, physics, and psychology) is recommended.
I can understand why the role of programmer is going by the wayside, but it will never be totally extinct. Instead, it will be blended in with many other roles on the job. I do not see the role of software engineer to be going by the wayside like the programmer because a software engineer encompasses a large spectrum of methodologies. However, I do see that software engineers will require more than just knowing the development methodologies –-it will be more specialized towards the nature of the application (e.g. radar systems, gaming, medical, etc). Finally, I do feel that the media is overplaying the whole layoffs in IT scenario, and the headlines are harsh. There are still tremendous opportunities in IT especially is networking and security, education, general support, application development, user interface design, and web services. Plenty of skills and talent is needed in IT. The reason why the IT layoffs/decline of programmers and offshoring is front-page tech news is because the general public believes that programmers is IT, which is flat-out wrong.