
Ask HN: How do I earn money as a teenage programmer? - Sxw1212
I&#x27;m having trouble working this out, because I have to earn money to pay for car insurance and such, but software companies are not willing to hire people my age for good reason. My resume is also limited because I have only built applications for a few businesses who I had previous connections with. I&#x27;m looking for advice for how to start freelancing, because that seems to be the most viable way, without a large resume to start.
======
icelancer
>but software companies are not willing to hire people my age for good reason

I doubt it. I've hired two 18 year olds to work remotely for me, one of whom
does excellent quantitative analysis I've yet to see out of anyone I've
employed with an advanced degree.

Companies are by and large very stupid. Don't devalue yourself or your skills.

Craigslist is decent.

One of the best things you can do is invest in a Github or open source
portfolio where you demonstrate proficiency with various technologies,
methods, and algorithms. It'll be easy for me (or other hiring managers) to
look at it, ring you up, ask you questions to make sure you didn't fully steal
all the work, and task you with some basic contract work to see if it's a good
fit. Then we go from there.

I got a lot of recruiting requests after I contributed a pretty solid amount
of documentation and debugging work towards Facebook's HipHop (now hhvm, sort
of anyway) repository and project.

You won't get paid upfront, obviously, but consider it a good investment.
Hiring managers are more increasingly wanting to see proof that you can do
work, especially independently.

Good luck. And if you're handy with R-stats, quant work, machine learning, and
maybe even some Python/shell programming (have an application that could use
some freelance work), hit me up. Info in my bio.

~~~
eof
Sure, but what if he's 16?

~~~
icelancer
I don't care if he's 14.

~~~
codefined
Legality issues spring to mind.

------
saluki
Don't use UpWork or similar. The rates are low even for a teenager.

The best projects and rates are through your network.

Family friends, businesses your family uses like you mention.

So start asking around who needs a website or web application. Those will be
your best gigs, projects and clients.

Look for ways to setup recurring revenue. Maybe a business needs a website
offer to build them a basic website, maintenance, hosting, backups and updates
for $99/mo set it up with Stripe or Paypal recurring payments. Increase the
cost as pages grow. Offer to include once monthly limited updates, usually
clients will only update a page every month or so but you can adjust pricing
accordingly.

Or if you build a web application for a client offer a maintenance plan that
includes hosting, maintenance, database backups, etc.

This podcast has some great information to start building your own products
and apps.

Startupsfortherestofus.com

And like others have mentioned patio11 has tons of great info.

Good luck.

~~~
brandon272
>Maybe a business needs a website offer to build them a basic website,
maintenance, hosting, backups and updates for $99/mo set it up with Stripe or
Paypal recurring payments.

I did this as a teenager and it ended up being a nightmare because you become
a magnet for people who want thousands upon thousands of work done for no
upfront cost and a low monthly fee. And it puts you in a terrible spot as you
are strongly incentivized to say "Yes" to those people because you are
desperate for the money and experience.

My recommendation would be to estimate and bill for the actual time put into
those projects and have a fair hourly rate that reflects your knowledge and
experience.

~~~
apapli
I agree. Never sign up clients on a monthly arrangement until you have a
decent amount of IP available that is readily re-useable.

That way your value proposition for a monthly fee is that it effectively acts
as an extended warranty, and saves the upfront costs for a client. But you
need to be confident they will sign a term agreement (24+ months) and they
need to be confident they can depend on you to fix things when/if they break
over that long period of time.

I've seen plenty of scenarios where money has been left on the table for a
client who was willing to pay upfront and the contractor did themselves out of
a nice fat cheque by talking the client into a monthly arrangement (which just
gives them a debtor issue).

------
ruigomes
I've been there while I was still in the first year of college of a 5 year MSc
in CS course and needed some extra cash.

I started on Upwork with a very low rate (~$20/h) and applied to as many jobs
as the platform allowed me to, with a custom cover letter for every single
one. It was time intensive, but without any reviews it's your only way to
stand out.

After I got my first project, I made sure that my client was blown away by
everything: communication, turnaround time, code quality, etc. When I was sure
the client was happy with the result, I asked him if he could leave me a
review describing the process of working with me. By asking, you're letting
him know that his review matters, and he'll probably put some extra effort
instead of just writing something for the sake of it.

I kept (slowly) increasing my rate and continued sending custom proposals for
clients. This is your advantage over all the low bids you can be sure they're
getting.

After a few projects under my belt, I've built my personal portfolio, making
sure Upwork reviews were there, along with a small description of the projects
I completed. I've published my portfolio around in a few relevant websites and
this has brought me client work directly to me a bunch of times.

After a while, you'll notice you're getting more proposals than you can
handle, mostly uninteresting and low pay. That's when I've set my Upwork rate
to something high enough that clients that weren't serious just wouldn't
contact me.

I was 20 when I started doing this. I'm 23 now, with my MSc almost complete
(just delivered my thesis this week) and a remote job working full-time at a
startup with a great salary.

This is not a fool-proof plan, I may have gotten lucky here and there, but it
is absolutely viable to do this without a resume. I've never had a resume to
this day.

~~~
wapz
Can I ask what type of skills you recommend for upwork? I've done a lot of
mobile and now I'm working in Unity and when I looked through Upwork I didn't
see many opportunities.

