
So You Don't Want to be a Programmer After All - lispython
http://www.codinghorror.com/blog/2013/04/so-you-dont-want-to-be-a-programmer-after-all.html
======
tarsm
This post hits close to home, however I cannot help but feel angry at Jeff.

I've been doing software for around 8 years now. I didn't grow up around
computers, my family could never afford one growing up so I was never exposed
to programming and IT at an early age, the closest I got to having a computer
growing up were my NES and Genesis, I got my first computer at 18 right before
starting uni, and was exposed to the internet a year later, since we couldn't
get internet service in my home. I wrote my first hello world at 21 during
university.

After high-school I found myself at a crossroads since I didn't know what I
was going to do as a career, I had a passion for video games but knew very
little about computers or programming, and every time I looked into it I felt
it was way over my head, with no other options as to what career path to take,
I settled for technology, partly because my parents pushed me as they also
didn't know anything about computers but they realized it was only going to
become more important in the future, and partly because I didn't have any
other options.

Anyway I finally ended up doing a bachelors in something called "Systems
Engineering" which actually involved very little programming and Computer
Science. The few courses on programming I had I actually enjoyed and excelled
at, they involved very trivial programming in C, but to me getting a "hello
world" to work was amazing, for a while I thought I was happy and that I could
actually make a living out of this, that I found something I really liked.
This didn't last long of course, and once I started applying for jobs I
realized I was competing with people who had started programming in their
teens, the sort of programming problems and concepts I struggled with these
guys breezed trough effortlessly, this was very very very demotivating, I
realized that I could never reach their level no matter how hard I tried(I'm
not very smart) I was finally able to get a job as a CRUD developer and that's
what I've been doing since, my passion for programming was short lived and
died a long time ago, right now this is just a job.

I am not a geek, I actually despise the geek culture, I use Windows as my
operating system, I don't read comics, I hate start wars (but love sci-fi) and
hate configuring servers, I don't program in my free time, I HAVE to use a
mouse when programming, I use an IDE and know nothing about vim or emacs, I'm
a slow typist and I'm a slow learner, I don't know my programming language of
choice inside and out, I only study algorithms when I need to go to an
interview, I'm not smart.

However that doesn't mean I suck at my job, that doesn't mean I don't work
hard to achieve my goals and finish my tasks on time, that doesn't mean that I
can work through a problem that I have no clue how to fix, even if I need a
little help form the internet and fix it, on time.

I've accepted the fact that I am and will be just another mediocre CRUD
developer, that I will never make millions or be recognized for my amazing
contributions to open source. But you know what it's my Job and I work hard at
it, I can't switch careers at this point because there's nothing else I know
how to do and I have a family to support.

According to Jeff I don't deserve a job because I'm not passionate enough.

You know what Jeff, screw you.

------
thaumaturgy
OK. I think Jeff narrowly misses an opportunity here to kick off some badly
needed navel gazing in the software development community -- some perspective
that would really help the people that are unsure about their future in
software development.

Let's say there are roughly two classes of software development: there's
development for development's sake, and there's programming to get things
done.

The first class is where software libraries are written and big applications
and architectures are developed. It's the one that really requires passion and
big heaping piles of experience, so that you can judge the right way to solve
particular problems (and anticipate other problems). This class lives in
abstraction. If someone has never written a single line of code before
college, I wouldn't encourage them to shoot for this class.

The second class is this huge under-served market that the leaders of the
software development community seem to rarely acknowledge. I'm sometimes not
even sure they know it exists. It's the market where programming is merely a
skill that someone brings to their job. It's the market where retail stores
could have managers that can cobble together a script to help them iron out
scheduling conflicts; where experimental scientists and engineers collect data
and then write single-purpose applications to do useful stuff with the data;
where even office receptionists can tweak a spreadsheet here and there to make
some aspect of the job a little easier.

People that have some primary skill set _and_ have programming as a skill are
really valuable in almost any environment.

I've had a lot of different jobs, from government to really big corporations
to really tiny mom-and-pops and just about everything in-between. Every single
place I've worked could have benefited from someone there with a little bit of
free time and some programming expertise.

If you get part way through a computer science major and decide you don't
enjoy it, _that's totally OK_. Go and find the thing that you really do love,
and go do that thing, and bring your programming education with you. You don't
have to be a good programmer there, you just have to be able to understand
another industry well enough to see where it can benefit from having a few
things automated here and there.

~~~
quanticle
I would also like to note that it's in our self-interest to encourage people
bring programming education into other fields. There are innumerable cases
where a professional programmer has had to throw away months (or even years)
of effort because the person making the original application didn't have the
slightest clue about things like application structure, basic algorithms or
even basic utilities like version control. It's painful for us to have to deal
with that kind of code and it's painful for the client to find out that the
application that runs their business is a shoddy piece of junk that can't
scale with their business. Making sure that basic programming skills are more
prevalent in the world will help us avoid these situations.

~~~
thaumaturgy
Absolutely. That's kind of a grayer area than I was talking about, but also an
important (and unfortunately common) problem for a lot of industries.

------
mseebach
A small nit-pick: I disagree that programming is inherently a job the requires
passion. Any job requires passion if you are to excel, but you can trudge
along as a career programmer as the person who wrote the second note.

~~~
hga
Well, I think "passion" or something in that direction makes a big difference.

I can tell that programming is my forte because when the going gets tough,
sometimes solving a problem but most often when debugging, I have the drive as
the first commentator put it to slog through it.

And while I'm pretty good at system building and administration, when there's
a messy bug to be found because something's not working there are few things
I'd rather less do, solving it draws on my willpower in a way that's just not
even comparable in programming. Even the hardest, takes weeks to find disjoint
in time wild pointer bugs (well, weeks back in the days where I had to get my
company to procure debugging hardware because the 808x family didn't have it
built in).

~~~
taeric
You know what else "makes a difference?" Getting lucky.

As smart as I would like to think I am, there are a couple of million kids in
China alone that are smarter. Easily. Same goes for the majority of the
"celebrities" we have in our circles. Hell, there is probably a large portion
of folks this side of the pond that would qualify.

Bringing it back to this, career questions are tough, because ultimately a
small percentage of us can even do something about our careers. Changing
careers is something that folks do rarely, in part because it so rarely works.

Or, do you really think every middle aged delivery man is passionate about
their job because they like delivery? My bet? They like their job because of
what it can afford them to do.

------
cl8ton
I think, the just coming into programming generation are all enamored by the
headlines of big $$$ exits by people just several years out of college.

The entrenched crowd recognizes programming and all the mired number of daily
challenges as a way of life they would not change for any other career.

------
michaelochurch
As I get older, I realize that:

a. I want to keep working on technology. Whether I'm a programmer or data
scientist or even a startup founder, I want to keep taking ideas and directly
implementing them-- not being some champion delegator and credit-taker because
I would feel dirty and be bored out of my fucking skull if I had that job.

b. I do _NOT_ want to be what most people think of as a "programmer"-- a
subordinate who implements crappy ideas with no room for creative control (I'm
willing to cede business-strategy creative control, but _I_ decide how to
solve problems) and gets no autonomy, no respect, and no chance for
advancement. I also think there are very few companies where software
engineers actually have it good. Even at Google it's a million times easier to
climb the management ladder than the engineering one. You actually have to be
good at something to make Staff Software Engineer at Google; not so for its
management track.

So, I like programming-- even the debugging, and even maintenance/reading code
when _I_ decide that it's important for the code to be read. I don't want to
be what empty-suited idiots think of when they think of a programmer, though.
Fuck that shit. I'm too old and I'm way too talented to be the butt of that
joke.

