
Ask HN: Advice for an 18-year old programmer who failed high school - mithryl
My introduction to programming was through a computer science course I took during sophomore year at my high school. Soon enough I was spending all my time, both in and out of school, programming. I’m sure some people here can relate.<p>Perhaps I liked it a little too much, or maybe high school just wasn’t right for me - probably both. I imprudently worked on anything that interested me. I learned about cellular automata and wrote a simulator to create and explore these things. I made a 2D game to play with friends over the school’s network. I became interested in genetic algorithms and started messing around with them (making brainfuck to do stupid things, evolving my own programming languages, even incorporating my knowledge of CA’s to produce some neat simulations). I wrote a barebones HTTP server. I spent a week making a working 8-bit computer in minecraft. Common lisp, why not? It’s fun. ASM, bash, whatever. I’ll learn a bit of everything. I eventually ended up as an unpaid intern at a local uni’s lab (thanks to my CS teacher).<p>I like to think that I’ve done some interesting things. I like to think that these two and a half years weren’t wasted, but I’m extremely troubled right now. I’ve been told that what I’ve done is mostly academically oriented, which is quite ironic considering I’ve ruined most of my chances of studying computer science at college any time soon. Perhaps I could get a job as I’ve gained a fair level of competency Java, but I would have been much better off with this as a goal from the start rather than stuffing my brain with a bunch of niche knowledge.<p>I&#x27;ve lurked this site for awhile, this is my first post. Any advice would be greatly appreciated.
======
throwaway413
I dropped out of HS to pursue full-time development as I was already coding
all day and failing classes by not doing any homework. Not the most
traditional route...

But it worked out. I am now lightyears ahead of my colleagues in my career,
with 5+ years experience over anyone else my age. I make mid-six figures doing
contract development work for startups - no college or HS degree. I tried
going back to community college to brush up on my theory, but didn't enjoy it
and ended up learning a lot more from interviewing at 5 or 6 big-name
companies and taking home the interview questions I didn't know and studying
them. There are skills and experience you pick up from independent hacking
that you just don't get from a traditional educational environment. Being
innovative and scrappy with your solutions is something that can provide
tremendous value in a very short period of time. Of all the engineers I've
met, the most innovative ones were always self-taught hackers working on many
things at once, with a passion and curiosity for learning new things.

The niche knowledge is what's going to get you a job. Development is just a
bunch of niche problems waiting to be solved. Different engineers understand
things in different ways and end up being better suited for different niches.
I never set out to be an "e-commerce guy", but here I am, because it's what I
realized I'm good at and what companies hire me for. Your niches are a
stepping stone to specialization. Pick one that interests you and start
marketing yourself in that niche.

School is great. If you're in the US, it's also expensive. School is not
necessary to be successful in the software world - especially the startup
world. Results are what matters. Results and hard work.

Good luck mate!

------
WheelsAtLarge
Community college is your way to success now. There you'll find the structure
to get the education you need. Self-teaching works but you have to laser focus
on a goal. Seems to me like you are just picking up what you think is cool and
dropping it as soon as you find something else that's "cool". That will get
you nowhere fast.

Your goal should be to go to a community college follow the curriculum for
whatever you want to major in and do your best. This will at least assure you
an education. In the meantime try to plan out the next 5 years of your life.
Write it down, research it and execute. Treated as if it's the most important
work ever for you, which it is.

All the billionaires that made it big without a college degree have "all"
continued to educate themselves by reading. Example, Bill Gates, reads books
constantly and finished his education by reading textbooks. He had a project,
microsoft, and that was his one and only focus plus he had the self-discipline
to focus and finish what he planned. Start by deciding who you admire and go
to the library and read his/her biography. They are great role models for
someone that doesn't have a structured path. Reading may be hard when you
start but do it slowly and soon it becomes second hand. Good Luck!

------
atsushin
Its certainly not late for you to get either your GED or simply go back to
high school, and either of those options are the safest options. The amount of
posts saying otherwise are somewhat disturbing. Its super great that you're
pursuing your passion in CS (I wish I discovered the subject back when I was
your age)!That said, getting that diploma or GED will save you a lot of hassle
with employers in the long run (unless you end up developing something that
can make an impact and would impress companies). Operate on a worst-case
scenario.

~~~
johnnycarcin
Couldn't agree more and this is coming from someone with a similar background
to the original poster.

