Hacker News new | comments | show | ask | jobs | submit login
Ask HN: I dropped out of school at 17. Freelance is my only hope. Advice?
52 points by 30thousandfeet on Jan 13, 2014 | hide | past | web | favorite | 65 comments
So I dropped out of school recently for various personal reasons. I just couldn't cope. I can't get a job, obviously. So I figure freelancing is my only shot.

I've been programming since I was like 12. I'm primarily a web developer. I know Ruby, JavaScript (Node & client), and the obvious CSS, HTML, et al.

How do I actually get clients? I have no portfolio or any real open source contributions. My GitHub profile is pretty empty. And I doubt anyone would hire me due to my age.

Good news: portfolio and real open source contributions are not the primary channels for selling freelancing gigs. The primary way is finding a business owner and convincing them that you can build them something which will make them money. Having something you have made which you can demonstrate is of benefit (and as sibling comments have mentioned, you should probably get something which you've made into a showable state ASAP), but mostly, it's about being able to sell yourself convincingly to people who, primarily, could not tell you that Baker's Yeast is not a well-known Javascript framework for building web pages out of REST-over-XML transport engines.

Also, don't sell yourself short with regards to getting jobs. While you likely can't get hired at a Bank of America or what have you, if you approach a local e.g. Rails consultancy, not having an Education section on your resume will probably not be a total disqualifier. Many people don't. You will probably be able to pass a FizzBuzz test, which actually makes you substantially better than many people with Bachelors of Science in CS in the hiring pool. I think a standard W-2 job -- heck, pitch them on an internship and just upgrade after showing you can do the work -- is likely a better fit given that you do not have the connections/experience likely to fill a freelancing pipeline at the moment. You can always revisit that decision when you're 20, at which point your high school career will never come up at a job interview that you'd actually want to pass.

I have been part of the interviewing process at our company for a few years now and it still blows me away how the majority(!) of applicants just flunk a simple FizzBuzz type test. Why in the world are they applying to a programming job if they can't program?

Being able to program (and being able to show that you can) actually does put you ahead of most applicants to your average programming job. It shouldn't, but it does.

It's a combination between the Spolskyesque "The hiring pool will always be sucky because it is, definitionally, always going to be heavily weighted with people who have not yet succeeded in getting a job" explanation and "At many firms, actually being able to program your way out of a paper bag is not a prerequisite for being hired as a programmer."

At my old day job, probably half of our system engineers could not program. They generally spent their time producing documentation, gathering requirements, writing emails about requirements that needed more documentation, and occasionally breaking out Eclipse to spend 6 hours trying to add an if statement to one web page by patterning it off of parallel structure in the file they could copy/paste and then random walking through the space of all possible tokens until they found one where the output matched expectations.

This is a classic example of where people think that freelancing is a good idea when in reality it's a horrible idea.

I can't get a job is not a reason to start freelancing.

The mindset which leads you to freelancing needs to look something like "I love helping people and I believe I have serious value to bring to the table." You see, one viewpoint is self centered, negative, desperate and looking for a way out. The other viewpoint is to focus on the potential client and how you can help that person achieve his or her goals.

If you couldn't cope with high school because of personal reasons, then what makes you think you can cope with freelancing? Did these problems go away or are they still present? If they are still present, then they will cause greater problems with freelancing than they did with high school.

Let me tell you a little secret about freelancing.

Your technical skills mean dick.

There is a long list of critical skills and attributes which you need to be strong in before you get to anything which resembles writing code. Freelancing is about people, not computers. You will find that the most successful freelancers aren't necessarily the strongest developers.

On the other hand, to get what you want out of life, you have to hustle. People will tell you what you can and can't do. A hustler will get it done out of sheer will.

Ideally you would be able to get a job doing web development so that you can see how a successful shop is run. If you can't get a job in your local area, then ideally you would be able to move to an area with a lot of tech jobs. You could work remotely, but working remotely is hard, just like freelancing. Again, your personal issues might be a problem.

Once you have some experience under your belt, then you will have a better idea if freelancing is for you. Hopefully you find a better track.

The effort you would need to put into snagging freelance client work is the same effort you would need to put into getting a job. Build your portfolio, put some stuff up in Github and ship your side project. Find places where other developers hang out and contribute something. That could be code, help or just about anything which gets your name out there. As people get to know who you are, then they may reach out to you for paid help. It's possible that you still start out as a freelancer by going this route, but deal with enough people and you will eventually get job offers. Of course, as you build yourself up, you can apply for jobs along the way.

This is just one route. But starting out, it's the route I would go.

To add to your "mindset for freelancing" and to address the OP's question of "how do I get clients," I think one of the big assets for a freelancer is insider knowledge of how businesses work, and how business processes work.

You don't have to actually be an insider to get this knowledge, but you're going to have a hard time solving business problems if you a) don't know what they are, b) don't know the current state of solutions, and c) have practical ideas on how you can fix this using magic computer sauce.

For this reason, I'd +1 the suggestion to look for a job as a webdev. Could be great work experience, but more importantly, good experience interacting with businesses in a B2B setting, seeing how they tick, and learning about the overall process of selling to a business.

This is an well-written, wise and considered response. Well done, sir.


Damn, if I had your email, I'd send you a personal letter of appreciation. This is just that good.

