Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Will programmers soon become obsolete?

Status
Not open for further replies.

MattMcGinnis

Programmer
Sep 10, 2002
18
US
Hi all,

I'd like to start a discussion here about the future of programming. I have evolved from help desk to systems administrator to half sys admin half Oracle DBA (which I still am) and for the last year I've been learning to program. For me, this was a natural progression and I feel that programming is at the highest level and it makes me feel like I have finally attained some real power and capability. I don't mean that in the "I rule all" kind of way, but rather in the sense that if I need a solution that would have ended up being kludgey and akward with my previous skills, I now have extreme flexibility, control, and capability to develop a solution which is automated, simple to implement and works the way I want it to every time.

An example is a program I recently wrote in Perl which retrieves data from many different tables in an Oracle database, often executing the same query repeatedly with different parameters each time. This data is then written to an Excel spreadsheet where calculations are performed and graphs are generated. This runs automatically each day and I estimate that this would take a data entry person at least three hours to perform the same tasks, probably with a few mistakes now and then.

Now I come to my point. I've been reading a lot lately about programmers getting laid off and not finding jobs for years and being replaced by newbies and H-1Bs. These articles predict the demise of high level/pay programming jobs and predict that DBA/sys admin jobs will remain the only viable IT positions. For instance,
Another disturbing and depressing read is located here Basically it says that older programmers are doomed because no one will hire them, even though they could learn the needed language in a few weeks time and become more productive in less time than a newbie or H-1B and that hiring people are basically just ignorant about IT and they discriminate against these older programmers continually.

I thought I had found a great career path which would utilize all my knowledge of computer systems and enable my to become a high skilled high paid worker, but it seems as if I am going the wrong direction. The program I mentioned is not the most complicated software, but it required a lot of backend knowledge ....systems, databases, SQL, Excel, mathematics etc... To me, this seems like a very valuable business solution which empowers my employer and provides them with a solid solution. Nothing your run of the mill sys admin could do, IMHO. So, what I would like to hear is all of your opinions the future of programming and if you have any recommendations about how to avoid the perils of the older unemployed programmer. I have so much more to say about this, but only a little time, so I'll leave it at that.
 
The Candy Man is gone.

I'm a forty-year-old self-taught. I feel very blessed by God to have launched a DBA/programming career, from zero knowledge, at age thirty-five. In 1997 that was possible.

If my salary fantasies of late 1999 had been realized, I'd be out on the street right now. Instead I make a 40s income for unappreciative management ... but am not unemployed.

Age prejudice? My brain is brittle; I can't write or debug code quickly. But I would never, ever be guilty of coding some of the garbage I see around me, because I have a decades view. Much depends on whether the industry will come to value integrity over flash and dash. So far, the youth cult wins.

High-quality workers will be sought by high-quality companies, or after finding how few high-quality companies there are, they will start their own projects. An MSCE or other cert will be of more value than it was in 1998, but will be held in the same regard as a cert in any other field. Even if other positve trends die, more managers will have a correct estimation of this than in the 90s.

The entrepreneur wins -- but he or she must be much more crafty than was required ten or twenty years ago. How I wish I were up to it!

The frugal person wins, too. To escape from the affluence-orientation of the 90s is a huge step toward success. Now that I can handle.


 
getting back to the question:
Will programmers become obsolete?
The answer is definitely YES!!
Soon? Not easy to give a timeframe, but I don't think the current crop (or the next generation) need fear?

This has already happened on the harware side.

40 years ago - highly trained technicians - testing down
to component level -lots of test equipment.

Today - a 'few' highly trained designers.
Lots of technicians and Test engineers who are basically just 'black box' changers as directed by highly sophisticated ATE (Automatic Test Equipment).


Software will go the same way.
Starting 25 - 30 years from now:
Highly sophisticated Os'es with AI.
A few compilers (if you can still call them that) with built in AI that will 'speak' with the OS.
The programmer will tell the compiler what he/she wants and the compiler & OS will sort it all out.

So the programmer will be more of a 'suggester' than an actual 'programmer'.

Is that too radical and way out there ??
 
guestgulkan - Some interesting thoughts about the nature of things if 25-30 years form now. But your original premise: The answer is definitely YES!!

I don't quite agree with that. Programmers will not go away, but I will agree that programmers will become highly specialized.

God help us the day when programmers become "suggesters". Not a suggester - programmers issue instructions, not suggestions. Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
"So the programmer will be more of a 'suggester' than an actual 'programmer'."

I can see that. Just look at html. Grantid, its not a 'real' language, but people used to get paid to program in it. Now, any twit can used a html editor to create the code automatically.