If you plan on working for a company it is almost a requirement to have some
form of four year degree these days, so lacking your GED or high school
diploma will be a major blocker. There are always exceptions to the rule, but
the truth is that you are going to be working and grinding harder to prove
your value than any of the other candidates with a degree no matter what your
skill level is.

With that being said, I've been lucky enough to interview with many managers
who didn't care about a degree and who gave me wonderful opportunities. I
always have a nagging feeling though that my luck is eventually going to run
out and not having a degree is really going to hurt me, especially as I move
higher up the ladder.

I know many disagree with Malcom Gladwell, but he made a great point in his
book "Outliers" on how many of the successful people we see today who didn't
go to school or whatever benefited from other things around them. These are
situations that not everyone has, so to look at a Bill Gates or Mark
Zuckerberg and use them as a model of what can be done is somewhat risky. I'm
not trying to be a downer or anything as I'm all about the underdog winning,
but as I've become older I've realized that when you are the underdog the odds
are stacked against you. You'll end up working 100x harder just to get to the
same level as the others.

If you plan on working for yourself then disregard everything up above :)

------
agitator
You are only 18. You have two options, go finish school and get a degree so
you have proof of being able to finish things people ask you to do (thats what
employers want), or think of a real world project. One that solves a problem,
or is marketable, and complete that and use it as proof that you can execute a
project. Working on random personal projects is great, and it shows that you
are driven by your own interests, but will you be as driven working on someone
else's idea? There are some people out there that have a really hard time
taking direction, and it comes down to proving that you would fit in a work
environment.

My advice is to get a degree, there is much less risk involved, and you will
have a base to fall back on. If you don't, you always risk the personal
project not working out, and you will have a much more difficult time climbing
in the work force, unless you really get lucky with a personal project that
gets exposure and has an impact (seems like its happening to people left and
right, but don't let the interconnection of the internet fool you. Those are 1
out 100's of millions of people).

------
staunch
You're doing great!

Being a self-starter and educating yourself works just fine in the new world,
especially for programmers. School can be useful but is by no means required
for many people.

Now go read some job descriptions, build up your list of skills to include
most of the required ones, and start applying for real world jobs!

Or, if you like to invent new products, you could start a startup. YC
applications just opened!

------
hux_
More than your resume what a diploma or a certificate signals, consiously or
unconsciously to an Employer is Discipline.

The ability to get things done on time, on cost, on spec whether the work is
boring or not.

You might have "cool" stuff on your resume, but how do I tell if I give you a
task you can get it done in a disciplined manner. If you have faith in your
abilities, you need to prove to people that you are disciplined. Most people
don't get this.

So when you walk into your next interview, remember the onus is on you to
prove it and to convey to them that you want to prove it. Spend some time
thinking about the different ways you can do it.

As an 18 year old I couldn't afford college, but I walked into the office of
every CS prof in the neighborhood asking for work. Noone would give me a
programming job (even though I thought I had done 'cool' stuff), but one guy
hired me for the weekend to move lab equipment around. That turned into part
time grunt work which allowed me to hang around labs, and grad and PhD
students. Which turned into sysadmin work that none of them wanted to do.
Which turned into writing boring code for them. And after 6 months I was
indispensable to them and got a full time position. But those 6 months weren't
easy. I would have made more probably at the local McDonalds for far less
work! But I knew coding was what I wanted to do and hanging out with all these
cool people reinforced it. I would have hung around there for free if they let
me. Much later on when talking to the prof about why he kept me around he said
one word - discipline. When he gave me a job however dumb it might have been
it got done.

So remember the onus is on you, to prove to them what you know about yourself
- that you have what it takes. Good luck!

------
montrose
Is your goal to go to college to study CS? Though admissions officers may care
whether you have a piece of paper saying you graduated from HS, most
professors don't, and they have the ultimate power (at least in good
universities). So I recommend finding a professor who can help you. It's
fortunate that you have a connection to a university research lab. Professors
and grad students there may be able to give you advice about what to do.

Don't think of yourself as damaged goods because you're missing the bit of
paper. From the professors' point of view, students genuinely interested in
learning are the rarest and most desirable type. Most students go to college
because it's the route to a better paying job, or to party, or just because
it's the default plan. If you're genuinely interested in learning, many people
will want to help you.