First: if you have been programming since 12 you are probably above average in intelligence. If you are in the USA you should be able to go take a GED exam so that you have the equivalent of your high school degree.

You seem well aware that you have a credibility problem. If you really have the skills that you say, it shouldn't be very difficult to whip up a website for your portfolio. The point of this site is to demonstrate to prospective clients that you can envision and create a complete site, that shows common elements of business websites, images, maps, sensible site organization and navigation, user registration, access control, cookies, forms, data capture etc. At this point you are trying to create something that impresses the average small business owner not readers of HN.

Creating a portfolio site will help overcome the credibility problem but it is only a first step to finding clients. I suspect that you will initially need to find an established small company that builds sites for other local small businesses and try to become a sub-contractor to them. Freelancing to the end client at your age and lack of experience will be very hard.

Here is the other thing: if your portfolio site is outstanding and shows lots of polish and skill then there are start-ups that might take a chance on hiring you.

You're smart. Get your GED.

Get a Junior level position. People have been telling you your whole life that you can't get anywhere without a college education, which is horse shit.

You're in one of the few industries where the professional work you've done and the skills you have determine if you can get a job, not what college you went to.

If a company snubs you because you dropped out, you probably don't want to work for them anyway.

Source: I dropped out of HS, got my GED, dropped out of college, twice. Fell back on my Computer skills, now a dev at a startup making more money than all my friends who went to college.

If a company snubs you because you dropped out, you probably don't want to work for them anyway.

Depends on why he dropped out. Could he not get a long with his peers and refused to do what was asked? Not someone I would want to work with.

Remember, work is called work for a reason. A lot of my job is fun, but work (and often grunt work) is what carries side projects from toys to releasable software.

This is exactly the advice I'd give. Get your GED, but you don't need a college degree to be successful. Find a junior-level (ie, "shit work that nobody else wants to do") job on the strength of your experience, not your educational credentials. It won't be amazing money, but it will be great experience, which is the currency most companies actually care about. From there, you'll build experience that you can spin into a career.

Don't stop self-educating. Research and consume good career-related literature. Push yourself to learn new things (something I learned from a former boss - I learn a new programming language every year. It keeps me exposed to new ideas constantly), and don't stagnate. Work on open source - a good Github profile is the strongest indicator of a good candidate from my perspective.

I am from the UK, not the US, but I finished school at the age of 16, and didn't do any further education. No college, no university. I have been programming since I was ten. I didn't learn it from an educational regime. I don't have any fancy letters after my name. And I work for a well known company in the UK.

Was it because of qualifications? Nope. Was it because of my education? Yes.

So how did I get educated without going to school? Well, silly, I did what you -- and most of the other devs here did -- I just wrote code, read blog posts, read books, watched videos, and wrote more code.

You do not need to go to some rooty tooty university to be a developer. You just need to be useful, and good.

> I have no portfolio

Then get one.

> or any real open source contributions

Then make some.

> My GitHub profile is pretty empty.

Then fill it.

> And I doubt anyone would hire me due to my age.

Nonsense. If you're 17, your brain is ready for learning. Get an internship, or a junior position, and in five years time you'll be a valued employee with lots of experience.

Good luck, 30thousandfeet.

Some community colleges allow you to take placement tests (which you would likely breeze through) in lieu of a GED or high school diploma. Even if you only end up taking a few classes, you'll still have better luck in the job market as a college dropout than as a high school dropout. Better yet, you may actually enjoy college. No one will care that you dropped out of high school if you have a 4-year degree.

If you decide not to continue with your education, your best bet is to pick up whatever work you can to build a portfolio. Once you have a portfolio, you'll be better off trying to get an actual job, as freelancing (at least at the bottom end) is generally miserable.

I've been programming since I was 12, professionally since I was 17. I'm 43 now. I also dropped out of high school.

What I can tell you is this: if you decide not to go to school, be prepared to work hard. Harder than anyone else. Harder than the day you worked yesterday. Without this form of ethos, you simply will not make it in the world.

If you do stay in school: work hard. Always try to work harder than the day yesterday. If you don't, no problems - you have a chance - but by the time you finish school, you better be prepared to work hard. If, by the time you finish school, all you've done is party and relax and 'enjoyed yourself' - you did worse than if you'd dropped out and entered the work force in the first place.

Life is hard work, is all I'm saying. If you can find someone willing to pay you to work hard - then you've already made more progress than most of people who choose to study so long in their lives.