Now the only reason that works is because we know what the output will be. A webpage. But it seems possible to make simular editors for things like videogames, where you just drag and drop skins and sounds, select the right physics engine, and wala..

 
so is this where you start thinking about the differences between a programmer, a programmer/analyst, and an analyst ?

[hourglass] Pete Bloomfield
Down Under
 
repete - only if this is where you starting thinking about the differences between the "what" and the "how".

Programmers will never become obsolete, although I do suspect they may become highly specialized and return back to being a small exclusive group.

That being said, one other aspect of this question that should be addressed is what do we consider a "programmer" A friend of mine considers himself a programmer because he can choose and configure an application. In my book that is not programming.

Computers, at the most basic level, are nothing but dumb machines. Operating systems, device drivers, business applications, decision support systems, and artificial intelligence system are programs that have been written. Even a "self-programming" machine has a program (written by a programmer) to provide the rules by which the prorgram can write another program. No matter how many levels deep you go, you ultimately get to a level where a human is involved. Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
IIR:I can see that. Just look at html. Grantid, its not a 'real' language, but people used to get paid to program in it. Now, any twit can used a html editor to create the code automatically.

Yes but then look at the fact that we have CSS (Cascading Style Sheets), CLient-Side Javascript and VBScript, Java Server Pages, Active Server Pages, PHP (Sorry, forgot this one), cgi, Cold Fusion, ...

While users learning how to manipulate html might seem like a bad idea, many new ways to use it have been developed/are being developed and this only opened up the field a little more.

Oh, and the reason it isn't a real language is because it's only markup, it can't be programmed. Pretend it's one of those old versions of Word where if you copied and pasted into a text file you would see the ineternal markup as a bunch of junk...

-Tarwn ________________________________________________________________________________
Want to get great answers to your Tek-Tips questions? Have a look at faq333-2924
 
cajuncenturion

in one respect, programmers have become obsolete.

if you look at class libraries that are now 'a given' when using a development language, where in years gone by, this type of code needed to be created by the programmer. although i suppose rather than expressing this as an indication that programmers are becoming obsolete, it would be more accurate to say that their function is evolving.

would you then say a programmer, at the simplest level, assembles/outputs code to achieve a given request ?

of course the skills here are that your code (1) may very well be more efficent than my code considering maintainability, readability, whilst still achieving the same result; (2) may in fact work for every possible situation, where my code may miss that remote occurance of a particular situation.

the difference then from a programmer, either good or bad, to an programmer/analyst, would be that the programmer acts on a given request, whereas the programmer/analyst evaluates the code output for relevance to the request, and where the request may have contained flaws that were not evident at time of specification, makes sufficient changes to allow the intent of the original request to be met ?

and then that an analyst may lack the technical skill of a competent programmer (ie does not know the syntax of a product), but understands conceptually what a programmer can achieve, and understands the request and its possible impacts on related issues ?



Pete Bloomfield
Down Under
 
In one respect, programmers have become obsolete? Your example of the code library doesn't hold water because the class library themselves were written by programmers. If there were no programmers, who would write the class libraries? The programmer is not become obsolete, the field is becoming more specialized. An individual who does not keep pace with the technology may become obsolete, but the programming field is alive and well, if not more specialzied and/or compartmentalized.

I like your evolving term, the technology acorss the board is evolving, as are the technology based jobs, and how companies want to use technology professionals. Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
Programmers will not become obsolete, his function is not restricted to programming anymore, just like every other job.

Make a comparison with any other job, let say office-boy (still exist?) or clerk, mechanic, doctor etc.

When I started working the superintendents at my company had a secretary (some of them had 2). Everyone received a computer and the "secretaries" were relocated and doing other type of (administrative) work. The dinosaurs who didn't master word, excel and powerpoint, e-mail lotus notes etc. are gone. This in a time frame of 10 frame, and in an industrial environment, not a software company.

The same applies to any other job or proffesion. The medical student who doesn't score enough in bussines administration will not receive his bul. The engineer who doesn't want to know about legal matters will not find a descent job (unless his father ows the company). The mechanic who thinks that reading a partsbook is something for the supervisor or foreman will get a broom to work.

And the people who still think that programming is something that envolves zeros and ones, My biological classification for them is dinosaur!!! Steven van Els
SAvanEls@cq-link.sr
 
Regarding riffs on the themes of "all jobs are going to H1-B's and Newbies" I think NOT.

A quick and VERY unscientific perusal of some job boards reveal a need for SENIOR people. If someone with minimum 5 years experience is a newbie, then I'm a nouveau newbie (which makes no sense, but hey, you're still reading).

