

Ask HN: Does anyone have some good Career/Life Advice for an 18 year old - DoritosMan

I&#x27;m still in High School with about 1 semester left. Once I finish up High School I will be going to a Community College for 2 years then transferring to a University. (Just trying to stay out of debt and save money) I already have about 15 credit hours from doing dual credit English&#x2F;US Hist&#x2F;Govt during school and the summer. I plan on majoring in CS. I&#x27;ve been dabbling in programming for I don&#x27;t know how many years and in High School I&#x27;ve taken a Visual Basic .NET class and AP Computer Science (Java), both of which have come very easy to me. I have a part time job as VB Developer doing reports&#x2F;SQL Queries mostly. I don&#x27;t mind it but it&#x27;s not the most enjoyable thing.<p>So does anyone have advice on what I could do to improve myself for future jobs and life in general? Am I on the right path?
======
bonemachine
In general:

One of the best things you can do for yourself, at this juncture, is to just
ignore what everyone says about your "potential" based on your grades, test
scores, the schools you went to (or the schools that rejected you), your work
history etc up until this point.

You have, at this stage in the game, so much _plasticity_ available to you,
and (despite all those shitty part time jobs, etc) so much _time_. Moreover:
what people tend to forget about talent and how it _really_ develops is that
not only does it faithfully reward hard work (and focus), but it rewards it
_exponentially_.

So anything you invest your time into now... be it advanced math classes, that
hairy functional programming book that might seem hopelessly daunting and
abstruse to you now... as well as non-technical endeavors like learning about
how music is made, or about foreign languages, literature, psychoanalysis, etc
-- might not seem to pan out, in terms of tangible benefits, for another 5-10
years. But taken together, these investments will find a way of leveraging
each other synergistically, enhancing not only your potential to get a better
job, but more fundamentally, your ability to improve _yourself_ \-- and over
time, quite dramatically.

That, and: "it's better to regret something you have done, than to regret
something you haven't done."

Specifically: the next time a fork in the road comes along, requiring you to
make a decision about some major commitment of time and/or focus -- be it grad
school, or a close relationship say -- and you're feeling pulled both ways
about it: try defaulting to the "heavier" option (requiring greater
time/energy investment) than the "lighter" one.

Point being, of course you can fail, and see energies misdirected, no matter
what you do. But generally speaking you'll tend to at least learn more, and
_grow more_ , the more you are willing to make heavier, riskier investments of
your resources. And you'll find yourself feeling far less ennui and regret
when you think back about how things crashed and burned despite everything you
tried and did... than in moments when you opted to simply duck for cover, and
let the moment pass.

------
auslegung
The advice I give to everyone is to be well-versed in programming, and to
avoid debt. Congratulations, looks like you are already on that path! I'd also
recommend a trade that is relatively easy to get into, such as HVAC, and/or
learning a second language that will likely be very valuable if you want to
travel as a programmer, or to use for a career in translation.

The value of a trade is that it gives you an alternative if sitting at a
cubicle for 2000+ hours a year drives you crazy. Plus, it's always good to be
helpful. You may want to look into becoming decent at auto repair or
carpentry. Those are things that typically have a much higher barrier of
entry, and a lower salary than HVAC, but they're both always a helpful skill.