I want to second this as a now 32 year old who dropped out of school aged 16 (to work in the fledgling Web design scene, not because I wasn't doing well at school).

Freelancing was easy at first but then the dot com boom hit and things were tough for a few years, but luckily I was living with my parents. Eventually I got heavily into Rails in 2004/2005, built some apps, sold some apps, and eventually did very well for myself, but as fit2rule says, it all comes from working really hard and generally I missed out on 90% of the life that people in their early 20s tend to live (not a huge deal to me as I'm not the partying type anyway).

Things are pretty good now and I've just started to do a degree which I'm finding to be quite enjoyable with the various experiences I have behind me, so.. it can definitely be done, but it's not going to be a walk in the park.

> generally I missed out on 90% of the life that people in > their early 20s tend to live (not a huge deal to me as I'm > not the partying type anyway)

OP - before you decide to take this route, make damn sure that you want to. Fun > work

Or more accurately, define fun.

Locally it was defined as drunk driving, 18 years of child support payments, hangovers, restraining orders, addiction/detox, and one acquaintance who went to prison for weed distribution. I didn't participate in what they called "fun" and I don't regret it at all.

More accurately, one should determine what one finds exciting. That is to say, is fun > work for them or not? (Because I certainly prefer screwing around with code or my Web projects than going out drinking or whatever :-) Though now married with kids, this is a good thing ;-))

Fun > Work? Depends if you want to live. I like to live, and have fun when I'm not working, in style.

Work makes that way fun. Way, way fun. If all you see in this big mess of life is work, or fun, there is yet more to come ..

I was working as a freelance web dev at 17. I just approached local businesses to see if they needed simple, static websites made, or if they had existing websites I'd show them how they could be improved and how their presence on the web is important (even more so now than it was then!). You'd be surprised how receptive a lot of them are - for many of the businesses it seemed like 'build a new website' had been on their minds for a while but they hadn't got around to looking for someone to do it yet.

I'd imagine you live with your parents/relatives still?

If you have any semblance of stability in respect to your living arrangements, here's what to do:

1.) Based on your existing expertise, come up with three projects that you can create to showcase your abilities. Shoot for things that can be finished within a few days to a week.

2.) Do nothing but work on these projects until they're complete. This might be hard since you're younger, but if you want to make a living, you'll need a body of work. It's not impossible to start a freelance career at your age. It just takes a hell of a lot of determination and focus. Plan on your social life being flipped upside down.

3.) Write about your work. Make a fuss about your story. Write a blog about why you dropped out, what you're doing, and blog about every project. Not only will this draw attention to your situation, but it will also allow you to articulate thoughts on your process and show potential clients how you think.

4.) Repeat. Don't stop. Keep working.

5.) To find clients, you'll want to start getting your name out there. I've had a lot of success just from posting on the Hacker News "Seeking Freelancers" thread that comes out on the 1st of each month. Take advantage of things like these and email anyone and everyone you know who might be able to give you work.

Finally, don't mention your age. It's irrelevant. If you can complete the tasks that a client would ask you in a competent manner, they won't care.

"Write a blog about why you dropped out"

Does anyone else in the field identify themselves by high school related stuff? No, you say? Oh, then I'd do exactly the same. I know for certain that employers don't care that I got an A+ in HS physics, and I only got a C in gym because I lifted weights a lot so it was a pity C, and I suspect they're not going to care much about your experience either.

You want a job as a node.js dev or whatever, fine. Make certain that's the first google result on your name, not "so I dropped out because ..."

This isn't what you want to hear, but you need to hear it: in this day and age, if you can't cope with high school, then you will very likely never have a successful career. Bite the bullet and go back to school (or get a GED).

>I have no portfolio

To put it in psuedo-computer-ish terms, it is premature optimization to not be in school at your age. If you can work part time and get your GED or back into school via a community college or whatever, you should. You can build your GitHub, BitBucket, whatever portfolio in your spare time. School will open you up to new terms you simply haven't heard of, yet, because you haven't had as much time on this planet as others.


You've been programming for 5 years and have "no portfolio". What have you been doing in that time? Presumably you've been building something - unless it's completely NSFW then that's your "portfolio" until you get something better. It may not be as snazzy as the professionals, but it will demonstrate that you can actually carry a project to completion - and that's what the "can you build me a website for $200" clients will want to see.

I think lots of web development companies will hire you. Reasons? They can pay you much less than the normal graduate, but at your age $20/h is awesome and very cheap for the company --> win-win.

How to apply?

Find a web dev company in your city, write them an email with two things:

1. You find their company really interesting and the projects you're doing. 2. You've been programming since the age of 12 and you're super interested to learn more coding in a cool company.

Be enthusiastic, people like that. :)

> So I dropped out of school recently for various personal reasons. I just couldn't cope.

Hi, 30thousandfeet. Many years ago, I dropped out of high school at about your age. I remember the feeling; that sinking "well, I guess I did it; here I go" feeling.

I don't know what your school is/was like, I don't know your situation, and I don't know how long you've been away from it. But I know this: I have many regrets about dropping out.

Listen, you sound like a smart person. School was made for people like you. Find a way to go back and finish. Move in with relatives for a year if you have to. You don't get these high school years back, and they're more precious than you realize right now.

Edit: You said you have trouble coping. This is what psychologists are for. Talk to your school psychologist, or have your folks make an appointment with one or two in private practice. It's normal to see a psychologist for these sorts of things. A good one can help immensely.

And dropping out will most likely put you years behind your peers. Wait until you hear from friends about who is going to which college; meanwhile you're trying to get gigs to pay the bills. It will make you feel sick.

It is not too late. Even if you've been out for weeks --- you can make up the work. You can do it. People care. Teachers care. I care. Find a way ... make a way to go back. Talk to teachers, assistant principals, parents, relatives,... sort out your problems --- they're very likely solvable. Be at graduation. BE THERE. You will thank me later. Really.

Sup dawg

I'm 22 and was in a situation like yours for a loooong time. I am also a drop out.

1) yes people will hire you, get over it. post your resume on Dice if you don't believe me. you'll start getting calls at 9am the next morning