Regarding a decreasing need for programmers, I say YES, AlleJULAH. Man, I code REINSURANCE logic. Not just insurance, REINSURANCE. I have projects with what I call single-hand-clap specs, as in, graphically chart and analyse the sound of one hand clapping. Please, someone make my job obsolete. But that's not going to happen, mostly because so much of programming is maintaining. I spend an equal amount of time on maintenance and change projects as I do on purely new, from scratch programs. As business rules change so does program logic. As data manipulation needs evolve, so does software. Will certain technologies diminish, yes, and that's fine. We should all keep up with the latest and most effective methodologies for doing our jobs.

By the way, does anyone know how to describe the sound of one finger snapping?

Cheers,
cyclegeek
 
The distinction of systems programmers and application programmers has not been made; nor the direction that database technology will lead the computer profession.

It is going to be very difficult to have anything without systems programmers. How is an operating system going to be developed when new hardware is developed? How are the compilers going to be developed without systems programmers? Systems programmers are highly technical with advanced degrees. How many people understand PL/S or what I think is now called PL/z (the language that MVS is written in for IBM mainframes)?

As for applications programmers, I think that the strategy will migrate towards rule based or logic based components being built within the database. This will mean that you will see a need for data administrators (different from database administrators). The applications programmers will be delegated the role of developing simple screens that access data through objects like stored procedures, views and rules that are provided by the data administrators. Database administrators will be needed to manage the backups, recovery, and performance issues of the base tables/intensional components. The data administrator will manage the logic, rules and/or extensional components of the database (and most likely define the intensional components). Application programmers will be a mixture of staff using BI tools, Excel, and front-end screen builders. These application programmers' primary jobs will most likely be supporting their specialty of accounting, engineering, or whatever - not actually just application programmers.

To be a good data administrator, you had better have a strong background in both the set theory and logic branch of the mathematical tree. To acquire this background, you will need to have been technically trained in both computers, database theory and mathematics. Some books on my shelf include "Predicate Calculus and Program Semantics" by Dijkstra, "Logic Programming and Database" by Ceri, "First-order Logic and Automated Theorem Proving" by Fitting, "Database and Knowledge-base Systems" by Ullman, and "An Introduction to Discrete Mathematics, Formal Systems Specifications, and Z" by Ince.

Also, remember the mainframe was dead 10 years ago, but in reality there is nothing in the marketplace with the stability of an IBM mainframe running zOS. The real dinosaur is going to be the applications programmer. Understand the mathematic basis for database theory (hierarchical, network, relational, deductive, multidimensional...) and you will have a future.
 

i think 20 years ago this same question was posed...had to be. noone could forecast that the internet would be as expansive as it is. all they could see was the machines were getting smaller and quicker and the workload needed would become less...but now with the internet and servers, web development and design, more jobs cropped up. who the hell knows what will happen in the next 20...

invention breeds necessity and necessity breeds invention.

since the whole man vs machine battle rages on daily, one fact remains...the machine may be able to do the job of 20 men, but only after men tell it what needs to do efficiently.

artificial intelligence is our own intelligence, just replicated artificially.

and we may eventually need a different set of programmers to design and maintain structures for interplanetary communication...developers for wi-fi and next generation CDMA...programmers to keep the matrix up and running (haha)...

the real question here is will todays programmers be adaptable to change over the next years...if not, then yes, todays programmers will become obsolete; but programming itself will not.

anyway, build your own empire and you won't have to rely on the next guy to keep your mortgage payment on time. (ain't that right, bill?!)

- g
 
I will agree with mutant, as to the real future of rule-based systems, declarative programming, with logic-in-database becoming more and more important.

In the end, its all about logic. No matter what level of programming you are working with, someone needs to decide what the system is supposed to do, and why, even if we let the computer handle internal things such as data structures, memory allocation, indexing, etc...

To add to mutant's list of books, I would recommend:
1. Foundation for Future Database Systems: The Third Manifesto, by C.J. Date
2. What not How: The Business Rules Approach to Application Development also by C.J. Date

The second book is fairly lightweight and non-technical, but gives a nice overview of how rule-based logic systems should be approached. The first book is a rigorous examination of what should be the next step in relational database systems.

As I have said in other posts on this topic, I don't foresee programmers becoming obsolete anytime soon. I just think we will continually see new levels of programming. There will still be a need for the previous levels, but as abstractions keep getting higher, the lower level people will be increasingly programming the frameworks for the higher-level systems. Thus, "application" development, meaning end-user applications, will continually be evolving toward the higher level, but there will always be a need to develop the underlying systems.

Anyway, the world has an unlimited apetite for applications to be developed. Nothing can ever be done fast enough, or complete enough, or flexible enough. So, if we as programmers either develop the new frameworks or learn to work in the newer declarative systems, there will still be plenty of work. Also, I think the work will be more rewarding. Right now, the development process is a stressful for the "world" as it is for the developer, because turning logical requirements into procedural code is a big impedance mismatch. It's about time for a change.

-------------------------------------------

My PostgreSQL FAQ --
 
That turns us back to the industrial revolution, centuries back.

The inventor of the sewing machine (a frenchman) was almost killed by his fellow tailers, considering it an evil instrument.

We can also reformulate the original question to: Will creativity become obsolete ? ... and leave thinking over to the brains of a computer?

The answer: no electrical power means no intelligence on earth

Steven van Els
SAvanEls@cq-link.sr
 
(quote from mutant)

These application programmers' primary jobs will most likely be supporting their specialty of accounting, engineering, or whatever - not actually just application programmers.

Yes, that's the ideal outcome: the people doing the front-end applications should be experts in the problem domain, not in the internals of computer programming.

(quotes from svanels)
The inventor of the sewing machine (a frenchman) was almost killed by his fellow tailers, considering it an evil instrument.

We can also reformulate the original question to: Will creativity become obsolete ? ... and leave thinking over to the brains of a computer?


History is full of Luddites who predicted the dire end of this or that because of technology. Generally, it seems like the most anti-technology cultures of the world are the ones that have the most problems in every area.

But, I agree that the philosophical implications of new technologies should be argued carefully. Remember ian Malcolm in Jurassic Park: "You stood on the shoulders of geniuses. You were so intent on proving that you could, that you didn't stop to consider whether you should!"

-------------------------------------------

My PostgreSQL FAQ --
 
Remember ian Malcolm in Jurassic Park: "You stood on the shoulders of geniuses. You were so intent on proving that you could, that you didn't stop to consider whether you should!"

Egad! (Retch! Isn't that the most annoying character in recent film history? More spoofs than Shatner's Kirk gets.)

Funny thing is, that quote contains a pretty Luddite sentiment itself. But the point's well taken.


Good luck trying to get today's decision-maker to understand the difference between a system programmer and an application programmer. And you'd think a DBA would have some reasonable background, wouldn't you? Maybe I've been less fortunate. The people I work with who wear a DBA badge are generally pretty clueless. They spend most of their days agonizing over what used to be routine tasks for a mainframe operator: backups and (horror of horrors!) restores of data.
 
Will programmers soon become obsolete?

I hope not!

I think - as long there are genuine inventions - some genuine creativity in the IT world, there will always be a place for a genuine IT programmer!

Besides, I think we're onto the question; "Can artificial intelligence ever mimic the creativity of human intelligence?" or in other words - "Can there ever be such a thing as true artificial intelligence?"

Who knows the answer to such a question; we're definately into "Bladerunner" territory here!

<marc> i wonder what will happen if i press this...[pc][ul][li]please give feedback on what works / what doesn't[/li][li]need some help? how to get a better answer: faq581-3339[/li][/ul]
 
This is a really interesting thread.

I am wondering what skills I can acquire to maintain my good income. Right now, with skills in VB and SQL Server plus ASP/html, to change employers would mean I would suffer a 20 - 30 % reduction in salary.

Companies are contracting work out to people in third-world countries, paying $10 an hour. I can't live on those wages, or don't want to.

At age 50 (some of you would describe me as a dinosaur :) ), I am wondering what skills, languages, tools I can learn that are really in demand or soon will be.

And if you know of a more appropriate forum for this question, I'd like to know.

Thanks, John
 
I think the real skill to have in the future is the ability to help businesspeople make the best use of all the possibilities software offers. Yes, there is the unfortunate impression that anybody can be a &quot;code-monkey&quot;, which leads to offshore hiring, etc... but tell me: can a 21-year-old math wiz in India know exactly what my business is going through on a daily basis? Can this 21-year-old math wiz give me valuable insights as to what is worth spending time on and what isn't? The conceptual problems are still the real problems to solve. The software design is still best kept local, even if large parts of the implementation are shipped off.

There is a plethora of software out there that very badly fits its intended purpose. Businesses are always struggling with how to turn their conceptual needs into reality. Again, that's why I mention the rule-based systems above.

Our country has been through this sort of thing again and again, in various industries, but overall, we still have the best standard of living in the world. Yes, much of the lower-skilled labor in manufacturing has gone overseas, but if you pick up a phone book, you can find 20 skilled carpenters within a 10-block radius of your house, and they probably make as much as you or I. Skilled carpentry can't be &quot;off-shored&quot;. So in one sense, I think the best tech jobs will stay here, while the boring, uncreative code-slogging will be shipped elsewhere.

-------------------------------------------

My PostgreSQL FAQ --
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top