Why A Career In Computer Programming Sucks



Why a career in computer programming sucks

"Finally, the highly anticipated essay on why computer programming
sucks.

Temporary nature of knowledge capital

Letâ??s being by reviewing what I previously wrote about the four types of
human capital. Computer programming is a job thatâ??s heavily dependent on
temporary knowledge capital. Itâ??s temporary because the powers that be
keep changing the languages and tools that programmers need to do their
jobs. In nearly all other professions, knowledge capital increases as you
grow older because you keep learning more about your field. But in
computer programming, the old knowledge becomes completely obsolete and
useless. No one cares if you know how to program in COBOL for example.
Itâ??s completely useless knowledge.

Even though I havenâ??t been working in computer programming all that
long, I have already seen most of the technologies that I first began
working with become relegated to the garbage pile. Visual Basic 3.0-6.0?
Useless knowledge. I havenâ??t seen any vintage Visual Basic since 2002.
And donâ??t confuse Visual Basic.NET with the classic Visual Basic. They
are really completely different technologies.

So what advantage does a 60-year-old .NET programmer have over a
27-year-old .NET programmer when they both have, at most, 5 years of
experience doing .NET programming? Absolutely none. Iâ??d make the case
that itâ??s better to hire the 27-year-old because he is still at the
stage of his career where he enjoys the stuff and is therefore more
motivated to learn and work harder, while the 60-year-old is surely bitter
about the fact that heâ??s getting paid less than the younger programmers.
No one wants a bitter employee.

This assumes that the 60-year-old programmer has even learned .NET
programming. Every time a new language or technology comes out, the
programmer faces a fork. In one direction he gets to work with the new
technology, and in the other direction he continues working with the old
technology for too long and therefore falls too far behind to catch up.
The older you get, the easier it is to wind up going the wrong way when
you reach one of these forks. Because as hard as it may be for a
22-year-old to imagine, as you get older your desire to completely relearn
everything decreases, so you are likely to succumb to the temptation of
staying with the familiar technology for too long.

Because of the temporary nature of the knowledge capital, computer
programmers quickly reach a stage in their career when their old knowledge
capital becomes worthless at the same rate as they acquire knew knowledge
capital. Their total knowledge capital is no longer increasing, so neither
does their salary increase. They have reached the dead end plateau of their
career, and it happens after less than ten years in the field.

Other professional fields are not like this. I remember reading the
classic 1933 edition of Securities Analysis by Benjamin Graham, and as I
read it I was amazed by how useful and relevant the material was even
though it was more than 65 years old.

Lawyers are still citing Blackstoneâ??s Commentaries on the Laws of
England which was completed in 1769. Now thereâ??s an example of a
profession where knowledge capital deteriorates at a very slow rate.

Low prestige

Computer programming is a low prestige profession. This is evidenced by
the fact that people from affluent families rarely go into computer
programming but instead will seek out the more prestigious professions
such as law, finance, and medicine. Of course there are some exceptions.
There was a programmer who worked for me whose father was a doctor. But
more typical was another programmer who never finished college and whose
favorite hobby was hunting.

And that brings us to the issue of education. Students at Ivy League
universities are not majoring in computer programming. There is a
prestigious school, the Massachusetts Institute of Technology, devoted to
science and engineering, and while Iâ??m sure that there are some students
there who are majoring in â??computer science,â?? the science thatâ??s
taught isnâ??t related to the dirty low-prestige job of creating
e-commerce websites using ASP.NET. On the other hand, practical computer
programming is a popular major at bogus for-profit schools like Devry
â??Universityâ?? and the â??Universityâ?? of Phoenix.

Now some may ask, â??Who cares if the prestige is low, as long as weâ??re
getting paid good money?â?? This is a fair question. First of all, there
are some practical social benefits to having others perceive your
profession as being prestigious. As a Chinese immigrant at the University
of Virginia wrote, â??whatever your position is, as a CS person, you are
socially classified as a geek. At my school, University of Virginia, being
a rich frat boy and having a future in investment banking or law gets you a
lot further status-wise even though you may not necessarily be paid
more.â??

But the prestige of the profession affects both the work environment and
the future economic viability of the profession, as will be discussed
below.

The foreignization of computer programming

Iâ??m sorry about using a word that doesnâ??t exist in the dictionary, but
foreignization best explains whatâ??s happening in the computer programming
industry.