The value of a second language is it opens up travel opportunities, and if you
choose an economically important language (Chinese, German, British "English"
[I have no idea what they're saying...]) or a politically important languge
(Middle Eastern languages), the pay can be quite high for translation.

Many here might think HVAC is a terrible idea, and they may be right, but I'd
still recommend finding a trade and making it a hobby, like I mentioned with
auto repair or carpentry. Learning a musical instrument is also a great way to
improve your life in general. But for the most part, sounds like you have a
good head on your shoulders, and you'll do well at whatever you choose, so
long as you stick to it.

~~~
DoritosMan
The funny thing is that I do have some experience with auto repair, HVAC, and
carpentry. My Dad is a general contractor and every summer I would usually go
help him with jobs. I've helped build a house, work on a custom deck for a
pool, and quite a few other things. We have worked on my truck and car
together. Being in Houston isn't the best for doing that stuff. Being in an
attic where it's 90+ out isn't very fun. Thanks for the advice though!

------
a3n
You're doing good. Keep on doing that.

Good to have a job related to what you're doing, always good to be able to
bring in money.

Good decision on CC to Uni. When you're in University you could look in to
interning somewhere during the summer, and/or just getting a somewhat better
part time job.

A good long term goal is to become independently wealthy, or a reasonable
approximation, by sometime in your thirties. Even if you don't become
_independent_ , or it takes longer than your thirties, you'll be far better
off from the attempt than otherwise.

So learn what that would take, and start executing on that as the backdrop to
whatever you're doing in the foreground from year to year. It's not just
maxing your salary, it's smart and minimal spending, saving, investing and
opportunities. Pay attention to your finances.

------
mcintyre1994
I'm in my second year of a computer science degree, and the advice I would
give you is while programming is awesome and essential to succeed, there are
really wordy (and mathy) topics that might not come as easily to you - finding
the balance is the key.

Also you said that programming has come easily to you during school, and while
I don't know the US school system you seem to be doing great; my advice is
don't get complacent when you transition. It's way too easy to nail exams in
school and then figure you can keep up without trying in university; for me it
was a lot easier said than done. I don't know the community
college->university system so maybe it'll be different, but it's something to
keep in mind.

------
sharemywin
Don't ever get into business with someone that can't save money. Don't ever
spend more 20% of your savings on one project/investment. If you do take risks
do it when your young and don't have commitments. Stock as much as you can
into a 401k as soon as you can. Find a good mentor in your space.

------
RRWagner
I think it would be a good point of reference if commenters included their own
age at the end of their recommendation. People 5, 10, 25 or more years further
down the career/life path might have different advice with their own degrees
of experience and hindsight. (61). :)

------
ereckers
If at all possible look for a CC that's known to be a "feeder school" for a
reputable University. They usually have a pipeline into the schools and
experience helping get you there.

------
staunch
Steve Job's Stanford Commencement Speech
[http://www.youtube.com/watch?v=UF8uR6Z6KLc](http://www.youtube.com/watch?v=UF8uR6Z6KLc)

------
hakanderyal
On programming/CS stuff: Build something. Anything. Start small, and work your
way from there if you find it enjoyable.

~~~
DoritosMan
I enjoy doing it but my main issue is finding things to work on. I just can't
seem to get good ideas.

~~~
a3n
Automate something (my favorite advice), or analyze something. Find a task
that has a lot of manual steps (copy a file here, copy a string from there,
etc) and automate whatever you can.

Pick something apart and analyze it programatically. Email is great as there
are protocols and libraries to do this with. Find a/the IMAP library for your
language of choice, copy a bunch of messages to some place where you won't
harm the originals, and start picking apart the folders and messages. See what
you can know about what's in a folder and list it. See what you can know about
a message, and list that all out.

You could do the same with a bare html document, there are really good
libraries to pick apart an html doc. Beyond that, learn the DOM and pick it
apart from that angle.

------
shawnk
Ideas as a service, you're young an full of creativity "Express ya self".

------
6d0debc071
Hmm. Advice on jobs/life:

1) Start banking stuff you do.

Track your achievements, with numbers where possible, with _meaningful_
numbers ideally.

Your pitch to employers, if you don't end up working for yourself, is largely
going to be what jobs you've had and how well you've done them. No-one really
cares about you as a person when all they've seen is your CV, they want to
know what you can do for them.

Lots of people don't track their achievements, they don't say how much they've
optimised something, how many clients they dealt with, whether they got
promoted... That's your leverage before you get to sitting down with
employers, and it's your leverage when you're sitting down with employers.

Start doing this right now if you don't already do it - have a big file on
your computer where you list all the jobs you've done, all the people you've
done them with that you have contact details for, and all the achievements
you've done in them. Have a short paragraph - couple of lines - laying out
what the job was.

This is especially useful later on in life when you want to construct a CV and
are trying to cast your mind back, if you do a wide variety of roles. One of
the things I do in my spare time is work down a charity office and watching
people trying to recall what jobs they've had, when, what they did, what they
achieved... painful. Don't put yourself in that position.

Also track where you live, write it down, the exact dates. Even if you're
moving back and forth between university and home. It bears on some security
checks and it's nice to have the numbers available if you ever end up doing
that sort of thing.

2) Do lots of different things.

In all honesty you can't say where you're going to be in five or six years,
having an idea of it's nice but you shouldn't invest _everything_ in one
course of action, emotionally or in terms of resources. Do a wide variety of
things; different hobbies, maybe even a few different jobs. It will give you
insight into the sorts of problems that other people have and how they think
about solving them. This can be invaluable when you have to work in a team
even if you do end up doing programming. It also prevents failure in any one
area of your life being totally crushing.

As part of this - Work at least one job you hate. Nothing provided me more
motivation going through uni than knowing I was going back to the estate
working in door to door sales if I messed my chance up.

3) Be careful who you take advice from.

You are going to get given a lot of advice from people over your lifetime that
is not in your best interests. Some of that's ignorance, some of it's malice.
Before you take life/job advice from someone, look at their life/job and see
whether it resembles one you'd like to have. Then see whether their advice
matches what the people who have a life/job they don't want to have did.

An obvious example of this: Asking a professor about your likelihood of
getting a job is, generally, foolish. They don't work in that industry, they
don't know what its requirements are. Look at the job adverts that are put out
for that industry and ask the people actually in the industry. I've seen
people who've done very good research work find themselves utterly unable to
get a job outside of academia when they'd assumed they'd be fine. But the
requirements of the job had more to do with teamwork and experience in
languages/frameworks.

Shoulda looked around a bit in their advice.

4) Learn about business, take a course if you struggle with this.

There's a language to business, there's also a certain way of thinking. You
don't necessarily have to become an MBA or anything like that, but if you're
going to be talking to business people it helps to have a common vocabulary
and conceptual framework.

What's SMART management and why do people use it? Why might some people
preference continual visible production over actual results? What's an OODA
loop (business people actually call this something else) ? That sort of thing
can be very useful to know.

Also helps you know some of the unknowns - useful if you're going into a
startup or something like that and find yourself saying something like, 'We
don't need an MBA...'

5) Stay in contact with the people you get along with.

It's very easy to let relationships fall by the wayside. However, in some ways
who you meet at university is more important than what degree you come out
with. A couple of years post-university, unless you're working in a very …
technical ... area on which your degree directly bears, people are going to be
more interested in what jobs you've done than what your degree was. Mine's a
single line at the base of my CV at this point - doesn't even mention my
grade.

Some of the people you meet may give you references, others may help you find
a job, some might even hire you. A lot of jobs these days are being filled
through personal connections rather than through job applications.

Don't just make contact with them around Christmas and birthdays, some people
will find this offensive. Set up a little task to contact them at random
points throughout the year to keep up to date.

6) Learn Lisp, at least a little bit.

I don't know if you've picked up a language that supports functional
programming well yet. Doing this may change the way you look at programming.
There's also nothing really comparable to Lisp macros in any other language
that I know of.

If you find it difficult getting along with Lisp, try Haskell. The people who
designed it weren't stupid and it's also got good support for functional
programming.