------
tathougies
I'm not sure how well this advice translates. I found my first job (as a
teenager) by scouring craigslist. I sent my resume probably to 3 or 4 hundred
companies over the course of a few weeks. Finally, I found one that didn't
want a resume but wanted me to complete a project instead. I spent a few hours
working on that, submitted it, and got called back -- they didn't care I was a
teenager and paid me $23/hr on a contract. This was fantastic money, since the
other places I was looking at were places like subway and best buy.

So again, not sure how well the advice translates to your area -- but try
looking for places that ask for coding samples or projects instead of resumes.

------
whoami_nr
I am in a similar boat as you(a broke teenager) but I don't like freelancing
that much. I tried a few websites and they mostly make you do uninteresting
work at low rates which doesn't justify the time you put into it. Sure, you
can do all of this for the sake of learning but remember time is limited. I
don't study CS at college and I've done projects in freelancing websites which
I regretted later. It affected my regular college work and in the end I felt
like I didn't learn much from it nor did I earn a lot due to the low pay
offered. I personally suggest you to try getting involved in some open source
program or religiously do bug hunting for a specific company. If you are a
student in a college, OWASP code sprint, GSoC, X.org EVoC,Mozilla winter of
security are some programs to get involved in.

Also, unless this is your full time work, make sure you concentrate on other
aspects of your acads. I lost out a lot in my regular college trying to
freelance(gain experience) with little to show for at the end both money and
projects wise. It's quite hard for me to find work locally as well as
internationally now that I am about to graduate(non CS degree) and most of the
companies are skeptical about hiring an Indian without a relevant degree to do
work that matters. I want to work on low level stuff/networking and all I
could find are web development profiles.

~~~
dbattaglia
When I started my first development job I didn't even know how to write HTML,
I came from writing Windows applications (MFC and Winforms) and AVR/Arduino.
Over the past 10 years I've learned that there is actually quite a lot of
interesting stuff to be done in web development land outside of UI/JavaScript.
Right now I'm working for a company building a Docker/microservices framework,
touching nearly every part of the modern software stack (UI, web APIs,
networking, Linux, etc). For me being able to code professionally was far more
important than being able to code the stuff I was interested in specifically
at the time, and it's worked out very well for me.

~~~
whoami_nr
I totally agree with this. Even I started with web development (backend
though) and for a brief period tried to grok some JS frameworks. Took up jobs
immaterial of the front end stack and started learning them on the fly. Played
with Angular the most. Somehow later my quest for figuring out how a computer
works bought me to operating systems and then to a lower level where I deal
with assembly these days. I still understand I haven't gone down deep enough
but I very much like the path I am pursuing and want to know how deep this
rabbit hole goes. However, I wonder if I would be employable with all this
knowledge except in some niche places which are absent in India.

------
nkoren
Think longer-term. Don't over-focus on the money. Unless you're already living
independently, you're in a privileged position wherein your expenses -- while
still annoying, I'm sure -- are far lower than they will be at any other point
in your life. You can take advantage of that by adjusting your priorities.
Rather than having a primary goal of earning money, your primary goals should
be building up your expertise, your portfolio of work, and (especially) your
passion -- (since passion can carry you farther than just about anything else
in life).

So, first and foremost, look for projects/companies/organisations where the
work is both maximally interesting and maximally personally challenging.
There's a lot of living-on-the-edge startups and NGOs that can't pay very
much, but wouldn't care about your age if you've got the skills they need. The
monthly Hacker News "who's hiring" threads are littered with such companies.
The best hire I ever made was via a "who's hiring" post -- I had a scrappy but
exciting startup, and was thrilled to find an incredibly talented developer
who wanted to work on it at way below market rate. Took me almost a year to
find out that he was 19. Really didn't matter, given his competence. He's now
accumulating a co-founder's worth of equity, so hopefully the investment will
ultimately pay off for him.

Tl;dr, here's your sort algorithm, in order of priority:

1\. They don't ask and/or care about your age. (You don't need that BS.)

2\. Company/organisation/product is something you actually feel quite
passionate about.

3\. The role you'd be given is very challenging and would do a lot to develop
your skills.

4\. Last and least: salary.

