5 ms·
Ask HN: Advice for an 18-year old programmer who failed high school
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.
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).
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.
I've lurked this site for awhile, this is my first post. Any advice would be greatly appreciated.
- haloux 9y agoAs 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 9y agoThanks, most of the people who I've talked to have recommended the community college route.
- haloux 9y agoNo 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.
- hux_ 9y agoMore 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!
- DoreenMichele 9y agoMy 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.
- WheelsAtLarge 9y agoCommunity 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!
- montrose 9y agoIs 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.
- paulcole 9y agoEven 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.
- jklein11 9y agoI'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.
- throwaway413 9y agoI 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!
- AnimalMuppet 9y agoOthers 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.
- kevinherron 9y agoGo 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.
- agitator 9y agoYou 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 9y agoYou'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!
- atsushin 9y agoIts 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.
- mithryl 9y agoThanks, this is what I've been hearing from most people I've talked to.
- johnnycarcin 9y agoCouldn'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 :)
- locococo 9y agoYou 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.
- dandersh 9y ago1. 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."