2) stuff is going to be some amount of shitty no matter where you go or what you do. you may call me crazy, but you'll probably end up looking back on now as the good times. so enjoy where you are now in addition to where you are going (see point #1).

3) nothing matters as long as you write code every day and keep your head up.

also, i saw someone in this thread say "your technical skills mean dick."

fuck that guy and fuck that thought

you have worked hard to learn and develop what you have in your head, and it is as valuable as you say it is. you have a long road ahead of you.

if you look on the web or talk to friends/family and find a contract (or even better, a job!) that's great. if you can't, it is equally valid to build something for yourself.

no matter what, you have plenty of time to figure it out.

I dropped out of school due to some legal reasons regarding computers and such. I recommend Pell grants and 2-3 years at a community college. Siphon every single general credit you can. Aim for an A in every class. Transfer to a university that will take 60~ hours from a community college. Siphon out every scholarship in the book for being a transfer student, community college student, GPA, you name it. If its out of district, apply for in-district housing after a year. Also, start internships in school. Final advice, once you get that job, if you can, put 9%-15% into your 401k!

You need a portfolio of at least 3 things that show different skills, which means you should have ~12-15 projects under your belt to highlight from, but more importantly: go back to school. Cope.

Dropping out or not finishing college may be acceptable in this industry, and there are many reasons why; Cost, pace of education vs self-teaching, etc. All that being said, the same does not apply to High School. I recommend at least getting your diploma or GED. It is unlikely that any tech company will overlook such an easily obtainable requirement. I don't think freelancing is a great solution either. If you want to become a good developer, at least work with a team for a few years that can teach you some things.

I don't think I've ever seen the subject of high school brought up in a hiring process at a tech company. I didn't even go to high school. Nobody cares. Diplomas are kindling.

Another route you may go is to get your GED and then look into something like https://www.gschool.it/. Not only will they teach you some much needed skills, but they will place you with a great job after the 6 month program is complete.

I've never been asked a single question on if or where I went to high school in my entire career.

A disturbingly large fraction of people who call themselves programmers can't fizzbuzz. Hmm I wonder if someone who didn't graduate HS could lie about that different topic and get away with it? I think so, as in a quarter century I've only been asked twice to produce documentation. Of course photoshop could take care of that too.

A place that's insane enough to ask for a HS diploma, is insane, so you'd be best off not working there anyway.

You're at a golden age. You're 17, in the incredibly unlikely even they ask if you graduated HS, duh, of course I haven't yet because I'm only 17. You'd have a much more interesting conversation at age 20. So fill that resume with experience to talk about, so no one gets the bright idea to reminisce about school "a long time ago".

There is no such thing as a moral or ethical vacuum. I'd rather you not lie, in general. Then again, you need to eat, and everyone would agree they'd much rather have you lie about some meaningless irrelevant piece of paper than mug someone for their wallet.

Note that bluffing can only get you so far, you need some "meat" to back it up. So if you only have 2nd grade arithmetic skills, that would be why you're screwed, not because you don't have a piece of paper. You seem fairly literate compared to a college grad so no problem there.

I dropped out in the 90's and never went to college. I applied for a linux admin job and got it. I was 18 and earning more than my father.

Interviewers have usually been impressed when I mention self-taught high school dropout. I've held positions at fortune 100 companies making 6 figure salaries until I dropped out of that too and started my company.

Credentials are a distraction. Follow your passion and build something you love.

I dropped out of school at 16, all I knew was I was HTML and CSS (and not very well). I managed to get a job with bad pay, crap atmosphere.

I'm now 22 and working for one of the top agencies in Scotland. All my friends are still in university or dead end jobs.

As long as you have passion for what you do, and keep learning new things - you'll progress faster than you believe.

This sounds a lot like a friend of mines story. At 15 his family life was spiraling out of control and he dropped out. Until he recently quit his job to do his own thing he was making just an obscene amount of money.

He started by taking the only programming job he could get as a 16 year old. As his skills progressed he changed jobs a bunch of times with each one becoming progressively less crappy.

He got there by working his butt off to learn everything he could about programming. On his own he learned everything you would expect from a CS program but was able to go into far more detail than a semester course. I've seen him talk circles around guys with formal CS training.

There is someone out there who will pay you to program. The pay will be peanuts and the work will be boring but once you have a job and some experience on your resume it will get easier.

Also go get your GED. With the GED you can say you graduated from High School and have the option of other formal education in the future.

Find a famous open-source project that interests you and that is open to contributions. There are webapps to help you do this.

Contribute to the project, starting with simple bug-fixes. They will be glad to have your help. You can then say, honestly, that you contributed code to that famous project, which puts you far beyond most candidates.

First, are you still 17? If so, then you will have an even harder time freelancing because your ability to enter into contracts is questionable. There is established law regarding underage employees but not so much regarding freelancers.

If you've been programming since 12 I imagine you do have a portfolio, it just might not be organized as such. So first thing to do is organize it this way. And if you don't have large enough projects to organize into a portfolio then you probably don't have the experience to freelance.

If school wasn't for you could you consider a GED? That would at least be something that could help you find some type of employment even if it isn't exactly what you are looking for. I don't know what your circumstances are but I'm sure people with a lot harder situation than you have gone that route.

Good luck either way.

I'm in a similar position.