First of all, there is the familiar outsourcing of jobs to foreign
countries, mostly India. Because of this, the computer programming
industry within the United States is an industry with a shrinking number
of jobs, although as a worldwide phenomenon Iâ??m sure computer
programming will grow at a brisk rate. Would outsourcing of computer
programming and other IT jobs be such a big trend if the industry were
more prestigious? I think not. You donâ??t see lawyers being outsourced.
In fact, by law, only members of the bar are allowed to practice law, so
it would be illegal for foreigners to do American legal work.

The other half of foreignization is the near abandonment of the domestic
IT market to foreigners. This is a trend that is accelerated by the
issuance of special H1-B visas that allow extra computer programmers to
come here and take jobs away from American programmers. Computer
programming (along with nursing) has been specially targeted by our
government for foreignization.

Foreignization creates a vicious circle effect with the low prestige of
the profession. Because the profession has low prestige, employers balk at
the idea of having to pay high salaries (while it seems perfectly
appropriate if a lawyer or investment banker is making a lot of money).
Thus the demand for more H1-B visas so that salaries can be decreased. In
turn, Americans see an industry full of brown people speaking barely
intelligible English, and this further lowers the industryâ??s prestige.
Computer programming and IT in general is now seen as the foreignerâ??s
industry and not a proper profession for upwardly mobile white Americans.
[The Indian and Asian people I've known in the IT industry are nice
people, and normally I don't pay attention to their different appearance,
so this should not be taken as a racist dislike of non-white people. I am
only accurately describing the fact that the typical white American thinks
negatively of a profession that's predominately non-white. And I stand by
my belief that people born in this country have more rights to the money
being created here than foreigners. Asian countries feel the same way
about foreigners. Asian countries are, typically, a lot less open to
foreign worker immigrants than is the U.S.]

Because there is no reason to think that the trend of foreignization will
reverse, this will ensure that the future of the industry will be lower
salaries.

Project management sucks too

In order to escape a job where the future is bleak for older programmers
due to the rapid depreciation of computer programming knowledge capital,
computer programmers face the need to move up to management or likely wind
up as underemployed fifty-year-olds, only suitable for lower paying IT jobs
like â??QAâ?? because they no longer know how to use the latest and
supposedly greatest programming tools.

It is often suggested that the most natural next move â??upâ?? is into
project management. But the first problem with this situation is that
project management sucks too. It doesnâ??t even deserve to have the word
â??managementâ?? in the title, because project management is akin to
management as Naugahyde leather is to leather. Project planner and status
reporter is the more correct title for this job. Once you take the word
â??managerâ?? out of title, it loses a lot of its luster, doesnâ??t it?
Everyone wants to be a manager, but few would want to be a project planner
and I daresay no one would want to be a status reporter. Status reporting
is generally the most hated activity of anyone who endeavors to do real
work.

One canâ??t write about project management without mentioning the worst
piece of software every written, Microsoft Project. Somehow, an entire
project management industry has developed around this crappy program which
no one can figure out how to use. (See my previous post about Microsoft
Project Server and Battlestar Galactica.)

Formal project management is more of a pseudo-science than a real
profession, because despite the increasing use of formal project
management methods approved by the Project Management Institute (yes they
have their own institute), there is no evidence that software is getting
better or that fewer software projects fail today than did ten years ago
when formal project management was in its infancy.

The growing popularity of project management has nothing to do with better
software. Itâ??s really more designed to please senior management (the real
managers who control the purse strings). Real managers, who usually donâ??t
understand anything about computer programming but who donâ??t like the
idea that they have to pay high salaries to a bunch of people from foreign
countries, love the reports presented by project managers, because the
reports create the illusion that progress is happening and that the money
being spent on the IT project is not being wasted.

Even if the computer programmer wishes to sell his soul and enter the
pseudo-scientific field of project planning and status reporting, the
transition is becoming more difficult. The trend is that project
management is branching off into its own discipline with its own
educational requirements and certification process. Thus the experienced
computer programmer will usually find that employers arenâ??t interested
in having an ex-computer programmer â??manageâ?? a project, but rather
they seek someone with PMI certification and years of experience in
project management.

This trend, in which people without computer programming experience manage
computer programming projects, is a result of the low prestige of computer
programming. People with high prestige jobs, like surgeons, would never
allow themselves to be managed by non-surgeons. In a complicated medical
procedure there will be a head surgeon overseeing the surgery, and not a
project manager without any medical training. Lawyers have Model Rule 5.4
which makes it unethical for non-lawyers to manage lawyers.

