Hey! "Computer" jobs have nothing to do with computers!
by Adam Luoranen
March 25, 2007
This is going to be a weird combination of acerbic rant, computer industry
commentary, and personal journal entry. I've written several of all of these
for Internet consumption in the past, but I don't think I've ever written
something that's all of them at once. I suspect it's going to turn out a bit
disjointed, but that's okay. I'm writing this just because somebody might
find it insightful or interesting; I have no friends, and even if I did, if
I had something I wanted to communicate to them, I would just tell them
personally instead of writing it up in a textfile on the web. I'm writing
this just because maybe, at some point in the future, some random person will
stumble upon this text file and feel like they might gain some real
inspiration or insight from it. If you did, this file served its purpose. If
not, hopefully it didn't waste too much of your time.
The root inspiration for this file, as the title suggests, comes from a
rather sudden realization I came to that most jobs in the computer field have
nothing to do with computers. I should probably qualify this statement up
front by acknowledging that this is a huge generalization, and that yes, it's
not true of every single job that exists in the world. Of course there are
still jobs which require you to actually do computery things all day, but
such jobs are becoming increasingly scarce, and the ones that do exist are
for incredibly lame things.
This isn't a sudden trend; it's been developing for some time now. I've
been aware of it for a long time, but it was only recently that I had a
serious personal revelation regarding it. I'll explain this in more detail
later, but first, let's review what a real computer job is, as performed by a
real computer person (a label which I've applied to myself in the past).
A "computer person" is someone who likes computers and knows a lot about
them. To my mind, a *real* "computer person" will know how all the basic
parts of a real computer works; that is to say, the person could construct an
actual, working computer from 7400-series logic ICs. For example, a true
computer person is familiar and comfortable with:
- Electronic components (resistors, capaacitors, inductors, etc.)
- Transistors (BJTs, JFETs, and MOSFETs))
- Flip-flops (S/R, D, and JK types)
- Multiplexers, demultiplexers, encoderss, and decoders
- Arithmetic logic units (ALUs)
- Control matrices and microcode
- DRAM and SRAM
- Instruction decoders
- Memory controllers
- CPU interrupts, and how to invoke themm through hardware and software
- Memory management in machine language
- Using bare wires and rows of toggle swwitches as input devices
Obviously, this is just a brief list of the most important principles a
computer person must know; a comprehensive list would be much longer, but the
general idea should be made clear here. This is what my generation knew
growing up; this was what we learned about to prepare us for rewarding,
highly-skilled, well-paying jobs in the blossoming computer industry.
The only problem was, when we grew up, there weren't any jobs requiring
this skill set anymore. Some commentators might read this sentence and think
"Well, that's because computer technology keeps advancing, and you have to
learn new skills to keep up with the latest technology". However, that's not
the case at all; computers still use all of these same principles that they
used in the 1970s. Everything in the list above is still thoroughly
applicable to computers of today; it's just that nobody wants to hire people
with those skills anymore.
I've read multiple articles in computer-industry magazines that have noted
the changing face of "Information Technology" as a company department. These
articles all note that the corporate computer person's skill set no longer
consists of pure computer knowledge; today, the people in the so-called IT
department are actually more like businesspeople who just happen to know how
to use a computer.
To illustrate this point, I went looking through some current job postings
on online job boards for IT people. Here are some of my favorite phrases from
actual job postings:
- "Perform detailed class-level and dataa model design"
- "Defining and implementing software deevelopment lifecycle process"
- "Assisting clients in developing "bestt practices" in accounting procedures"
- "Execute strategic Web site re-architeecture programs"
- "Spearhead initiatives to develop nextt generation market opportunities"
(Bear in mind that all of these are taken from job postings for IT
positions, not executive positions.)
What? What the heck? Where are the D flip-flops and the N-channel MOSFETs
and the control matrices? Where did all this beaureaucratic non-information
about "accounting procedures" and the "software development lifecycle
process" come from? If you want to hire a suit who'll just spout meaningless
drivel like this, just say so, but don't couch this in the guise of a
position relating to computers. There's a time and a place for business
procedures, but a businessperson is not a computer engineer, and vice-versa.
The computer-illiterate "Information Technology" people who actually do this
kind of thing for a living, then pretend they work with computers, can place
their strategic website programs up their wazoo.
Once again, I realize that this is a generalization; of course there are
still jobs with less of a business focus and more of a technical one, but
even these jobs tend to have very little to do with computers. Most of them
are about websites or web development (which has nothing to do with
computers; a website is not a computer component) or programming in
abominable high-level languages like Java, which also has nothing to do with
computers. Almost by definition, portable programming languages require (and
indeed, expect) little computer knowledge from the programmer. Real computer
people program in languages that require knowledge of the computer's
architecture, which pretty much boils down to machine or assembly language.
Today, assembler or machine-language programmers in the computer field are so
rare as to be almost non-existant; for a while, such programmers had a niche
in the embedded-systems market, since embedded systems are basically tiny
computers which are too small to support a high-level language, but today,
even very tiny embedded processors have complete development environments
that allow you to program them in C or some other HLL. This presumably makes
it easier for people to program them, but also means that programming in
assembler is, essentially, a thing of the past for virtually all professional
computer programmers. The result is that there's no longer any such thing as
a computer programmer, because people who write in C, Java, or Perl aren't
really programming a computer; they're programming a development environment
(either a compiler or interpreter).
When I entered the working world, I still believed that there was room for
someone who could work with computers. I encountered some setbacks, but I
expected those in the beginning. I kept at it, believing that at some point,
there would be light at the end of the tunnel.
I've always believed that if you really believe in something and stick to
it, you can achieve anything. Most people seem to believe this, too, but
there's a catch: It's not really true. Once again, it's a huge
generalization, and while it certainly has some kernel of truth to it, it
cannot be taken literally. As a simple example, suppose that your personal
goal is to grow enough food to feed a meal to everybody in the world. Further
suppose that you have enough land and time to grow food for 1 million meals
in a year (this is already a superhuman stretch). At that rate, given the
current world population of about 6 billion people, it will take you 6,000
years to grow a meal for every person. And that's just one meal; by the time
you finished feeding everybody, most of the world would be hungry again. Yes,
of course you can fudge this goal by getting other people to help you, or
scaling down your goal so that perhaps you're only feeding everybody in your
neighborhood or city instead of the whole world, but doing this fundamentally
changes the goal; the original goal was to personally make a meal for the
world, and if you don't do that, you're not achieving that goal. You can say
the goal is unrealistic, but this only proves my point that you must take the
adage "You can do anything you set your mind to" with a grain of salt.
For a long time, I believed that I could tough it out. Computers were what
I wanted to do, and I wasn't going to let an industry slowdown get in the
way. Everybody insisted that the jobs were coming back; the economy goes up
and down, like a roller coaster, and it inevitably hits low periods where job
growth is slow (or even negative) and everybody just has to hold on tight
until it's over. So I did; I weathered the storm as best I could.
As I write this, it's early 2007. I've been waiting for 7 years now, and
things aren't getting better. I'm still looking for a job designing
flip-flops for CPUs or front-panel displays for switch-programmed PCs. I
haven't seen a single job posting for one yet, let alone actually landed one
for myself. Some people say that this kind of job stagnation comes from
focusing on too narrow a niche in your field, but this is absolutely not the
case: I can do everything relating to computers, from laying out silicon to
poking boot kernel code into a boot RAM.
I was still waiting for such a job when, one day, while going to my
non-computer-related job that I was holding down while trying to weather out
the storm, I became almost blinded by a sudden flash of understanding: Such a
job probably never will materialize, because of the way business works. For a
company to remain in business, it needs to market and sell products or
services that actually make a profit. This means that companies won't
necessarily make computers or computer-related products; they'll do whatever
makes money, and computers don't make much money these days.
This was one of the strongest epiphanies I've had since the loss of the
computer. It sounds terribly obvious when you read it, but to tie it to what
you've been pursuing as a livelihood for decades is a rather jarring
experience. It became clear to me that if I was going to remain active in the
computer field, the best way to do it would probably not be as an employee;
the actual computer industry has turned its back on computing, and for me to
be able to continue doing great things with computers, it would be best for
me to actually leave the industry and continue doing computery things as a
non-commercial pursuit. I could better serve the computer scene as a
not-for-profit amateur, rather than an employed professional.
Unfortunately, as I began making motions to bow out of the industry and
become a full-time amateur hacker, I came to realize that the problem runs
deeper than that. There was a specific reason why computers weren't making
much money: Companies only stop making money off things when nobody buys
those things anymore.
The reason computers don't make a lot of money is because nobody is too
interested in putting money into them anymore. Industry hasn't just turned
its back on computers; even the computer enthusiasts and hobbyists have
turned their backs on computers. The days when people hand-soldered their
computers seem hardly remembered, even by the people who did it decades ago.
I know many people who claim to be computer enthusiasts, but not a single one
of them has written their own operating system or designed their own CPU.
Very few of them own real Apple IIs or Commodore Amigas, and only one of them
has so much as a logic analyzer at home. For years, I consoled myself with
the solemn understanding that even if, someday, for whatever reason, the
computer person became totally unneeded in actual industry, there would still
be a thriving non-commercial scene of people who got involved in such things
for the sheer love of doing them. Today, I actually feel betrayed by these
people, because even those who seem to like computers for non-business
reasons talk mostly about using computers to listen to music and watch
videos.
I keep asking myself: What kind of mentally-disturbed individual wants to
do boring crap like listen to music and watch videos? Who wants to do
something like that, where you just sit and watch or listen passively, when
you can do exciting, awesome things like hand-solder an adventure game on a
circuit board where every solder blob is a 1 or a 0? Yet I have actually met
people with computers at home who would rather watch a movie than solder. In
fact, the people who would pick the video actually seem to be a majority.
I sincerely cannot understand this phenomenon at all; it's like the whole
world forgot there was ever such a thing as a computer, and turned the clock
back 100 years. For decades, even the media (often blind to important
developments in society) caught on to the computer revolution, and talked
about how computers could and would change how we lived. Yet today, this
potential is gone, and people have reverted to using computers as simple
music players and televisions. Amazingly enough, despite all the techno-talk
about how "The future is now", even the computer pundits buried their heads
in the sand; they weren't ready for the computer revolution. They didn't have
the vision to understand that 8-bit CPUs and floppy disks are the future.
Instead, they pretend that a cell phone which plays video is revolutionary,
even though it actually does nothing useful or innovative. People in
positions of respect and trust actually have the gall to claim that obsolete,
useless technology is cutting-edge and changing lives.
In recent years, we've endured fears and actual occurrences of terrorist
attacks, outbreaks of disease and war, financial hard times, and global
climate change, but no single event has shaken me and destroyed my hope for
the future of humanity so much as the loss of computers.
Computers have always been something social for me. Even in the 1980s,
before home Internet connections became common, the computer was, in my mind,
a place for people to gather to do things like play games or write programs
together. These activities are fun individually, but like sex, they become
even more fun when you do them with someone else. BBSes (the predecessor to
the Internet) were strong in the 1980s, and I met many people on BBSes as
well, and shared a great deal of sentiments and files with them, the memories
of which will last me a lifetime. Today, however, most people on the Internet
are not interested in writing a game from scratch using 16 colors and drawing
all the graphics through direct memory writes; they'd rather use a GUI-based
program to create all their graphics, which isn't much fun and defeats the
purpose of having assembly language (the only computer language worth writing
in). As a result, my community has slowly collapsed around me, until I no
longer can find anyone who shares my interests. Growing up, I was never the
socially withdrawn, friendless nerd that computer people are often portrayed
as. I had friends who shared my interests. Ironically, today, in the age of
the Internet, which was supposed to be a great connector that brought people
from all over the world together, I feel alone and abandoned for the first
time in my life.
Once when I was about 10 years old, I engaged another boy who was about my
age. I was in an excitable mood, because the previous night, I had begun
playing a new car-racing game on my computer. I did not know this boy
particularly well, but we at least knew each other by name, so I felt I knew
him well enough to share my wonderful news with him. Running to meet him, I
fairly exploded with my revelation: "Hey! I got a new racing game on my
computer!"
He looked at me for a moment and said "Uh, that's great." In that moment, I
truly understood what it feels like to tell somebody something they are
genuinely not interested in.
I had surprisingly few such instances growing up. I think I had a pretty
good sense for recognizing who would actually care about my computer games
and who wouldn't; this particular incident was a comparatively rare error in
my judgement. Most of my friends were into games growing up, and they thought
it was cool to write computer programs that wrote directly to I/O addresses,
but I did run into the occasional person who still clung to their
old-fashioned beliefs that computer people are uncool. My point with all this
is that I know what it feels like to have someone look at you like you are an
entirely bizarre freak, and while I never got this look from other computer
enthusiasts growing up, today I do.
I AM SO DORKY THAT I AM ACTUALLY TOO NERDY FOR COMPUTER NERDS.
I am not bitter about the existence of non-computer people; I swear to you,
I am not. Not everybody in the world has to like computers, and I have many
friends who honestly don't care about them at all. What I am bitter about is
the proliferance of so-called "computer people" who actually know nothing
about computers, and furthermore, actually look down upon those who do. It
seems that if someone owns a pocket MP3 player, they are too good for someone
who knows how to write machine language for 3 different CPUs.
Even more than the collapse of the computer industry, this is something
that has begun to steer me away from computers. For a while, I believed that
after dropping out of the computer field and becoming something boring and
useless like an accountant, lawyer, or physician, I would continue to keep
the computer scene alive in my spare time. There are still countless projects
that I want to do. I want to hand-build an Amiga 500 clone from discrete
transistors. I want to create a virtual replica of Babbage's difference
engine using a software physics engine. I want to hand-etch my own 65-micron
full-adder over my kitchen sink. (Or better yet, someone else's kitchen
sink, since mine is already too full of electronics to have much room for
such a project.) I want to make a computer that runs on music.
All of these are projects which I would undertake partly for my own
learning and interest, but also because I'd want to share them with other
people who would find them as fascinating as I do. But I cannot find such
people anymore. I could do these projects all on my own, but doing so would
seem somehow... Empty.
I hate to give up on something so meaningful to me. If I really thought
there was any hope at all, I would fight tooth and nail to keep the scene
alive. But I can't do it alone, and I lack the support of anyone at all.
There seems to be little point in continuing these projects just to amuse
myself. The human being is meant to be connected, linked socially and
spiritually to other human beings.
This leads me to another epiphany that I had about a week ago. During a
conversation with a co-worker at my boring non-computer-related job, my
co-worker (who knows that I am into computers) remarked that I seem to talk a
lot for a computer person.
I was momentarily floored by this realization, but it was true: Lately I've
been talking a lot to almost everyone who'll talk to me. I hadn't even
noticed this until it was pointed out to me, but when I sat down and thought
about it and tried to figure out why I've become so chatty, I began to see in
myself an impetus to get closer to people. This is probably partly because of
a certain loneliness (which I shouldn't complain too much about, since
loneliness is almost absurdly common), but also because I just want to learn
more about people. For most of my life, I've deliberately spent most of my
time talking to other computer people, and now that those computer people are
essentially abandoning me, it seems like I am subconsciously trying to figure
out just what the rest of the population is like. I don't have to ask other
computer people what they're like; I already know. They're like me. They like
to talk about computers, they read a lot, they play a lot of games, and they
enjoy learning new things. I intuitively tend to understand these people,
because I am one of them. But when I am with non-computer people, I lack this
same intuitive sense of a person, and so I try to find out more. Real
computer people are insatiably curious, and I am probably just highly curious
about people.
The problem is that people are not as forthcoming as computers. If you ask
a computer what value is stored in memory address 3587, it will immediately
tell you without any apprehension. You can open up a computer, look at
everything inside it, and move around its innards however you like, and the
computer will not complain. (Though it might stop working if you do this
wrong.) But humans do not immediately answer all queries to the best of their
abilities. In fact, if you sit down and ask a person perhaps 10 questions
about themselves, they may begin to be visibly uncomfortable before you are
finished. It is generally supposed to be true that people enjoy talking about
themselves and appreciate it when others take a genuine interest in them, but
just try examining someone without arousing suspicion or unease. If you ask
somebody where and when they were born, where they grew up, what school they
went to, what music they like, what sort of car they drive (if any), where
they live, and whether they prefer paper towel coming forth from the front of
the roll or emerging from the back of the roll, they may go so far as to ask
(perhaps semi-jokingly) if you are "interrogating" them. For a computer, such
a standard status check is routine procedure; to a person, it almost seems to
constitute some sort of invasion of privacy, especially when you ask all of
these questions at once and without any obvious reason, even though any one
of these questions, asked alone, would probably pass as innocent and mundane.
These are only simple questions, too; we haven't even begun to get to
questions like whether you would consider a Bachian fugue or a Megadeth song
more appropriate for a medium-budget movie about western European
undertakers.
The problem is compounded in those who have various forms of autism, such
as Asperger's Syndrome. One of the hallmark symptons of Asperger's Syndrome
is the inability to recognize socially inappropriate speech or actions;
people with this form of autism may (with the best of intentions, mind you)
say or do things that are considered socially inappropriate, without
realizing that they have offended or irked someone else by doing so. Alas,
people heavily interested in computers often have this condition; I actually
wonder if I have some form of Asperger's Syndrome, based on the number of
times I seem to have unknowingly said something that someone else considers
inappropriate. This doesn't seem to happen too terribly often (I do seem to
have some ability to read others' facial expressions, which classical autists
are unable to do), but it still becomes quite annoying when attempts to be
friendly result in soured feelings, restraining orders, and
sexual-harrassment lawsuits.
Like the lack of interest in the computer community, these consequences are
discouraging, compelling the person who is not naturally social to withdraw
into their own little shell. I'm not particularly interested in being utterly
isolated from everyone, but trying to reach out to people does involve some
pitfalls. Increasingly, however, I feel like I may simply have to. I'm
starting to realize that if I'm going to lead a normal life, I'm going to
need some help from other people to do it; I've always had friends, but
they've always been a rather specific type of friend, and it seems like I
haven't been leading a balanced human life. If I actually end up trying to
make "normal" friends, this may be the single biggest shift in my attitude
towards life I've ever made; it will likely be more life-altering than
graduating from college or getting married (both of which I've already done).
Then again, who knows? Old habits die hard. Maybe I'll get tired of trying
to interface with people and go back to computers. For now, however, it looks
like making a career out of building flip-flops might not work out, no matter
how hard I try, and if there is truly nobody who wants to collaborate on
making a Commodore 64-compatible from Slinkys, then I'm not interested in
creating a whole bunch of computing material that no one will ever read. I'm
tired of trying to convince a global industry and hobbyist community that
toggle switches are a superior input device to mice. You people can have your
ringtones and music videos; I'm off to live a real life. Cheers.
               (
geocities.com/siliconvalley)