I'm currently in a polytechnic high school (I don't have a high school degree). This is the third high school I'm in, because I always struggle with non-programming classes, in which I have absolutely no interest in and in programming classes I'm far ahead in terms of skill.

Everyone around me says I should get a degree, which I can absolutely understand, but I just want to get a job in software development, I just fear that I will later have a hard time without any degree.

I'm programming since I was 13 or 14 and since then I've invested most of my free time into open source projects (this is my Github profile: https://github.com/flagbug)

You'll need an avatar with a beard to look geeker & older. Seriously. http://www.wired.com/wiredenterprise/2014/01/odesk/

I started freelancing when I was around your age. I have written a fair bit on my HN account about freelancing/consulting but feel free to contact me.

The main thing I wish I knew at your age was the difference (and progression) between the stages of freelancing, contracting, consulting and beyond.

I've helped several of my friends start their own freelancing businesses who are full time now, I'll echo what's been said many times on HN:

It's not what your education makes of you, but what you make of your education.

With the below, you can embark on a path of adding value to the world with your skills in a disciplined way to find long term clients whom you can help grow, and you can grow yourself.

The below only has value if it's contemplated, practiced, and reflected upon regularly. You'll find other things to add to the list but I think the list below is my first principles list of being successful, freelancing or employed.

The below, also, is how I approach anyone, and it turns into leads and work on it's own.

By remaining genuinely curious, thoughtful, and interested in how people are solving their problems (including excel sheets, access databases, or doing it manually), customers are validating the need for software in their lives and you need only pay attention and support them along.

I'll share with you the business model I was given at 18:

Find 10 customers who are willing to pay you $1000 a month for basic app support or development. If they won't spend $500-1000 a month making their business better, they're not a customer, but someone who wants to hire a free student. I was able to start in this way in the late 90's to 2001, and had a foundation from which to explore, maybe do more work in one place than another. Today, everyone's online and expects for software to exist for them. The key here is many places that can't hire a full time developer or person can probably afford a part time one who creates value for them.

Things that I wish I understood deeply much sooner:

Solving B2B problems solves the cash flow issue: Businesses that make money every month have money to spend. Getting people to spend their own money can be quite different.

Discipline: This will decide how our lives will go. It is the single most important master skill. The more we work at developing and keeping discipline in more and more areas of your life, the more successful we are.

Self-educate: The fact that you can self-educate is the single biggest skill that is needed in terms of your technical ability. This means learning things that weren't in my core, but rather becoming an extremely strong problem solver, which made me attract lots of interesting (and paying) problems to solve for which there might not be a lot of solutions.

Nothing gets easier: You just get better, if you want to.

Self-directed: Contemplate this phrase -- you'll be self-directing and self-educating for a long time, and it's the best journey you can imagine to get to know yourself in the midst of any uncertainty.

Date before you get married: You'll be hired in the beginning by people who will be taking a chance on you or simply like you because you're young, ambitious and have a positive attitude. So, do fixed fee projects for $1-3000 that cover risk for both you and the end user, even if you have to break down a big project into small $1-3K phases. This is a huge trust building technique with customers.

Value: This is the word I had to learn when I was 18. If I couldn't generate more value than what I was paid, I wasn't rehired. Value is saving or making a customer time or money. So I learned to find and be good at what was valuable to a customer, that I could do. What you're selling is helping the customer add value to their company in a way they can measure and is meaningful to them, which you can do for them.

Networking: This word looks like it's foreign sometimes. My networking is simple, before receiving, there must be giving. Help, help, help, share, share, share. You're not just out for a quick hit contract, but any long term ones you can find that are meaningful for both parties.

Track Record: Your education, and experience are second to the track record of solving problems you can build up. I spent 10 years working in as many industries as I ended up in, sometimes at the same time because I liked the variety. I aimed to get 20 years of work experience in 10 years of living. Now, on the flip side, I have more experience than what I know what to do with and it helps me understand anything I face more and more, it's the best snowball effect.

Attitude: I know we like to do things that interest us. If you can find helping improve the quality of others lives greatly by using a tiny bit of your skill and writing the software they need, for example, never saying no, and saying "let me think about it", those 5 words have gotten me more work, introductions and opportunities than anything.

Problem based thinking: Never, ever think solution first. Learn the problem and know the data better than anyone else before writing a single line of code.

You're not alone: I went through starting a freelancing life largely alone and endured a good 5-7 years of doubters and supporters. It's good you're putting yourself out there, and that there's a place like HN to put yourself out there.

Don't let others self-doubt infiltrate your mindset. Creativity and innovation happen in a mindset of possibility, not shooting ourselves down or letting others.

What a lot of great advice!

Personally, I'm getting back into the field after a lengthy hiatus. Hopefully, a bit wiser after recovering from burnout in 2005 and subsequent entrepreneurial adventures in other fields.

One thing I've started doing is volunteering a few hours a week doing tech related work for causes I support. One benefit of which is getting my confidence back. My age, 47, combined with having a lengthy period of time off can inspire self-doubt at times.

Problem solving and people skills though are turning out to be key and evergreen assets to bring to the table. Thankfully, those are also continuing to improve with age.

Never give up. Ever.

You absolutely can get a job, kid. You've been programming since you were 12, you're primarily a web developer, and you know several languages? You absolutely can get a job.

Work on your your portfolio, your GitHub profile, and your open source contributions, and understand that finding a job is a job. You might want to send a lot of resum├ęs, but that's not where you begin. First, research companies. Find companies that were founded by college dropouts who did well.

I don't think freelancing is a bad thing, but if you believe it's your only option, I disagree.

Feelancing is your only hope?

Take a look at the fine print of IT/programming jobs ads:

Master Degree in Computer Science blah blah blah... or equivalent experience.

If you translate 'equivalent experience' into it's true meaning, it reads: you are able to do the work.

Companies know as much as anyone that it's a crap shoot whether an engineer with a degree will do any better than one without.

The owner of the near 30 person company I work at, a very capable and respected programmer himself, dropped out of high school, and does millions of dollars in business.

As far as your age? That makes no difference whatsoever these days.

I was just interviewed for a front end position with a guy who didn't even graduate high school. He was tattooed like a felon but works at one of the top startup in the 'area'. He's a really smart guy with a few really high rated github repos. He's probably pulling 120k which is worth 140k out here compared to SF. So, I would say that he is doing pretty damn good considering he doesn't have any 30k+ loans to pay back.

Dropout here also, why don't you send me an email and we can talk about what I've done in the past to build a portfolio and get some credibility.


If you dropped out of high school, what makes you think you can handle freelancing? Freelancing is, to the surprise of more than it should be, largely about dealing with people. Stupid people. People that don't understand how the Internet works and how much work goes into an easy-to-use website. You need to be able to communicate this to them and be able to walk them through that if you want their money.

I'm looking for an extra pair of hands for a month or two on some development projects - Ruby and Nodejs. Feel free to email me at nolite@rcpt.at

I've actually been looking for Node work - I'm also OP's age, and have been immersed in Node for about 8 months now.

Mind if I email you as well?

go for it!

Figure out how to hang out with the right crowd. If you're hanging around drinking beer and playing video games outside of the context of school, you're doing it wrong.

Get your GED, get an AA in something at a community college (they have open enrollment in most cases) and transfer to a decent school. You can (and should) get a job, but being the guy without a degree will always make it more difficult for you.

(Disclaimer: I am not a developer but I did drop out of university and ended up getting work doing web design and network/sys-admin work.)

Firstly, freelance is not your only shot. It's entirely possible that there is a company out there looking for a junior web developer, so don't discount that possibility.

Secondly, try to find some more experienced web developers to advise/mentor you. Where are you located? There may be an appropriate location (e.g. Hacker Dojo in Mountain View, the Noisebridge Hackspace in San Francisco) or a meetup (check meetup.com for Meetups aimed at Ruby, JS or web developers in your vicinity). Having someone who can advise you face-to-face will be better than relying purely on our advice here on HN, and there's the possibility that they'll be able to point you in the direction of potential clients/employers.

Thirdly, think about what sort of work you want, then create a showcase web site/app to demonstrate the fact that you have the skills necessary to do that work. Put all the source code on Git so people can review it if they want to, then approach potential employers and clients with the following approach:

Potential employers: "Hi, I'm a self-taught programmer. I'm looking for an opportunity to use my Ruby/JS/web skills. Here's an example of the sort of work I can do. Could I come in to meet with you to discuss whether there might be a position for me with your company?"

Potential clients: "Hi, I'm a freelance website designers. I think I could design a great website for your business. Here's an example of the kind of work I can do. Could we arrange a meeting to discuss?"

Fourthly, expand your skillset by learning how to do more stuff that will improve your chances of getting hired. For example, if you don't know anything about databases, then learn how to set up MySQL and use it to store data as part of a webapp.

Finally, don't worry. All web developers were self-taught until comparatively recently. There's plenty of scope for a young, enthusiastic, self-taught developer to build a career without having finished school!

Feel free to contact me directly (e.g. via http://jackgavigan.com/contact/) if you'd like to discuss your situation in more details without posting personal information publicly.

I would recommend either focusing on back-end dev with Ruby or learning iOS or Android development. Those skills are in high demand now and if you're effective, diligent, and have a high standard for build quality, you should have little trouble getting a job that will before long pay well.

I started out in the web development game with no qualifications and no previous experience. I like to think that I've made a pretty decent job of it. If you want to chat some more then please feel free to email me on gkwelding@gmail.com.

Drop me an email on andy.warburton@booking.com we're hiring talented web developers and we don't discriminate on age. I'll take a look at your CV and have a chat with our hiring team to see if we can find something for you.

Go to your local library or BN and learn everything you can about sales/marketing. Work for free. Under promise over deliver. Build up your portfolio. Ask for referrals.

Your skills mean nothing if you can't sell your skills.

I am in between high school and college right now on a bit of an unplanned gap year. Coming out of school, I figured it would be easy to get a job in technology, programming, welding, machining, glassblowing, or some other hobby of mine. It wasn't.

I turned in applications to many different businesses, telling each one that I would "add value" to their company. I was laughed out of a computer repair shop, told that in my rural area, it is impossible to find tech jobs.

The first place that called me back was McDonald's. I told them that I would take the job, but then Taco Bell also responded. Taco Bell was closer to my house, so I called McDonald's and told them sorry, but I had a better offer.

I worked two shifts at Taco Bell, proud in my uniform, making tacos and burritos as fast as I could, before a local hardware store invited me in for an interview. After passing a drug test, I was working in retail. Hardware, building real things and the like is a passion of mine. I started at $8.50/hr, better than minimum wage. The hours piled up fast, and before I knew what was going on, my bank account had 4 digit numbers on the statements.

My mom also helped me get another job at the restaurant where she works. I washed dishes. Me, with a 4.9 GPA, selected as "Super Student of the County" or some award I can't even remember, was elbows deep in dirty water for 8 hours a night after a 6 hour shift selling nuts, bolts, and brooms. It was hard work, I could barely stand after unloading the dishwasher for the last time, mopping the floors, taking out the trash, polishing the glasses and silverware, locking up, and driving home.

This may sound like it's beneath you because "you can code". So can I. But working for minimum wage at one job and barely above at the other, I made about $100/day, not counting tips from the restaurant (which have since payed for a new laptop) and before taxes.

I met some great people at the hardware store, and although I had to give it up when I took a few math and language classes at the local college, I loved it. I still work at the restaurant and I am typing this after a shift. My arms smell like funky dishwater and my feet still hurt. But I worked six hours today for $48, and probably $40 in tips. I don't know about you, but $14/hr is good pay for unskilled labor, even though I can hack or code. I could give freelancing a try, but I am pretty sure it would end in the failure this echo chamber loves so much. Instead, every other Saturday I take home a paycheck and deposit it on Sunday. If I decide to pick up my floor where I throw my tips at the end of the night, I am rewarded with a few hundred dollars. This will easily pay for gas and other expenses. A large portion goes to savings for my next 4 year which will be largely income-free. The leftovers go wherever I want. I decided to learn electronics, so I bought an arduino and some components for about $100. 6 months ago I couldn't have imagined going to Radio Shack and laying 5 Jackson's on the counter to walk out with something that fits in the palm of my hand and will let out the "magic smoke" if I mix up GND and RAW.

The majority of comments have told you to build your portfolio and find pain points of businesses around you. Instead, I urge you to find a job, be it at a McDonald's or a 5-star cafe. Perhaps at a Walmart. You are young and you don't need to work for a living wage.

I used to think that the only thing I would have to do with my hands after school was type. Now, I scrub dishes. But I also have 35 hours a week where I am forced to be away from HN, Facebook, and Reddit. I get to shoot the shit with my coworkers or daydream about how we are all machines behind an elastic load balancer and if anyone of us were to cut our hand off, the kitchen would experience a cascading failure and it would be a very long night.

My job provides structure to my life, something I am terrified I will lose next year when I go across the country to be a freshman again. It also has a guaranteed income of $8/hr. Tips are good. The meal at the end of each night is great.

Instead of spending hours hounding LinkedIn, Fiverr, or ODesk, I drive 12 miles and put on nonslip shoes. It's easy, it pays well, but most of all, its fun.

My advice: bootstrap your career with the MVP of jobs: anything with regular hours. Pay doesn't matter as the hours will melt away. I would stay away from programming or IT for minimum wage, as that will probably poison your passion for computers.

Step 1: Find a meetup in your area for startups

Step 2: Begin Networking w/ Attendees

Step 3: Make it known to these people that you're a cheap coder and know Ruby and Javascript

Step 4: Offer to be an intern if you have to

I dropped out of school when I was 17 as well (for reasons I won't go into here). I wound up doing well: I work at Cloudera, I wrote a book for O'Reilly (http://oreil.ly/LrD1FL), I speak at conferences, I've run data centers for small and large orgs, I've built a distributed system or two (or twenty)... point is that you aren't necessarily screwed, but you've absolutely picked, by choice or otherwise, a really tough path. You're going to hate it at times, but you don't have to eat beans out of a can for the rest of your life.

0. You're in it now. No matter what happens, no matter how unfair, this is your life now, and you're up to your neck in it. It's entirely up to you how this turns out, and it's going to suck.

1. Get your GED. One more test isn't going to kill you. Find the time, study, pass, get on with life. Yes, you need to do it. Yes, it gives you other options. Yes, if you don't do it now, you'll forget absolutely everything and never be able to do it later.

2. It's all about experience. I hire engineers for a living. The importance of your education is inversely proportional to the amount of experience you have. Ok, so that's not universally true; no one wants a self-taught doctor performing brain surgery, but you get the idea. From now on, your life will be about optimizing for the experience you'll receive. You need to collect it via self-generation (see later) or otherwise.

3. Mentors are paramount. Find a smart person, attach yourself to them like the leech you now must be, and drain them of their smarts. You are now an information parasite. Go forth and feed. When you enter a room, start a job, work on an open source project, your first task is to find someone that knows something (pretty much anything) and force them to teach you what they know, immediately. Give them a reason to do it. Show them you're worth it.

4. Become a voracious reader. I learned everything (technical) I needed to know for my first job from O'Reilly books. I lived on them. Steal them if you have to (I'll give you a PDF of mine for free, if you want it - see below). Read them, do the examples, build something that teaches you something. Once you've decided the system can't teach you, you become your own teacher. Sorry, but that's what you've signed up for.

5. Learn how to learn. Similar to the reading thing, figure out how you learn new things, and get insanely good at teaching yourself what you need to know. This is now your life. I found I was not so great at frontend work, but I could wrap my head around how distributed systems, especially data infrastructure, worked. Find what's intuitive to you and then figure out how you taken in new information. Then go do that. A lot.

6. Be your own cheerleader. Very few people are going to invest in you. It's going to hurt. You need to build your network (see below) but you're going to have to rely on yourself.

7. Build a network. One of the main things you need is a solid network of connections. These can be people you've worked with, want to work with, know from the open source world, meet at conferences and other events, and so on. Shake a lot of hands. Smile and nod. Be charming. Impress the living shit out of people without being a tool.

8. Generate a body of work. If you don't have anything to point to, no one is going to hire you. Freelance is just a series of micro-jobs (hint: it's harder than finding a job because you're effectively constantly applying). Join an open source project and become prolific. Fill github with evidence you know what you're doing. Join mailing lists and answer questions endlessly (we've hired people at Cloudera because of their participation in the Hadoop community alone). When you get tired, see #0 above.

9. Never let anyone tell you who you are or what you can do. For example, what makes you think you can't get a job? If you're starting with "I doubt..." you need to take a serious look in the mirror. I had a teacher in high school tell me I would never be anything, that someone had to pump gas in the world. "I'll show you," should be your new motto. Live by it, die by it, show them they're wrong.

10. Overcompensate. While not exclusive to someone in our shared position, make sure you push harder than anyone else around you. Learn more, think harder, be more tenacious, be more memorable. You'll always find people smarter than you, and that's OK, but you shouldn't ever stop trying to be smarter than them. It will make you better.

11. Hustle. You're already playing by a different set of rules. Always be hustlin'. To my earlier point about a free copy of my book, if you want it, come find me.

12. Give them a reason. You need to find someone who will take a chance on you. I got a job once by emailing the CEO and saying, "I want to work at XYZ, and here's why you're going to hire me." It worked. Stand out. Give them a reason to take that chance.

You can decide this is feel-good drivel, or you can trust that this is what I do (or at least try). I am not some beautiful and unique snowflake; if I can do it, you can. Go find a job. Screw freelancing. Don't talk yourself out of something because the rules say you can't have it. I believe in you. (I'm also pretty pissed off that you got me to post something on HN. Way to go, jerk.)


I am pretty sure you can get a job; however, you seriously need to get your GED (or whatever the equivalent is wherever you are).

Take 2 years and study yourself.

Heading out soon so I'll give you a bit to go off on in the time I have. Feel free to reach out to me (profile) for more info.

Since you've been programming since 12, I can say you are far far better off than many of us already. I for instance, got my first computer around 15 and had to learn how to drag a mouse around a screen, touch type, and use the internet.

What you need to realize is while you also need technical skill, when you're starting out, that's really not the most important thing. Very quickly you will learn that many people are looking down on you or see you as an incredibly cheap deal. You're a dropout, and it may sound crude, but no one cares about your life or your problems. They really don't. They probably think you're some lazy kid who is money hungry. But it doesn't matter. Most of these people will NEVER hire you. And that's okay; ignore them. Many people still need the skills you have, no matter how refined those skills may be. Now you have 2 main barriers to getting them to pay you.

1. How do these people find you? Do they type into "the Google" and find your beautiful portfolio and contact you? At this point, perhaps not. Perhaps you need (shocking, I know), to get off the internet and meet them before they even do that.

2. Can you solve their problem? You may not have a portfolio, and it wouldn't matter, except how do they know whether you can solve their problem? I don't care how you accomplish this, but that's all really all they want to know. You'd be surprised how a simply/ugly static HTML page can blow the mind of certain people. Many do not even know what they need to be able to hire someone online to do it for them. Just using email is enough of a hurdle.

Some information about myself. I got my first computer around 15 years old, learned to use it, and was interested in web development, so by 16 I was doing simple websites in PHP/HTML/CSS along with small bits of copy/paste Javascript. I moonlighted during high school (at which time my poor family got sued for no legitimate reason), paid off a lawsuit, and started 2 small side businesses.

One was a private server for a small online game. A small online game you say? What does that have anything to do with web dev? It doesn't, I enjoyed the game and did it. But it did help me immensely with not ending up on the streets, I used my web dev skills to improve it and built a community around it, and made a bit of money. Most importantly, I met many people who could later act as testimonials to their friends and family of my web development skills. Most of this stuff happened the same time I was refining my technical skills.

The second venture was started because of one of the players on the server. He referred his friend to me who had a business idea but was unable to execute without programming knowledge. We built 2 large online communities and made a portion of a million dollars in advertisements and sponsorships. This later allowed me to officially start the freelance business I have now (I just turned 21). Which allowed me to secure multiple full-time offers at reputable companies despite my (lack of) credentials, speak at some local events, and charge significantly more (aka bring more value) than I ever imagined I would back at 15.

Enough about me, let's get back to you. At this point, the biggest skill you need to learn is not technical, it's learning how to influence, persuade, and prove to potential clients that you can do the job. I have to get going so I'm going to stop here, but you most definitely have everything you need to be successful as a freelancer, don't let anyone tell you you don't.

But it takes a heck of a lot of determination and hard work.

P.S: If you're really unable to find your first client, I do have a small project making doing some front-end work for a website. Very simple HTML/CSS/JS stuff that I was planning to give off to a friend to learn. But please, do everything and anything you can to find that first client yourself. It will help you a lot more in the long run than people on HN feeding you projects. Good luck!


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact