

Ask HN: Is programming a good career to start in anymore? - qzc4

First off, I am mainly a lurker here and read a lot of this stuff, for better or for worse. I&#x27;m a junior in high school, unsure where to go next. I do a lot of programming and I suck at it.<p>I have read quite a few comments that say programming is not a good career. It&#x27;s hard to do what you love because there are so many people who do the same thing, it&#x27;s not a unique skill, it&#x27;s unstable unless you settle for Visual Basic maintenance work, etc.. Judging by the amount of “this thing is so difficult, I need to take a 50 year sabbatical so I can have a proper work-life balance” type of posts I see on HN, it&#x27;s stressful too.<p>So, my question is, is it even possible to get a job (in a few years) under the label of “programming”? Do I need to find something better to specialize in (sysadmin, network guy…)?<p>I enrolled in a Python&#x2F;C++ independent study class because I took AP CS for the A+ I needed to boost my average last year. So, in a sense, I&#x27;ve already committed another year to this. Is this a skill I will end up using, or will I look back at this as a waste of time for the rest of my life? Am I just being especially pessimistic at the moment?<p>I don&#x27;t need any more of that “follow your dreams” bullshit.
======
rprospero
As someone who was in a similar position and whose world view seems to be
similar, I would say that looking for a career as a programmer is probably a
bad choice, but you're actually far better off than you think.

On the bad side, the career of programmer is a bad career to get into in the
same way that scribe, typist, and elevator operator are terrible career
options. However, if you go to a job interview and can't read, type, or use an
elevator, you'll be shown the door. Programming is heading down that same
road.

So, there's some good news. You didn't waste your time. You're going to be
writing code until the day you die. You'll just never be called a programmer
in the same way that you'll never be called a chauffeur when you drive
yourself to work.

The next bit of bad news is that you probably do suck at programming. The CS
AP test was a cake walk back when I took it and it DID include pointers at the
time (during the brief period where they focused on C++). I was a deplorably
incompetent programmer when I took the exam and I aced it without any
problems.

The corresponding good news is that it largely doesn't matter that you suck as
a programmer. The vast majority of people are so terrible at programming that
even basic, wipe-after-you-poop competence will make you look like a
superstar. To put it more succinctly, have you head of Git? I'm not asking if
you've used it - have you heard of it? Congratulations! If you have, then
you're in the top ten percent of crappy programmers.

I guess what I'm saying is that you shouldn't "follow your dreams" \- don't
become a programmer because that career is dying. On the other hand, you're
pretty well off, because your dreams are going to chase you down. You'll
probably never be a "programmer", but you'll spend your career programming,
whether you want to or not.

You should specialize, but not in a "sysadmin" or "network guy" sort of way.
These also seem to be assimilating into the basic employment competency list.
Instead, ask yourself what you want your programs to DO. After all, if a
couple of Silicon Valley VCs came to you and said "We need a programmer to
make a database of left handed people and code areal drones to blow them up",
I'm guessing that you wouldn't be that thrilled at the opportunity. So ask
yourself what you'd like them write instead. If it's the next great ray-tracer
for pixar, study physics and optics. If it's the next facebook, read up on
sociology. If it's the new mining operation. If it's a better news site, study
journalism. If it's an encrypted webmail client, study math. If it's blowing
up left handed people, study aeronautical engineering.

And keep studying programming. It's a wonderful little hobby that will payout
huge dividends in your career. Just don't try to be a programmer. Or an
elevator operator.

------
mswen
My contrary opinion is that programming skills are one of the surest
employment bets that a person your age can make. This is particularly true if
you above average intelligence and enjoy the kind of abstract, puzzle solving
work that is central to programming.

In addition to what you are already learning, think about adding the
following. A decent foundation in Linux, PostgreSql,Javascript, CSS and
Javascript. And, on the academic side take lots of math and statistics.

This combination will enable you to secure well paying jobs and if you have
vision and a taste for risk this set of skills has high upside potential
though creating products.

------
dllthomas
I'd say learn to program, but thoroughly learn a domain to apply it to as
well. Ideally you'll pick the domain right, but learning what's involved in
learning a domain thoroughly is itself hugely valuable. I don't know exactly
when, in your educational trajectory, to advise what though. Probably depends
partly on the particular domains you're considering.

------
ctseng01
You took the AP CS, and knew you could get an A+, why do you think you suck at
programming?

Being able to program is a wonderful skill - the computers are so accurate, so
efficient and never complains once you get all the bugs out. It's great. The
languages are getting easier and more powerful. I think the world will soon
just have 2 groups of people - people who program or make things, and people
who don't.

In short, programming is a great career to start. You don't have to be an
amazing programmer to appreciate it's beauty and value. Yes, it may be
stressful, hey, even jobs at Starbucks or the Amazon warehouse get stressful -
if you work at (any job) loser companies, you also lose your job easily when
the bossmen screw up. If I am to choose an easily, portable skill to harness,
programming is better than box-packing or coffee-pouring.

~~~
qzc4
OK. You're probably right. But AP CS was not difficult for anyone. If you did
the work, you got an A+. And then the exam was worthless as an indicator of
how good you are. Even my friend who tried to copy and paste off Yahoo Answers
got a 5 (the highest you can get). You can look at the course
description[0]—it's easier than Programming 101 (of course not even close to
the MIT version). It's all in java and you don't have to know what a pointer
is.

> _The languages are getting easier and more powerful._

Definitely agree with you on that one. I am learning swift right now and it
has come really far from objective-C.

> _I think the world will soon just have 2 groups of people - people who
> program or make things, and people who don 't._

Now that is an interesting perspective.

> _If I am to choose an easily, portable skill to harness, programming is
> better than box-packing or coffee-pouring._

That's a really unfair comparison. Those are jobs you get for minimum wage.
You can't major in box-packing in college, but you can major in software
engineering.

As I said before, maybe you're right. My fear is that really, my skills are
not unique or specialized. They are just “Oh, I know some C, and some
Objective-C, and some Python, and some JavaScript, and some Java, and some
shell scripting, and barely any C++”. I feel like nothing stands out from
that. With the exception of Objective-C (I'm including the native frameworks
here), those are all languages that every programmer should know (C) or would
be able to pick up fairly quickly (Java).

[0]:
[http://apcentral.collegeboard.com/apc/public/repository/ap-c...](http://apcentral.collegeboard.com/apc/public/repository/ap-
computer-science-course-description.pdf)

------
lgieron
It's entirely possible to get a job under the general label of "programming"
\- businesses everywhere need custom systems written to handle their shit and
it doesn't really require any extra skills beyond being able to program. Right
now the demand is so high that anyone and with just 1-2 years of total
experience as a programmer (and without a CS degree) will have no trouble
getting hired, provided he knows the technologies that are in demand (like
enterprise java).

------
dj-wonk
I am having a hard time understanding where you are getting such a negative
vibe about software development, systems administration, and related fields.
Are you being overly pessimistic? Yes, and that is an understatement. Give it
a shot and see how it goes.

Yes, some places don't have a clue about software. Some may not treat you
well. Look and shop around until you find a decent place.

What else are you considering?

If you want to talk about some fields that have high dissatisfaction, take a
look at becoming a doctor or lawyer. :)

------
WoodenChair
Last I checked there's a distinct shortage of programmers in America (which is
where I assume you are since you said you took an AP class). But don't take my
word for it, I don't need the competition!

------
shantkiraz
Yes, definitely. Companies, agencies, clients, etc. will always need custom
development. It's a growing market and will just become more popular as the
years go on.

