Ask HN: I dropped out of school at 17. Freelance is my only hope. Advice?

52 points by 30thousandfeet ↗ HN
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.

69 comments

[ 1.9 ms ] story [ 135 ms ] thread
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.

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.
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.

do what most people do, fake it. look for remote work. or say your 18. i always just said i graduated on my resume -- who cares they never checked.

honestly your doing it wrong though, if you want to get rich when im older i would go to school. the contacts you meet there are priceless. also 4 years in university could be the best years of your life. start a business in college maybe, find people you could work with. honestly if an illegal immigrant can get 40k a year from the government to go to college so could you.

ymmv but what i would do is hang out on reddit/r/entrepreneur and read the books they recommend. i would work the easiest job you can... maybe desktop support, customer support online (emails/soforth), waiter, night hotel mgr, something. in my spare time i would party and eventually try to start a business. all this is much easier when you have the daily income from your job.

consider buying crap for cheap with online deals (something like fatwallet) and then ebay them for retail. consider buying shit off craigslist and using a printer to print decals on them and selling them on ebay as "one of a kind custom xxxx" for no less than 1000% what you paid.

if you stay with a web shop just talk to everyone and try to get them to let ur build a projecft for them, or build something cool and show it to them (here your forums suck -- checkout this layout i made) -- eventually you will find someone who wants it (sell it to them) and either way you can use it in a portfolio (as say a client sample -- not used), and then get work from there.

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.
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.

This is an well-written, wise and considered response. Well done, sir.
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.

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

I wrote 130,000 lines of code from scratch, in ten years. It never executes code I did not write except a couple BIOS calls on boot.

I wrote all this code: http://www.templeos.org/Wb/Accts/TS/Wb2/LineCnt.html#l576

Yer a nigger and cannot believe what a white man can do.

http://www.templeos.org/Wb/Accts/TS/Wb2/Downloads.html

I wrote all this:

Includes: x86_64 64BitMultiCoredKernel, 64BitCompiler, Assembler, Unassembler, Debugger, Editor, VGAGraphics, Tools, BootLoaders, Keyboard&Mouse, HardDrives, FAT32, Partitioner, CD/DVD, ISO9660FileCreator, FileManager, WindowManager, PCSpeaker, Apps, Games, God-Oracle-App, Hymns, Demos, Documentation.

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.

faisal.abid@gmail.com

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.

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.
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 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.
I've never been asked a single question on if or where I went to high school in my entire career.
(comment deleted)
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. :)

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.
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.
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.

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!
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

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 ;-))
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.

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 ..

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'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 ..."

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.

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.

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 rec...

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.