
An interview by a 7th grader - sharpn
http://paulgraham.com/int.html
======
jasonkester
_If you're good it's always easy to find programming jobs. Even when the
economy is bad there is a shortage of good programmers._

That's a truism in our industry that far too few people understand, much less
take advantage of. If you're good, you don't need to worry about your career
all that much. You can go off and travel, join flaky startups, and otherwise
sabotage your "career", and know that if it all falls apart you'll land on
your feet. So long as you're demonstrably good at what you do, you can always
pick up a good contract on short notice.

There's a flip side to it, of course. If you find it hard to get work in this
industry, you might want to consider the possibility that maybe you're not
quite as good as you think you are.

~~~
baddox
Isn't that true of any career though? As a college student who will soon be
attempting to get a job (presumably as some sort of software developer, since
I'm a CS major), I don't think saying "you'll find a job if you're good"
really tells me much. I don't KNOW if I'm good. I'm confident in my
comprehension of Computer Science topics, my ability to learn and find out
things I don't know, and my ability to present myself well in an interview.
Will that be enough for an entry level job?

~~~
jasonkester
Your "good"ness will present itself to you over the course of time. You'll be
working at a startup and they'll lay off the entire development team, but ask
you (and only you) to come back on a contract. You'll get a call out of the
blue from somebody who's putting together a team and got your name from one of
your old bosses who recommended you. These incidents might not mean much
individually, but over a half dozen years you can assemble them to mean that
you're good.

From there, you get something that's definitely not true of any other career
(or at least only applies to a few). Doctors and lawyers generally don't get
to disappear on year-long vacations and then drop back into their previous
career path without missing a beat. Developers can. You can go on to lead the
life you want, without having to think about how it will damage your career.
It's all good from there.

------
adelevie
>when you write a good program you get the same feeling of achievement you'd
get from making something like a piece of pottery or a house

I get the same feeling writing good software now as I did when I built cool
stuff with Legos and Knex when I was in younger.

~~~
mkramlich
Same here about the LEGO. And I get the same feeling looking at a piece of
good source code I do looking at the sheet music to a great song. Actually all
three systems can have a kind of beauty to them, visually, in their patterns
and they can either ring right or ring wrong.

~~~
adelevie
Play with some set of Legos long enough, and you're bound to come up with
something cool.

------
d0m
I don't feel the answer really apply to a 7th grade, but I still find the
answer interesting. Of course, it's PG so lots of the answer were about
startup which is a bit confusing. I stay that because, to the question:
"What's the range of salary of a plumber?" Well, a plumber building a new kind
of tools could get billionaire which isn't really answering the question.

Still, interesting read way better than apple evilness and "why my kids like
ipad".

~~~
psyklic
Still, answering ANY salary range question with "... or you can start a
business" is such a refreshing outlook! Certainly not one I was exposed to in
7th grade.

------
theycallmemorty
> For bad programmers, like bad cooks, the mere mechanics of programming are
> challenging. Whereas good programmers, like good cooks, can make whatever
> they choose, so for them the big challenge is deciding what to make.

I've always loved the analogy of coding to cooking... a lot more than
painting, or architecture.

~~~
alextgordon
I've just realised that I cook like programmer (or program like a cook). I
take a recipe, then cook it multiple times changing different variables
(iterating) until I'm satisfied with the results (shipping). The best thing
isn't the food, but that you shipped something in a few days ;)

~~~
potatolicious
And the best part (just like programming) is that with experience comes the
ability to alter the recipes/variables and reliably predict the results,
instead of stabbing randomly in the dark.

------
alexitosrv
_> 2\. What is the worst part of being a computer programmer?

> For me the worst thing about programming is dealing with external
> constraints... Often things you're told to do, and the programs your program
> has to cooperate with, are confusing or stupid.

> 10\. What is the future direction of computer programming?

> ... programming seems to be changing to one in which you plug together
> programs written by other people..._

So, according to that and in agreement with my own experience, everyday
programming has more of its worst part...

------
MikeCapone
I'm curious to know how that 7th grader heard about PG. It doesn't really
matter for the Q&A, but I'm still curious.

I'm guessing that either a Google search with "computer programming"-type
keywords return's PG's page, or that it is via a real-life relationship...

~~~
dunstad
I found PG by looking up the Wikipedia article on "Nerd" and going down to the
external links, where his "Why Nerds Are Unpopular" article is.

~~~
marvin
I found PG by googling "why" a day when my life was particularly miserable,
and came across the same essay. It was number 2 in the search results.

------
mverwijs
Not to be nitpicking either, but this is not an answer to the question:

> What improvement does computer programming give for human life?

Computers are so widespread now that there is practically no aspect of life
that isn't affected by programming.

(Kid specifically asks for 'improvements', not 'affected'.)

------
duairc
I'm not familiar with (presumably) the American education system. How old is a
seventh grader?

~~~
ecuzzillo
Usually 12 or 13.

------
tmsh
Not to nitpick (I love the answers), but is this true?

> ...and we have drugs today that we couldn't have had in 1950 because
> programs were needed to discover them.

Probably just my ignorance. But do people in biotech think that software
itself is helping them discover drugs? Googling for 'biotech' and 'programmer'
doesn't seem to answer the question immediately. Just curious. I imagine we're
nearly there, if not there completely. And that the molecules involved are
fairly complex -- but I didn't know that we were that dependent on computers
for biomedicine. Any examples? There was a recent article about mapping the
human genome being less than a panacea. Maybe there are some good examples
though....

(Fwiw, the reason I nitpick is that it might be the wrong way to look at it.
Software helps researchers discover and produce new drugs. But it's important
to distinguish that from software actually discovering new drugs. Seems like a
small point -- but it's actually a very different emphasis. One can, for
example, lead to an AI winter, if the focus is on producing this amazing self-
sufficient software, instead of thinking about it as a tool. But maybe we're
already there with biotech, I just don't know...)

~~~
jdale27
<http://en.wikipedia.org/wiki/Virtual_screening>

~~~
tmsh
Very nice, thanks. Here's a somewhat related article too:

[http://www.voiceofsandiego.org/science/article_4b79fc5d-4d5e...](http://www.voiceofsandiego.org/science/article_4b79fc5d-4d5e-5395-a771-1ed6fed3952a.html)

On the other hand, it sounds like VS isn't exactly at 100% production yet:

[http://wavefunction.fieldofscience.com/2010/04/will-
virtual-...](http://wavefunction.fieldofscience.com/2010/04/will-virtual-
screening-ever-work.html)

But getting there. Based on your HN profile, I defer to you obviously. Curious
subject. E.g., based on the wikipedia article, I had no idea the range that
Berkeley DB was being used for...

------
moolave
Awesome points. I agree with giving the programmer all the uninterrupted time
to hack. As a matter of fact, allowing someone dedicated to his or her project
to work without unnecessary intervention applies across the industry board.
When you're in the zone, there's definitely no stopping you - and best to keep
doing what you're doing while the creative juices are endlessly flowing.

------
edw519
I love posts like this! Great answers, pg. Here are mine:

 _1\. What are some qualifications of a computer programmer?_

The two most important qualifications are a love of details and a simultaneous
appreciation of the bigger picture. You have to understand the landscape that
your software will fit into. Then you have to be willing and able to dig down
deep and be comfortable building stuff at the lowest level of detail. This
takes a great deal of logical thinking, attention to detail, and personal
focus.

 _2\. What is the best part of being a computer programmer? The worst? The
most challenging?_

The best part is getting something working for the first time where nothing
was there before. For me, this is so exciting that I still I do a "happy
dance" every time. The worst part is the long hours alone. There's really no
way around it; good software takes time and almost everything is done by
someone alone at a terminal. The most challenging is finding a project big
enough to not be boring but small enough that's it's too difficult to make
good progress.

 _3\. What’s the salary range in this career?_

As an employee, $35,000 to $200,000. As a company owner, $0 to billions.
Either way, the range is very wide and depends on many factors, some outside
of your control. Like any other profession, you should be a programmer because
you love to program, not because of how much money you'll make.

 _4\. What is a typical day in the life of a computer programmer?_

I bet there are as many typical days as there are programmers, so I just share
mine. My day starts at my terminal, making changes to my current program based
the mark-ups I did to my hard copy in bed the night before. I spend most of
the day at the terminal writing code, changing it, trying it out, and taking
occasional notes. I avoid interruptions as much as I can. I have a regular
lunch and dinner and some social life, but not too much. Every day ends the
same, in bed with whatever I worked on that day, reviewing and marking up.
Incredible attention to detail is required and this is how I do it.

 _5\. What is some advice you would give to young computer programmers?_

Just build something. Nothing can be more important. Whenever you need to
learn something, find a way to learn it, whether it's a class, friends, or
more likely, a book or website. It you want to be a programmer badly enough,
you'll find this approach natural. If you don't, you won't.

 _6\. Is it easy to find a job as a computer programmer?_

If you're good (and can prove it), yes. It not, not so much.

 _7\. What was your most exciting project?_

A computer program that wrote other computer programs.

 _8\. What skills do you think young programmers need for the job?_

The ability to think clearly and logically, good written and verbal
communication skills, the discipline to keep working when they'd rather be
with other people, and the determination to see something through to
completion.

 _9\. What improvement does computer programming give for human life?_

Computer programming makes software that frees people up to think about and do
things that weren't possible just a few years ago. The possibilites for those
people are endless.

 _10\. What is the future direction of computer programming?_

This is always hard to predict, but I'd guess the direction will head away
from writing all of your own software toward connecting a lot of already
written software to accomplish the same thing.

 _11\. Would life be a lot worse without computer programming? How much? Why?_

Just compare life in a country with advanced technology to one without.
Computer programming doesn't have everything to do with the difference, but it
does have a lot to do with it. Much of today's advanced lifestyle has resulted
from modern technology. Much modern technology came from software. All
software came from computer programming.

[EDIT: Changed "Most software" to "All software" in #11. Thanks
sundarurfriend. Duh.]

~~~
luckystrike

      A computer program that wrote other computer programs.
    

Sounds interesting. Can you share more details about it (if possible)?

~~~
ygd
It's called metaprogramming.

~~~
luckystrike
Err ... Okay. If he meant that, I read too much in to it and was thinking
something at a completely different level.

------
tzury
> 6\. Is it easy to find a job as a computer programmer?

> If you're good it's always easy to find programming jobs. Even when the
> economy is bad there is a shortage of good programmers.

I would add, well, in case you find it hard to find a decent job, you can
always start your own startup, (if you will apply to YCombinator, you are
going to find it even more fun).

------
ck2
Good answers and I applaud the effort given, but the questions feel like they
were copied out of a textbook or teachers example and the word "programmer"
inserted.

I think I would have tried to relate to kids today by explaining that someone
has to write the complex video games they play and the browser they use to
waste time on all their internet sites.

------
Tim_M
What's the date on this essay? Most of the other essays say the month/year at
the top.

------
benatkin
I misread that as "An interview with a 7-year-old" the first time around. (Or
to be more precise, I read it as interview, 7, Paul Graham and filled in the
blanks incorrectly.)

I like the questions and answers, though! Especially this sentence:

> The best programmers are the ones who are not only good at translating ideas
> into code, but who have the best ideas.

It was especially good timing, too, because I've been spending a lot of time
learning about how to judge the quality of ideas lately, and what effect the
quality of an idea has on a programmer's motivation.

------
norswap
<<So it is becoming more important to know what other programs you can use as
building blocks and how to stick them together, and less important to know how
to build basic "plumbing" yourself.>>

The sad truth :'(

------
Jun8
Reading the title, I thought I would find a totally different interview, kind
of disappointing. Why does a 7th grader care about salary range (unless he
wants to start _really_ early). It seems he/she just used some questions from
another interview.

