

Ask HN: How to start a career? - ruswick

I'm a high school student with moderate programming experience and with a small amount of both freelance and corporate work experience. I certainly intend to do this for a living, but I'm relatively unsure as to how I should progress. I've heard contradictory evaluations of the value of a CS degree, and I'm not sure where I ought to be focusing my efforts in order to obtain the greatest efficiency. Should I strive for breadth of programming knowledge, or focus on a single skill? Will paid work net me more experience than if I were to invest my time in open source contribution?<p>How did you start your career?
======
caw
I went to a 4 year university for a CS degree. The school is rated in the top
10 for CS undergrad degrees. I did a co-op (basically interning every other
semester with the same company) to get work experience.

I didn't have any open source contributions, nor did some of my friends. I
know some of my friends launched websites and start ups for experience, and
that worked for them to get jobs. I don't have enough anecdotal data to tell
you one way is better than the other, it's really your choice on how to get
recognized, and what to get recognized for.

HN more than most will probably tell you not to go to college. If you want to
join a big company, you'll need the college degree eventually. Depending on
the company, they'll let you in on the ground floor, and perhaps pay for it,
which a perk for you. Or you can work while you study to earn money to pay for
school so you don't graduate with heavy debt. In any case, I saw some great
advise here regarding colleges. "If you choose not to go to school, you still
have to put in the same amount of work." I think that very aptly sums it up.

Breadth or depth depends on whether your goals are to be a subject matter
expert, or more of a high level architect, dare I say manager. I work with
very intelligent people who get hard problems solved, but not all of them can
see the forest through the trees. I'm choosing the former, because I can apply
my pieces of knowledge to fit the puzzle pieces together to provide solutions.

------
jfaucett
As someone with no cs degree, I'd say get one. Having said that from a
"getting a job" standpoint it doesn't make much difference, and I've never had
any problems finding work as a software dev. Mainly the only things that count
are if you have experience and can program whatever it be java, c, etc plus
whatever frameworks or stacks the company is using. However, keep in mind that
if you want a job with a big coorporate company like Apple or Google, you're
definately gonna need a CS degree, either that or just be a genius and have
made something incredible like a new programming language that tons of people
start using. As far as where to go is concerned, nothings stopping you from
contributing to open source and doing freelance work, my advice would just be
find one project (seriously, one is more than enough) that you're interested
in and get involved.