------
goldenbeet
I would recommend getting involved with Udacity as a classroom mentor/forum
mentor/project reviewer. All you have to do is demonstrate enough domain
experience for whichever course you want to help out in. You can do that by
either completeing the course in stellar fashion or demonstrating your skills
via a stellar personal project. For more info on it, you can check out my
other comment from a couple of days ago:
[https://news.ycombinator.com/item?id=14472353](https://news.ycombinator.com/item?id=14472353)

~~~
analog31
On a similar note, maybe offer to teach programming during the summer. There
may be parents who are willing to pay a bit so their kids can be exposed to
programming, and being a kid yourself, you could create a fun and non
threatening atmosphere. Plus, for kids, it's not so important that they learn
exactly the most marketable languages and techniques, but just to expand their
brains and tickle their interests.

Another idea is to tutor introductory college students. I made reasonable
money in college as a math tutor, even as a freshman. The college had a
tutoring center, who paid my wage, so I didn't have to deal with collecting
money from my students.

------
cube2222
I am in your position right now. Being 18 and working part time when having
school / full time now because of summer break, and doing this since I've been
17.

My biggest advice: get involved into local meetups. Talk to people, try to
make a good impression. Try to get friends with the organizers, so you can
become a coorganizer eventually.

I'm getting a lot of job offers, but really, the only worth looking at, are
those you get offered by other programmers you get to talk with.

Try to read a lot of development blog posts/be active on chats as this way you
get knowledge to make up for your lack of experience when discussing technical
topics.

EDIT: Addition: Nobody cares about your age if you can deliver.

~~~
thesephist
One thing I'd add: be eager to find opportunities that aren't just money-
makers but that help you move up, meet people who are better than you at what
you do, and can help you grow.

------
zachruss92
Don't let age get to you, my _best_ hire was someone who'd just graduated high
school.

I was in the exact same situation as you a few years back. I started
freelancing on my 19th birthday (literally) after finding out eLance existed.
At the time, I had advanced HTML/CSS skills and could barely build a WordPress
theme.

My first 2 projects on eLance were the worst. Effectively doing copy and paste
work for what ended up being less than $5/hr. I did get some good reviews
though. From there I actually got some good clients, some of which I still
work with today. My focus was getting projects the final 20% of the way when
hiring cheap work overseas didn't work out for them. Clients were more willing
to hire a local (USA) contractor and at higher rates to solve their problem,
remember this.

After about 6 months, I stopped using eLance. The model is skewed against high
quality work and creates a race to the bottom pricing wise. I was able to find
enough work to sustain me through local networking (Meetups are awesome) and a
coworking space and I haven't looked back.

I'm 24 now, and I have grown a small freelance gig to my full time income. I
have multiple Fortune 1000 companies relying on my services for their
performance on search engines, and I have the luxury of working on
projects/clients that are a good fit (rather than taking on bad clients
because I need to).

My best recommendations: \- Focus on what problem you can solve for a business
rather then what technologies you use (you're an artisan, not a tool). \-
Network. Network. Network. This can be in-person or virtual. \- Don't focus on
your age, clients care about your ability to get work done. \- Keep honing in
/learning new skills that can make you better serve your clients more
efficiently. \- Don't be afraid to ask for the sale, or to ask clients for
referrals to others

If you'd like email me (in my bio) and i'd be more than happy to pass your
resume along to some people in my network.

Good luck!

------
snarf21
All jobs are about convincing someone you are worth it. If you have good
examples, that helps to convince them. If you are looking to improve your
skills as much as make some cash, you can get some stuff for $15/hr. If you
expect to get $50/hr from someone you need to be an "expert" in something or
be able to convince them you are at least the perfect person for the job.

I have a bunch of side projects and had some college kids that were interested
in a paid internship kind of thing. I spent time and money getting them set up
and explaining the project, etc. They totally flaked out and just didn't
follow through. You have to understand that time and energy is expended on the
other side. I've always taken a "prove myself" perspective. "Yeah, I'll do a
little work at $10/hr but then we need to reevaluate things based on my
value". You aren't locked in to a bad contract and have the ability to move
up. I'm sure there are people on here who will give you a chance, including me
if you have any web experience.

~~~
musgrove
You'll get to a point (with lots of hard work and good decisions) where
selling yourself isn't the hard part of the job and you don't have to spend as
much time and energy marketing yourself. Juggling time and projects and
choosing who to work with and who not to and also finding time to study to get
better is the tough part for me. And also having a life. You'll figure out how
to manage your rates and increase them as your skills warrant, but if you're
good people will hunt you down. You can only handle so many clients at a time
as a sole proprietor though, so it's important to focus on the best clients
and lose the duds. I only have 5 clients, but charge $135/hr. (I also have an
MBA and lots of business experience) With that few clients, it's important to
not let all your eggs end up in 1 basket, which is tricky sometimes since the
client mostly determines the project timeframes.

------
throwmenow_0140
I've started to work as a software developer when I was 16. My first job was a
small programming job as a casual employee (20h/month) for a research
institution (publicly funded) - it was for minimum wage and I hated it.

After 4-5 months, I've decided to become a freelancer and searched for
contract work. I've never used Fiverr or other platforms and I'm convinced
that neither should you, because this work will only lead you down the wage
path where no one really values what you do.

Try to find small local software companies in the range 1-30 employees, go to
local meet-ups for software developers (or even organize your own ones) and
get to know those people who can give you a job. I'm currently 19yo and I'm
meeting executives at my local chamber of commerce. It's not that hard. But
first, you have to lose the attitude described in this sentence:

> software companies are not willing to hire people my age for good reason

This is simply not true. Maybe there are some, but not all. I've get paid the
same amount of money as other freelance senior developers. They don't care
about my age. They just care that

\- I can what I say

\- I can do what they need (I'm doing web applications & app development)

\- I do it professionally and communicate properly

Just go out, drink coffee with other software developers, tell them that you
would love to have a meeting with their executives and you're ready to go.

Be confident in your skills (but never ever make the mistake of overestimating
yourself), be calm, show your expertise and that you can and will do the job.

Connect with people, this is the most important part for freelancing work -
every time you go out and eat something, go with some project managers who
happen to be there, too.

Maybe this sounds too easy to be true, but this is what I did. And I'm sure
you can do it, too.

~~~
harrisi
I'm 23 and I also got my first programming job at 16. In my case it was pure
luck - I was on a camping trip with a friend's family and they asked me if I
knew how to program. I said yes and came in after the trip to start.

It's important to realize that everyone started with no professional
experience. Someone will be willing to take the risk of a few dollars spent on
time and/or labor to see if it works out. A bit of charisma, luck, and
dedication goes a long way. I now have professional experience in project
management, training, hiring, communicating effectively, database experience,
etc. because I worked hard for the opportunities I've been given.

I think networking is excellent advice. It's not uncommon to be at a coffee
shop or bar and talk shop with strangers and be offered work. Maybe that's
because of my location but certainly it's a good way to find work. There have
been plenty of times where I see someone working on software and I'll walk up
to them and ask if they wouldn't mind talking about it for a few minutes.
People are typically friendly and enjoy some discussion. It can go a long way.

------
Jhsto
Unfortunately, unless you are lucky and have the connections and required
social skills (e.g. you live in a place where engineers are respected and you
know people who are not age-biased and to whom you can argument your value),
the chances of finding well-paid work as a teenager are slim.

For self-taught programmers, before you find work with good pay, there seems
to be a phase of self-validation. In a way, you have to pave your road somehow
to demonstrate your value. For me, this meant freelancing for individuals and
small businesses to gain work to which to refer to when later interviewing. I
had done five of these gigs before landing a job opportunity which paid going
rates for university graduates. Before that, I had worked three years and made
the equivalent of two-month salary in my new job. I had been underpaid. My
boss even implied that I had been a bargain, but working for under the minimum
wage _besides studies_ was what it required to me to gain some experience.

After the aforementioned job experience, I turned my twenties and at the same
time the "age discrimination" I had experienced before turned upside-down. To
me, this seemed like I had reached the point of self-validation, after which I
was seen as an equivalent of a university graduate.

So, if possible, do not give up because of the low pay as long as you are able
to _learn_. In my opinion, investing in yourself when you are still young is
one of the best investments one can do.

In a way, people here talk about product-market fit. To me, it seems like you
as a freelancer have been able to a figure that out already by finding
businesses which have ordered applications from you. I think that if you are
able to continue whatever you are doing now and also learn new (to increase
your social capital), have some fun (to avoid burnout) and to make some money
(for ramen profitability or to justify your family that you are doing
something of value on the computer) then you will eventually land the job
opportunity by "chance" (recruiters) or then you are able to justify your
skills once you apply to a job which interests you.

------
nfriedly
I was in your shoes 10-15 years ago. Here's a few bits of advice:

* Upwork (well, Elance back then) worked out pretty well for me. The skill test are a nice way of showing that you can do the work without having much history.

* You don't have to tell everyone that you're a teen - don't lie about it, but don't shout it from the rooftops.

* As other folks have mentioned, a GitHub and/or personal website can help you.

* Create a couple of side projects - they don't have to be that original or full-featured, make a simple game or something. Just put something out there that you can point to and say "I built that".

I do some mentoring and also occasionally hire folks for contract work. Email
is in my profile if you're interested in either.

------
rudimental
Keep checking in with your network for jobs they need that you can do. Present
yourself well online (your portfolio and yourself). Expand your network.

Two previous threads about starting to freelance:
[https://news.ycombinator.com/item?id=8761088](https://news.ycombinator.com/item?id=8761088)
[https://news.ycombinator.com/item?id=14424699](https://news.ycombinator.com/item?id=14424699)

I'd pick a technology to focus on, and present yourself as a person who
specializes in it. Put your skills and work first and foremost online / on
your resume. Choose something you can use quickly, and fully build the
projects you have or are about to have. Whatever it is. Start with the
HTML/CSS/basic JS. Or Wordpress, Drupal. Or React or Rails or Flask. Practice
most for the job you have. Second most for the job you want.

Work with the businesses you built things for to be references, and if at all
possible get a good looking project one to be publicly accessible. At least as
a few screen shots. Clients want to see what you've done.

[https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_...](https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you%27re_a_dog)

Good luck!

------
threepipeproblm
I started working as a programmer the day I turned 16 in the early 90's, at
$50/hr. Freelancing is a good idea... I would focus on small organizations,
possibly non-profits. Learn about what organizations do and talk to people
there about ideas you have and/or your ability to implement their ideas.
Basically, you need to learn sales.

A few decades later I still rely on the approach I learned back then. While
many of my peers have a mentality that they are at the mercy of the job
market, and need people to create & define work for them, I can create
customers wherever I meet people. I have a number of small business customers
who would likely never have done development if I hadn't sought them out.

While this isn't the top way to earn a lot of money as a software developer, I
continue to work heavily with small businesses because I like it, and because
it eliminates a lot of the factors that others seem to dislike about a
programming career. Regardless it's a great way to get your foot in the
door... companies who can't afford $80,000 programmer salaries -- or the
contract equivalent -- can't afford to be prejudiced against your youth and
inexperience.

------
joeclark77
Are you a kid in school? If so, I suggest approaching companies in your local
community and specifically saying you want a job "for summer vacation". IMHO
the biggest risk for an employer is getting stuck with someone that's no good
and has to be fired later. By coming in as a freelancer, intern, or summer
employee, you take that risk away. And given the desperate shortage of good IT
people out there, if you prove yourself better than terrible you'll very
likely be asked back.

I would not target "software companies" but rather ordinary companies that
lack IT talent. Lots of businesses out there need simple edits to their web
pages, or SQL queries from their ETL or CRM (systems they buy but don't know
how to work with "under the hood"), and could use your h elp.

------
simplyluke
Hey, I've got a bit of first hand experience here. Been doing professional
work since ~15ish and had a handful of friends in similar situations.

1\. Use your age as a strategic advantage not a limiting factor.

Seriously, I wish I'd appreciated this a little more because it changes the
day you graduate high school and become a college student. You have a unique
ability to talk to just about anyone right now as a virtue of being young and
curious. Reach out to people you admire, not specifically asking for work, but
for mentorship and advice. The returns will be high. People in this industry
love young ambitious developers.

2\. Get involved in the community.

All the work I got before college was through personal connections. Show up at
hackathons (big one), go to technical meetups if there are ones in your area,
get to know people on a personal level. Forget "networking" start making
friends with other people in the field, you'll start getting calls about work.

3\. Code a ton

Seriously, open source, personal projects, whatever. Just improve as a
developer. My first steady contributions were doing volunteer web development
for a local non-profit and that kickstarted all the professional stuff I was
able to do pre-college.

4\. Understand your value

Unless you're truly an outlier - you aren't going to be getting paid what a CS
grad with 10 years experience is. That's just a reality of your experience
level. That said I see way too many younger developers accept gross
underpayment. Do not work for someone paying you $10/hour. Your time would be
much better spent contributing to meaningful open source work.

5\. Get into the best school you can

A good CS program will be a game changer for you, or at least it was for me.
Get the grades and exam scores you need to do that. A resume of relevant
experience is also massively helpful.

Companies are much more interested in your skills than your age. Startups in
particular are very willing to hire teenagers if they can see that you will
provide value. Keep learning. If you want to chat more email me (in bio).

------
wink
Can only speak of 10-15 years ago - but if you know anyone who knows anyone at
a (probably smaller) company in your area, that might work - an introduction
can be enough to get a shot. I do think smaller companies are better for this
than big ones, but ymmv. Also, meetups. But I guess they've in general changed
a lot and I don't really too many really young people (who are not studying in
college or similar already).

------
saleeh
I started doing programming at age of 16. I learned PHP then I posted in
fiverr.com for freelance projects. I got many project through that and learn a
lot

------
majewsky
If you're a student, Google Summer of Code is an option. It's bad timing
because the application period is around March/April (so that the work period
falls within the summer break), so it would only be something for next year,
but I can highly recommend it.

The idea is that Google chooses several open-source projects for the program
each year, and then students can apply to the projects with their own ideas
(or by taking one of the ideas proposed by the project's contributors). The
project chooses the best proposals, pairs the students with mentors, and has
them work on the chosen topics for about 3 months. Reviews are submitted to
Google at multiple times during that period, and the student is expected to
both deliver code and engage in the project's community. Also, the student
gets a nice payment from Google for each completed milestone. (I think it
comes out at about 4000 dollars or so.)

So in the end, you have a small pile of money, some code to put in your
portfolio, actual work experience, and the "Google Summer of Code" checkmark
for your resume.

Disclaimer: I have served as a mentor for KDE in GSoC 2009.

------
gaelow
You got it relatively easy: I assume you don't have any good contacts on the
business, which is the obvious first choice. You can find clients at upwork or
some freelancing site. Prioritize portfolio building and long term
projects/recurring clients over one time deals and money. After a trial
period, if you are good and trustworthy enough, ditch upwork and start
charging them what you are really worth. Obviously don't be a dick and be
upfront about your intentions of charging them more when you prove them you
are worth it. It is a lengthy process. You need to be reliable and smart,
otherwise you will not find good clients and you'll be taken advantage of. I
don't want to discourage you but if you aren't good enough yet and you need
the money now you'll be better off working at mcdonalds or some other simple
teenage job.

------
exclusiv
Get on Upwork or similar sites and price low and deliver. You can up your rate
as you earn reviews and a portfolio.

------
scott00
I think most advice on how to start freelancing applies to you despite your
age; it's just going to be a little harder for you than for a more experienced
and/or older person. There's a ton of advice on this topic in previous
discussions here. See
[https://www.google.com/search?q=start+freelancing+site%3Anew...](https://www.google.com/search?q=start+freelancing+site%3Anews.ycombinator.com&ie=utf-8&oe=utf-8).
I think it's very doable though.

I'd also caution you not to focus on freelancing to the extent that it hurts
your schoolwork. If you want to program as a career, graduating from a top 10
CS school will open a lot of doors for you, and I would make laying the
groundwork for that your primary goal.

------
jugg1es
I made a few thousand a year as a teenager in addition to a typical teenage
job at a bagel store/CompUSA by leveraging family friends to build websites
for their pet projects like a craft business or band website. You have to
actively market yourself and constantly reach out via parents, but if you are
persistent, you might find work. People will often think that a teenager is
both cheap and capable (which they often are) so you might be able to get
contracts that formal companies cannot. It takes a lot of practice to
understand how to communicate with clients but you will get the benefit of the
doubt as a young person.

------
evan_
It isn't sexy but small businesses need help setting up websites and stuff
like that. It's good experience both with programming and also working with
people (which is usually the hardest part of any programming job).

------
akulbe
Would you care to put an email or other contact info in your profile, in case
someone wants to reach out to you?

I see someone also mentioned Patrick (patio11), you would do very well to
follow his advice. TONS of value in his stuff.

------
gboudrias
I'm in Canada, we wouldn't discriminate based on your age (in fact I think
it'd be illegal).

I'd say start contributing patches to open-source projects you like. You'll
have to fork them, which will make your Github page less empty (but no one
will be fooled into thinking they are yours), and you'll learn how the open-
source world (and therefore some teams) works.

If you don't like any particular open-source projects, start finding some to
like because it's a big part of the culture (unless you absolutely want a
corporate soul-sucking job).

------
flavio81
If you are very good, you will get jobs, either hired or as a freelance.

So work on becoming very good. Choose a platform and a problem domain, and
become very good at it.

I was in charge of a software development departament inside a company and i
never took the ages of the applicants into account. Only their skills and how
nice/approachable/good-humored they were. I got people ranging in age​ from 19
to about 34, no problem within the team.

In this business what matters is not how mature you look. What matters is to
get the job done on time and keeping the customer happy.

Go for it!

------
edburdo
Start a blog, create a course or two for something like PluralSight or Lynda.

Check out Simple Programmer.

As others have said, this is more an investment than a direct payment... but
it will pay off.

~~~
monk_e_boy
Sounds like he/she wants cold hard cash. But if an investment is on the table
then writing some open source is a wonderful way to go. I wrote some and have
a few hundred thousand downloads, a few million page views (for the manual)
and it is amazing the sort of businesses that like that on a CV. It's opened
up a lot of doors for me.

------
mindhash
Freelancing is hard when you are doing it alone. Try to work with someone who
can get projects. So you can just focus on delivery or vice versa. Check out
triplebyte (yc startup). It is pretty difficult to get in though. Try to
master just one skill.I used to look out for latest skills like elixir , go
(when they were new). In your case , look for angular 4, kotlin, swift or
elixir. Just pick one and keep at it.

All the Best.

------
stefanpie
My school used this online grade management system and the students access to
it was really bad and only showed the letter grade for each calss average. So
I made a python app to manage all your grades and calculate the by scarping
the online site using python. I sold the app and made some money so i don't
know if you can do the same. Otherwise just keep learning and follow everyone
else's advise.

------
emersonrsantos
Open an account at freelancer.com and similars and see how the system works
and what can you offer. It really works, though competition is high. This will
help you build a portfolio and make money in the process.

Search for people problems and build an app to solve it. Apps are hot.

Github portfolios, open source projects, etc... may make you look important
but it does not generate direct income. Try to avoid the ego trap there.

------
j3nnif3rfu
I think freelancing is only one of the many awesome ways you can earn money
and build your career as a developer :)

If you're interested in working with people, you can always apply to become a
mentor on Codementor. If you earn some positive reviews, you'll gain a bit of
credibility to help you work as a freelancer as well!

Keep programming and stay passionate!

------
TamDenholm
I personally have hired a young person on the apprenticeship scheme in the UK,
hes great. Hes doing so well he is getting his qualification early and hes
also doing very meaningful work for the company.

I dont know if thats an option in your country but people so hire younger
coders, perhaps start approaching local companies that are smaller in size?

------
giancarlostoro
Not sure of age requirements but maybe try bountysource is the only thing that
comes to mind:

[https://www.bountysource.com/](https://www.bountysource.com/)

I've not used it, but seen projects I keep an eye on put down some good
rewards (even users / companies do as well) so maybe worth checking out.

------
coreyp_1
Make open source contributions and establish yourself as someone whose code is
trusted and accepted by your peers (the open source community). I don't mean
to just publish your own open source project, but rather to be involved in
other people's projects, specifically the ones that you plan to use for
employment.

------
SQL2219
Step 1: solve someone's problem

Step 2: collect money

The small business world is filled with unsolved problems. Get out there and
find 'em.

------
NullError
Look into making hacks for games or rotation bots using C#. Or go into advance
HP/UI scanning for FPS. Bunch of teenage hackers charge $30-$60 a month for
those services. Use [http://selly.gg](http://selly.gg) for setting up digital
shops

------
p0la
What type of stuff are you interested in ? I'm looking for people to help with
mobile app dev and could consider remote applicants. Have a look:
[http://getapony.com/job.html](http://getapony.com/job.html)

~~~
AlexanderFarrow
Not OP but am in a similar position. I had a look at your website and would
love to help out with developing the Android app. I'm looking for 1-2 days a
week while I'm a student, is this suitable? Once I finish my exams in a few
weeks I can send you my CV. Also I'm in commutable distance to your Hatton
Garden offices.

------
ely-s
You mostly have a presentation problem if you have marketable skills that
won't sell. I started when I was 15 and the trick was displaying confidence,
humility, and maturity in every interaction. It's harder than it sounds.

------
justintocci
Search for patio11's posts. Also, develop a great website as part of a
portfolio.

------
nmca
It is possible to become very successful through freelance work - make sure
you keep in touch with good contacts and try and move from the position of
hire to business partner. Can be done, not easy

------
protomyth
Without a resume and being a teenager, I would probably do a couple of apps
and get them in the app stores. It can get you some money and provides a nice
opening line for freelance work.

------
yunyu
Not sure how well the market is doing now, but I made quite a bit of money
(half of fulltime jr dev salary) doing freelance Minecraft development work
off of forums like SpigotMC.

------
helen842000
What kind of work are you interested in? I have a few web apps that I'd like
to get up and running if you want something that fits your schedule. My e-mail
is in my profile.

------
DoofusOfDeath
When I was in high school, my summer jobs included: lawnmowing, building
construction, dishwashing, and being a gas-station attendant. It worked out
just fine.

~~~
trcollinson
And so you're saying that because you did this work and he would like to do
technical work that somehow he is wrong? What value are you bringing to this
discussion for this young man?

~~~
DoofusOfDeath
> And so you're saying that because you did this work and he would like to do
> technical work that somehow he is wrong?

No.

> What value are you bringing to this discussion for this young man?

My goal was to help him not feel stressed out if he has trouble finding this
kind of work right away.

------
jlebrech
join a tech meetup, ask to help someone out and pair program and if you're
trusted they might give a few projects or tasks to you.

------
Sxw1212
Thanks for all the responses! I've got quite a bit to sort through, so it may
take me awhile to get back to you.

------
greyman
Getting employed part-time at a normal company is still one of the viable
options. How many did you try to ask?

------
MarkMc
Try UpWork. In the past I have used UpWork to hire a programmer aged 19 or 20
and paid $23 per hour.

------
silur
I did freelancing at age 16, sometimes had to lie a little but elance (now
upwork) is a good way.

------
Theodores
Keep programming fun and do a normal job. Imagine that you decide to pay for
your car bills by working on some type of car garage place, either doing
mechanics or serving customers. By being part of this business you will learn
many skills that may not seem as important as the latest Tensorflow coolness,
but are best learned now rather than later. Learn how to put the customer
first, learn how to negotiate, learn how to survive being on your feet all
day, take on responsibility, have great camaraderie with the team, learn how
to be an entrepreneur, learn about how much effort a company has to put in to
pay taxes, staff and suppliers.

Sure you will be too tired when you get home to do all that wonderful
programming, but this is not a forever job, it is a job that gets you solid
experience that may be more useful than you think.

For instance, imagine some fantastic Tesla gig comes to town. You want to be
programming that centre console with some Tensorflow coolness. You are up
against some other guy that wants to do the same. You just so happen to know
how to sell a car because you have done it, you have also done it as part of a
team and appreciate the nuances of it. Your idea of what shows on the centre
console will be better than the other guys because you have seen how customers
behave on the showroom floor. So for you it is not just a programming job, it
is about customer satisfaction and the bigger dream.

I provide an automotive analogy here, I recommend any 'normal job' and that
can be in retail or in factories or an office, it matters not. Specialist
sales is true retail, stacking shelves or sitting at a till is not what you
want.

Essentially all software is for someone or some industry, clearly there is
'plan9' exceptionalism, but the general deal is that software solves a real
world problem. So you can do normal jobs in this real world, to therefore
understand the world of the problems that the software is trying to solve. So
if you work in retail and learn how to put the customer first, that will come
in handy if you have to do online sales stuff. Will they want the guy that sat
in the basement programming, or the guy that spent time hard at work learning
the core thing the hard way? I suspect the latter.

With this strategy you can keep programming fun. By that I mean not patching
some legacy system that needs a complete rewrite but that is organisationally
impossible. It means not being micro-managed. Also, with 'normal' jobs, the
hours may be long but you don't take your work home. With software there is
none of that, it is as bad as studying for always having more one can do.

With a lot of normal work there is an aspect of where you are making the world
a better place and making a difference. If you find your work is valued by
customers or the local community then there is job satisfaction that is quite
hard to find if sat behind a screen.

Every business has pinch points, these can often be automated by someone who
can code. So in that apparently mundane factory you might see an opportunity
to solve a problem or two, in code. It is for you to see these opportunities,
however they are everywhere and you can develop a niche new product for your
company, if you polish it beyond MVP you might be able to sell that across the
sector. For instance, returning to the car analogy, you might find that a
common problem in a particular dealership where a product puts you through a
hoop or two more than needed. You could be bright and fresh to the problem and
get it right for those too encultured in the old ways to see that better is
possible. Having solved the problem for your original employer you could then
put a 'v 2' version of your software out in a specialist marketplace, then
learn how to support and sell a full commercial version of what you originally
built. You can also do this whilst keeping the original normal day job. In
making such a creative solution out of thin air you have got on with the job
and not stood around waiting chicken and egg style for someone to hire you.

Regarding creativity, there is a lot to be said for getting programming gigs
in fiercely competitive creative industries. Here technical talent can be hard
to find, particularly those willing to cross the line of being actually
creative. It is easy to hide in the programming world and to be a 'dunno' with
creative decision making. But if you can straddle the both then there are
plenty of non-technical types wanting to give you work.

------
jlebrech
you're a teenager, so work at mcdonalds (for the money) and do code for free
or work on a project that'll impress someone in an interview.

~~~
greyman
No no, in this time it is possible to normally get part-time programming job
at a company. No need for MCD. (if you know coding of course).

~~~
jlebrech
yeah, possibly the report generation monkey or typo fixer could be a
possibility.

~~~
UK-AL
Lots of teenagers out their who are great at setting and customising wordpress
for small businesses.

------
usmeteora
Question: why the job?

Do you need to make money, or are you looking for a validating project to work
on/experience? If so I have some other ideas but first things first

1\. Make sure you stay focused on grades and definitely do Computer
Science/Computer Systems Engineering one or the other. Find a school that
welcomes the geek like mentality. While I have heard Harvard and such has good
Compsci programs, going to a geekier school might be helpful. For me, going to
an Engineering school where 80% of the majors were engineers was kind of
awesome, it was like everything was a programming club. If you are into that
stuff it's fun. You will get a great education elsewhere, but not the same
sense of community and experience. It's really fun.

So in the midst of everything, dont forget to make going to a good college a
priority. Theres going to be lots of downvotes and explorations of whether
college it worth it or not, but I say its worth it because of my following
theme: the people

2\. Like many have said "oh I did that once at your age and worked for some
mind numbing job somewhere etc"

Don't do that here are some ideas

3\. Do you live in a big city? If so, places like LA, Bay Area and NYC WILL
hire you for projects if you go to the startup scene.

4\. In big cities there are hacker houses, reddit meetup groups etc dedicated
to programmers. Find and do all of those things and begin to meet other people
in your community who program. Going to a hacker house and meeting college
kids doing the same thing as you will give you unprecedented advice, let you
work on projects with them and you may get an internship to one of the
companies they work with.

I dont' want this to sound like political networking stuff, I'm saying that in
this field the quality of your work matters, but so do the people. Real
programmers will be impressed with you and find places for you meeting them in
person you would not be able to find elsehwere.

In San Francisco there are hacker houses dedicated to highschool dropouts
starting companies and the little sister of the 17yr old female Russian now
woman who started Wanelo I think was the one who started it. In big cities you
will find open minded things like this. I would focus on finding communities
like this ALONGSIDE your search but you may find these communities find you
more venues for work/interesting projects for pay/stock options than you
initially anticipated.

I dated a guy who by the time he was a freshman in college had worked for
multiple startups because of his programming abilities. He grew up in Boston,
his dad worked at Oracle and he went to things like MIT startup bootcamp. Sure
he was well connected but also motivated, and in big cities like that you have
access to things like that.

5\. Continue to beef up your github

For you, learn this lesson now, don't sell yourself short, every great aunt,
manager, passerby on the street will want you to code their next unicorn app
for them and say theyll pay you later once they "figure out the profit" stuff
and its no uncommon for people in your position to get caught being overworked
and underpaid on less than stellar ideas.

I would say your best bet is to find projects you like, dive into an area of
expertise, VR, AI, compression, graphics, whatever you like and find people
working on projects like that whether startups, bootcamps, hacker houses, etc
and find those people and work with them and don't settle for working on
anythign that youre not interested in and getting valuable learnign experience
in.

This is why finding other people who can code is important, otherwise youll be
treated as a gruntwork engineer doing data entry or writing someones "app"

6\. Finally,

7\. You can always make your own stuff opensource and host on a website, even
if it doesn't make money. I would say at your age unless you really need the
money to get buy and have to choose between working shifts at a restaurant or
coding, to focus on your knowledge/interests and produce your own projects in
areas you are interested in.

8\. Again, if money is not number one priority, you can also use community
service as a venue. There are probably businesses in your community, clubs or
charities at your school etc who could benefit from some development, and then
you can not have to spend time on extracurriculars at school just to impress a
college, and turn them into real world experience for you.

------
jayhuang
As someone who started very early in his teenage years doing something similar
to provide for his family and pay off family debt, I'd like to think my advice
is at least somewhat relevant.

> software companies are not willing to hire people my age for good reason

First of all, many people have not been through this and are unable to relate.
I'll tell you now, yes, as a teen, it will be incredibly difficult regardless
of your capability, to have buy-in from the wallet holders of these companies.
However, there are ways to mitigate this while not lying:

\- Differentiate yourself from your competition. Sure, everyone can code, sure
everyone can talk and say they can deliver, that they're meticulous and
detailed-oriented. Everyone sounds the same, so how do you sound different?
Think about what's important to the business owner. Truly understand why they
are pursuing a certain project. Most likely, someone didn't just dream up a
project and decide to dump money into it; it's an investment, they want to
gain something from this effort. Speak to their hopes, address their fears,
and demonstrate an understanding of their business. This insight is sorely
lacking in our industry, especially amongst developers who are often too stuck
in the mental map of their software architecture, and miss the bigger picture.

\- Do not draw attention to your age. I don't want to get in your head that
older people, business people have a prejudice against you simply because of
age. But it's there, it's incredibly noticeable, and invites questions. Sure,
most people will not take issue with your age, but subconsciously, all sorts
of questions arrive in their heads. Trust me when I say there is little you
can do to ease most of these concerns, no matter how reputable you are, how
amazing your past work has been, or how mature you seem. The answer is simple:
don't make mention of your age or anything that may indicate you're a
teenager. If possible, avoid phone calls and in-person meets; be sure to
mention early on that email communication is preferred, and that you are more
accessible via email. Over time, if people notice you are more responsive via
email, that's how they will reach out to you.

\- If they're not going to buy, they're not going to buy, learn to accept it.
You will invariably face a lot of rejections, and it may be because of your
age, it may not. Either way, accept it and move on. If someone tries to
lowball you "because you lack experience", "you're too young", you do not need
to beg and chase them to "give you a chance". Don't start off on the wrong
foot, it'll cause more headaches than it's worth.

\- Avoid bidding sites. It's a rat race to the bottom. You're at the whim of
these sites, and whenever they feel like it, they'll increase their cut while
offering you nothing more of value (see: Upwork changing their fees from 10%
to 20%). If you absolutely have/want to, charge your standard rate, don't
lowball just so you can get contracts.

That said, all of this is assuming that you have a lot to offer and are good
at what you do. Focus on your personal growth and learning, try to take
projects that further that mission, and focus on providing value.

Good luck!

------
kapauldo
What languages and platforms do you know?

------
Jimmie_Rustle
The most honest answer is you don't. Unless you are a legit genius-level
developer, in which case you wouldn't be posting this question on here.

~~~
alexashka
This may sound mean but truth of the matter is - a lot of people think they're
way better than they really are.

I wouldn't trust most working developers I've worked with to be able to
deliver me something decent from start to finish, alone.

That's why companies have BAs, managers, testers, etc. Because doing it solo
is a rare feat, unless we're talking gluing a wordpress theme together, in
which case I'd recommend they look into squarespace :)

~~~
ttoinou

       I wouldn't trust most working developers I've worked with to be able to deliver me something decent from start to finish, alone.
    

I have the same feeling for a lot of my CS university peers but yeah like you
implied being on its own is a different situation

------
known
Big companies work like mafia.

