Here is an interesting debate about Computer Programming for young men today:
About computer science:
Don't study computer science. It is a temporary career for many people,
because there is a huge burden on you to "keep up". After 5 years, half of
what you know is obsolete. There will be a new programming language
every 5 years that you have to learn, to keep up. Unless you like reading
computer/technical manuals frequently, choose another career.
If you don't have an MS or PhD, you will be considered not much more than
a "programmer", which is a geek or nerd and not respected in a corporation.
Software companies, like Microsoft, are now having much of their programming
done in India or some Asian country where the labor is cheap.
Computer programmers are not respected, like professional licensed engineers
(civil, mechanical, electrical, industrial). Programming is not considered an
engineering discipline, by most corporations. Much of programming in the real
world is hacking and does not involve much design and analysis. Tools are
available to automate programming, but programmers don't like them, so the
work remains tedious and painstaking year after year. Much of programming
in the real world is working on someone else's code.
I see many ads for programmers who know 10 computer languages and can
"walk on water" and the job is a six month contract in $ilicon Valley, CA or
New York, NY where the cost of living is sky high.
After age 40, you will be considered "out-of-date". What the corporations
really want is some young kid with a BS and 3-5 years of experience, who likes
working until midnight and weekends for no extra pay. The benefit they give
you is free coffee. Then after you burnout in about 8 years, you get replaced
by a fresh younger guy who knows all the latest stuff.
You will work in an 8 x 8 foot cubicle with walls 6 feet high and fluorecent
lights overhead for many years (if you are in a corporate environment).
This is what I have discovered after about 30 years of experience in the real
world.
There are some positive things about computer science careers.
1. You may be able to work at home some days or many days depending
on your type of job.
2. You may be able to go to work if you can't get any work done at home.
3. You will get asked by all your non-technical friends to fix their computer.
I hope this helps some of you in your decision making process.
- P.M.
And here is another point of view:
I hope preceding note does not reach the eyes of the young men. I am sorry if Mr. Mann has had a rough go at it, but the fact is that the Information Technology field is bursting with all sorts of opportunities. There are many men whom I know personally at St. Vincent de Paul who are programmers or are otherwise in the IT field and who make a good living in the IT field. He is correct that there is a danger of falling behind with respect to technology, but that is always the case, even for non-programmers. I am happy to say that the outsourcing craze of the last few years has lost its momentum as companies find that the work done overseas is not up to par with our standards. By the time the code gets reworked and nerves are frayed over poor work, there is no cost savings to the company. Our company actually tried this approach when we worked with a firm that was doing our website. It was a disaster. Not only did one of our owners have to be in extra early to take a call from the development team in the Philippines, the product was terrible. Anyone preaching outsourcing today ought to be very careful, lest he be seen as a dinosaur.
You do not need a Master’s or Ph.D. An MBA would be a good idea for someone interested in rising through the ranks of an organization. In fact, IT people have never been more respected, since there is now in many companies a clear understanding of the role that IT plays in adding to the bottom line. Moreover, there is so much more to IT than programming. Data and Business Analysts are always in demand, as are Project Managers. I will admit that there is always a risk that someone who goes into management and gets out of day-to-day programming will be at risk of falling behind with technology, but if you can program one language, you should be able to transfer those skills to another language. That will just have to remain a question mark until someone gets into a job and decides what he really likes to do. Some IT managers work it out so that they still program and therefore keep up with the latest developments in technology while maintaining a manager’s title and salary. Regarding age, our clients want someone who can do the job right away, and do it well, which generally excludes people under 30. There is most definitely discrimination against older people—I absolutely believe that is going on. The question, however, is whether that is due to age or to assumptions made by employers that someone who is, say, 52, will be too expensive.
So, where are some areas in IT I would suggest for a career? Certainly any of the web technologies (ASP.Net, VB.Net, Java), server support and administration, database programming and administration, security (huge!), data architecture, network/systems engineering, Unix/Linux/Windows administration, even telecommunications, which is daily blended more and more with traditional IT. Of course, each one of these broad categories I just cited has many subsets.
The key thing a young man needs to keep in mind is that he needs to know what employers are offering in the way of current technology, their plans to keep up with new technology, and any training and certifications they encourage their employees to earn. Run from companies/bosses that do not value keeping up with new technologies. Do your homework on these companies. Get in school and use your professors to guide you in making a decision on making a career in IT, looking at your strengths and interests, as well as the long-term relevance of a particular technology.
-S.Q.
Sr. Resource Manager