Obviously, the problem with the computer programming industry is that it
lacks a central organization to create barriers to entry and to lobby
state and local legislatures.

The working conditions suck

This relates to the prestige thing again. When a company I worked for
wanted to save money on rent, guess what department they decided to move
to the low rent satellite office? You guessed it, the IT department.

If you look forward to one day having your own private office, then
computer programming sure isnâ??t the way to go. At a law firm, each
lawyer has his own private office. Computer programmers are cubicle
employees, not considered important enough to be given nice workspaces.

Employers are even too cheap to invest in proper tools for the computer
programmers. Take monitors, for example. Every computer programmer knows
that modern development tools are easiest to use if you have a really big
monitor, because you can see more lines of code at the same time, and
because there are a bunch of ancillary windows which steal screen space
from the main code window. My home monitor is a 21â?? 1600 x 1200 Samsung
SyncMaster 214T, and it sure was worth the $900 or so that I paid for it.
An employer interested in getting the most productivity out of its
software developers would supply them with proper high quality monitors,
but they donâ??t. In every job I ever worked, the computer programmers
never had the best monitors.

If you walk over to the graphic arts department, you will see really big
monitors. The graphics people could surely make do with smaller monitors,
but even though they make less money than computer programmers, they have
been able to convince higher level management that their work requires
better hardware. When computer programmers request better hardware, they
are often seen as whining geeks who just want to waste the companyâ??s
money on unnecessary high-tech toys.

Other professionals get proper tools to do their job. For example, lawyers
are given access to Westlaw or Lexis, and a library of books. The amount of
money per year per lawyer spent on research materials most surely exceeds
the money per computer programmer per year spent on computer hardware. If
lawyers were treated with the same disrespect as computer programmers,
they would be told to stop whining about the lack of research materials
and to go use the public law library.

So what's a good profession?

After spending so much effort explaning why computer programming sucks, I
think it's only fair to suggest some better professions for any young
people who might be reading this. Unfortunately, that's hard to do. The
best professions, because they are so good to work in, have more people
trying to enter than there is room for them. Thus you can graduate with a
law degree and find that no one wants to admit you to any of the good
legal career tracks.

I think that, if you can't get into a Top 14 law school or a top graduate
business schol, then public accounting probably provides a better career
path than computer programming. You need to start out as an auditor at a
Big Four accounting firm, and the salary in the early part of your career
won't be as high as in computer programming, but at least older
accountants are valued for their experience and knowledge. It's a career
where you can still be employed at forty or fifty.

If you are technically oriented, then you should consider a career in
patent law. This requires you to get an engineering degree and then go to
law school. Because such a tiny percentage of law school graduates are
qualified to take the patent bar, you will be able to get jobs in
intellectual property law which the other law school graduates are
unqualified for.

UPDATE

I have written a major followup to this post: The death of the generalist
software developer.

http://www.halfsigma.com/2007/03/the_death_of_th.html

I have also written some minor followups: Response to the most frequent
comments, Who wants to be a billionaire? and Responses to dumb
comments."<<

http://www.halfsigma.com/2007/03/why_a_career_in.html


--
Message posted using http://www.talkaboutaudio.com/group/rec.audio.opinion/
More information at http://www.talkaboutaudio.com/faq.html


.



Relevant Pages

  • Re: Coding skills
    ... profession known as "computer programming", and it has no powers to prevent anyone from practising as a computer programmer. ... However the real meaning is that a professional is a member of a professional body which regulates the conduct of its members for the protection of the public, ...
    (comp.lang.c)
  • Getting back into programming
    ... I'm looking to advance my career and would very much like to get ... involved in computer programming. ... I realize that there is little future with the languages I'm familiar ... JAVA and flash are the "cool" langugages of multimedia, ...
    (comp.programming)
  • helpfull hints
    ... I am considering a career in computer programming and i was wondering ... if anyone out there has some helpful hints or suggestions for me. ... would greatly be appreciated if you guys could give me a heads up in ...
    (comp.programming)
  • Re: helpfull hints
    ... >> I am considering a career in computer programming and i was wondering ... >> if anyone out there has some helpful hints or suggestions for me. ...
    (comp.programming)