I’m a software developer, rolling out a new application in Microsoft’s Infopath, which is one of those apps meant to make it easy for an end user to design a form.
I spit on it. It is one of the most difficult development tools I’ve ever used. It takes a stout heart to delve behind one of these canned pieces of shit.
If these are the kind of apps that the big software producers will be rolling out to make the rest of us software developers obsolete, I have no fear of losing my job, at all.
Put me in the group of people who think programmers are not in danger of going away within the next, say, two generations.
However, I believe that the job will undergo major changes, just like any other field, on top of trying to keep up with new technologies.
I see, eventually, after so many applications, functions, and databases are programmed and linked together, the shift will go more towards organizing these mountains and data, and keeping them in line (like data mining, but add fifteen more years of advancements from this point in time) and not building new mountains.
Even if full-time programming jobs are becoming fewer, there’s always a need for the hybrid expert: Someone with really, really good knowledge in one field and enough programming skills to tailor-build applications for his organization.
I used to work for a networking expert (CCIE, for those in the Cisco world), who was also a pretty damn competent Perl coder. His applications were one of the reasons we could run a huge network with an absolute barebones organization. Although they looked primitive with their command-line interface, they were essential for our work. To say nothing of the luxury it is to knock on someone’s door and say “If you could tweak he program to do so-and-so, it’d be great” and then actually have it done the next day!
If you know - really know - a slightly esoteric field besides programming, you’ll almost always be able to come up with applications that can compete with commercially available products. Perhaps not as slick, but definitely as useful.
I went to work at IBM in New York City in 1969, as a programmer in their New York Programming Center.
The first day I reported to the Center, I was introduced to a very bright Chinese fellow, supposedly the local stud, who told me I would be out of a job wthin a year or two, because the obvious trend was to cast logic ‘in silicon’ – the then-current reference to placing large scale programs like compilers and device drivers on what we know today as chips.
I remember wondering whether I should bother unpacking my pencil case.
Programmers in India, graduates of IIT, working for less than a welfare check would bring in the US, that’s who. Unemployed IT workers in the US can apply for jobs at Wal-Mart.
Another nail in the coffin of of the once prosperous US middle class.
One of the interesting, perplexing, and counter-intuitive things about designing computer software is the fact that being “only limited by your imagingation” turns out to be pretty limiting, actually.
No one has to be told about the stunning advances in computer hardware; they’ve been the main driving thrust behind the computerization of the world around us. Computers get faster and cheaper every year because engineers keep figuring out how to draw smaller and picutres on lumps of silicon.
What’s less well-understood outside of technical circles is that the art/science of writing software has changed much more slowly. We take it for granted that tomorrow’s hardware will be faster/cheaper than today’s, but as often as not, tomorrow’s software turns out to be garbage. Software development is still slow, labor-intensive, expensive, nearly impossible to schedule or predict, and frequently creates products that are riddled with bugs or other quality problems. It turns out that it’s easy to imagine something complex enough that imagining the details, and the complex interactions thereof, is impossible.
We can imagine all sorts of great software systems, but it turns out that figuring out how to make them well - which is also an imaginative pursuit - is much harder.
I think the demand for software experts will continue to climb (with a hiccup here and there, natch) for the foreseeable future.