------
haloux
As someone who was in a similar situation, my advice to you is simple: if you
plan on going to college, take some community college coursework and just
apply after a couple of years. No transfer track none of that bs. Take courses
_you_ find worthy. Think a prereq is just gonna get in your way? Write to the
chair, setup an interview and bring proof that it’s not gonna be a problem for
you. Community college prerequisite course waivers are, IMO, really simple to
get. Get outstanding marks in your coursework, hang around the community,
build a portfolio and apply to the school.

Else, dump all time and effort into passion projects, maintaining a day job
and networking the crap outta your local hacker scene. B-Sides, OWASP, etc.

~~~
mithryl
Thanks, most of the people who I've talked to have recommended the community
college route.

~~~
haloux
No problem. I sincerely hope you’re able to make your talent into a
profession.

Final words; don’t fall into the comfortable trap of believing that you can
make it all work as a one man island. You need community. You need similar
minded folks to work with you, around you and over you. Talent is worthless
unless someone can vouch for it. A lot of people will go to college and
graduate solely believing that their degree will get them the job they need. A
lot of those same people find out that it’s not necessarily the case. Network,
network, ...network.

------
dandersh
1\. You're young enough where any missteps aren't (yet) in a position to
possibly hold you back. 2\. You have acquired a useful and employable skill,
which is often not the case for those who graduate HS. 3\. This skill is
primarily self-motivated and results oriented, meaning that you're likely to
be able to get into a startup/smaller company demonstrating proficiency. 4\.
You're in a good spot, if not ahead of the game. If you can write code, you
can get paid writing code. Never forget that.

My advice is:

Get your diploma/GED. This prevents further education(college, etc.) from
being closed off, as well as allows you to demonstrate that you are
disciplined: "Yea, I got really into programming, but I realized this
education was important and I completed it"

Start networking via meetups, hackathons, etc. It never hurts to know people
in the industry, and in your situation the advice and mentorship will be
invaluable.

Never stop learning and growing. This is especially important in your
situation because you're unencumbered by technical/business decisions made by
others. When employed your growth/learning often takes a backset to the
company/team, so take full advantage of your free time now. I used to think
time spent just playing around with frameworks/libraries and not even building
apps from it was wasted, but it was incredibly valuable for learning as I got
to dig in as far as I wanted, not just "add feature X and move on."

------
DoreenMichele
My advice: Look for roll models who dropped out of high school but are
successful. I could name some, but the last time I did that, it got downvoted,
which I don't get.

I know it looks bad now and I know dropping out genuinely creates barriers.
But I can also tell you that accepting that this is a rut you cannot get out
of will be self fulfilling prophecy and it doesn't have to end that way.
Finding roll models can not only provide hope, it can provide clues as to how
to proceed.

Best of luck.

------
jklein11
I'm not sure if you are in the US but if you are my understanding is that if
you are under 21 you can always go back to high school. I think the amount of
red tape you will avoid by going back and finishing will far outweigh the
costs. Having a High School diploma is tremendously more valuable then a GED.
I think 20 years from now you will be glad that you did it.

------
kevinherron
Go back and finish high school or get your GED.

After that, go to community college for a couple years and then transfer to a
university.

It's not even remotely too late for you. You have so much more time than you
can even comprehend at your age.

------
locococo
You have a gift, value this gift by continuing your education. Get a degree
and many more doors will open for you.

Don’t treat your life or your career like it’s a race. It’s a marathon, and
most of it is still ahead of you.

------
paulcole
Even if you are 100% self-employed, your professional life is going to be
about adapting yourself to other people's systems. Whether it's through a GED
and then community college or whatever, now is the time to develop that skill.

If you write it off as, "maybe high school just wasn’t right for me" you're
going to find yourself 10 years from now saying, "that job just wasn't right
for me... along with the 5 others before it."

Start learning how to fit in inside a system you don't enjoy. It's as
important a skill as actually being good at your job.

------
AnimalMuppet
Others have talked about the discipline to do things, even things you don't
like or want to do. And they're right.

Here's the other side, though: The single thing from high school that had the
most impact on my life was none of the classes. It was the hour that, instead
of paying attention in calculus class, I instead read the TRS-80 Basic manual.

You've learned that you can do this stuff. You aren't scared of anything, from
assembly to Lisp. You've learned that you _belong_ in this world. That's huge.

