
Ask HN: How does a 16 year old go about getting work on software? - thethinker1032
As a 16 year old, I find it nearly impossible to find work on software that I can do, because of EULA&#x27;s on most freelancing(i.e Upwork) and pay-for-fix sites(Bountysource). I already contribute to open-source software. What other options are available for me to gain experience?
======
cweagans
Just build something - it really doesn't matter what. You have a good window
of time where you have very little requirements in terms of paying rent,
bills, etc., so take advantage of that and just write as much code as you
possibly can.

~~~
jc4p
Bingo. This is exactly what I did. Build a lot of of things, it doesn't have
to be unique, it doesn't have to have a business plan, it just needs to be
something.

Build tools to help automate simple things you do every day. Build tools just
for yourself. That way in a couple years you'll already come to the field with
a huge portfolio, and who knows one of your random projects might actually end
up getting popular and making you something.

I started making personal projects at 15, worked under my mom's name for
freelancing sites while <18 (illegal against their ToS but oh well) and now
I'm leading a team of people at a big company since I have 9 years of
experience and 5 years of experience with my specialized field (Android).

Just build something.

~~~
anon3_
When you did that, was it a website? A service?

Simply having an open source project in itself brings in _no cash_. Can either
of you (or someone else) go into detail on your experience? Links are OK! The
OP (and myself) would love inspiration :)

~~~
xxtjaxx
Had experience in sysops perl scripting for web apps under my belt (wanted
unified dashboard + designer for monitoring metrics visualization
[https://github.com/andrdeas-marschke/nagplot](https://github.com/andrdeas-
marschke/nagplot)) in the process reverse enginieered NRPE from source /
wiretracing and created one of the most if no the most linked articles on the
protocol in the process. Released the code as seperate package (Nagios::NRPE).

Then decided to learn JS and node and started writing a web real user
monitoring system based on
[http://github.com/bluesmoon/boomerang](http://github.com/bluesmoon/boomerang).
While at it submitted PRs to upstream and engaged in the community mostly with
complaints about sftandard stuff missing and modules not being in a good
state.

Now I work in the same company as the guy who created boomerang and lpve every
minute of it.

------
paul_milovanov
Beware of foregoing formal university education just because you are getting
coding gigs.

CS/math fundamentals are golden and make the difference between you being just
another redundant dime-a-dozen ruby coder and a world-class engineer. Not to
mention personal enjoyment of what you do down the line. Take a look at the
Silicon Valley for proof.

Learning all this stuff on your own is possible, but much harder when you're
"working 18 hour days". Harder yet if you eventually have financial
commitments (e.g 14 cases of child support payments, har har).

~~~
tracker1
As someone without a formal education in this path, I mostly agree...

It took almost a decade before I would have considered myself very good... And
in fairness, many of those even with formal education I wouldn't consider
good. Passion accounts for a lot. I didn't start getting really good until I
actually started deeper reading into more conceptual bits of programming, and
some of the hard math still isn't the easiest for me, fortunately a lot of
real world work doesn't need it so much in practice.

In development, with sufficient drive and without formal education, you'll
spend 4-5 years just mastering your tools (the languages you tend to use, your
environment for development and deployment etc)... and another 4-5 years on
deeper understanding of the craft itself... even then you'll be missing on
some of the deeper more low-level understanding.

There's room in this world for both, but if you can get a formal education
without amassing hundreds of thousands in debt, I'd say go for it. Just don't
think you'll be done learning when you graduate (I still spend at least 10-20
hours a week reading on software/tech), and accept that you will have to break
every rule in practice during a career.

~~~
paul_milovanov
I know a really successful, world-class, senior Google engineer who doesn't
have a high-school diploma. He's very smart and incredibly hard-working, a
great mentor and an inspiration to others. He's also probably been lucky.

Could that be you, the OP? Of course.

Could that be the right path for someone who can't stand formal learning
environments and thrives on the challenge of real problems? Sure.

Is it very hard and risky? Yes, in all sorts of ways. You need great mentors
and people that will show you how much you don't know. If you accidentally end
up surrounded by mediocrity, it's very easy to fall prey to Dunning-Kruger
effect. How do you get to work with world-class engineers? It's a catch-22
although not impossible. Universities, on the other hand, are by design a
place with many smart people, and you're not expected to have anything other
than potential to join.

(And yes, absolutely, if you decide that you're done learning after
graduating, good luck with your future hardship. Unless you first learn COBOL,
in which case you might still be able to comfortably ride on it for another 20
years)

------
blueatlas
Look first for local software development shops and contact the CTO, group
manager, or if available, HR about your interests. Consider looking first for
services companies (e.g. web development shops, digital agencies, etc.) as
they typically can use an extra set of hands. LinkedIn should be a good source
of contacts. Explain your background and that you are interested in shadowing
or being an intern. Even though you may be beyond the abilities of an intern,
take it if the opportunity looks interesting and you have an opportunity to
learn and expand your skills.

Be prepared to show your work and have something in a document, or better a
portfolio website, describing your background and that you can send on
request.

If that doesn't produce results, you could try expanding your search to
companies that are not in your area, but it will likely be more difficult.

~~~
jlees
This is good advice. I got my first programming job at 16 working for a local
web agency as a summer internship. I actually responded to an ad - I was lucky
in that they were looking for someone like me. If they aren't, I think there
is a lot of value they could get from you, and your task is to convince them
of that fact :)

I also think that having a strong track record of contributing to open-source
software says a lot more than the kind of job I had; I wish I had discovered
and gotten really involved with a project like Python or Debian back when I
was that age. Instead, I released game mods, which isn't too bad a use of your
time if you find that sort of thing fun.

------
clarky07
You could work on things for yourself. As a 16 yr old presumably living with
your parents there's no risk.

I'd suggest starting with a small mobile iPhone or Android app. Make a little
bit of side money while building a portfolio you can use to your advantage
later.

~~~
thethinker1032
How would you go about finding a concept to build a app around? You don't want
to end up building a so-called "sitcom" app which no one uses.

~~~
NathanKP
Don't worry about success of your idea if your primary focus is gaining
experience. If you get some success as a side effect then that is a nice
bonus, but the more important thing is that you gain experience and practice
which makes you a success later on when you are working on getting a real job.

Personally when I was your age I was creating websites. I made a book search
engine, and a geoip enhanced amazon affiliate ad system for easily adding
affiliate ads to blogs and websites. Both achieved some minor success,
although they eventually got banned by Amazon (the book search engine because
I was scraping Amazon content, and the ad system because it got adopted by a
lot of spammy content farmers because it was a highly effective way to
monetize Google traffic, so Amazon blocked my API access).

So the ultimate success of my ideas was minimal, but the experience I gained
from those two projects got me a great job at a startup that has led me down a
very successful career path so far.

------
microcolonel
I started working full time at a web development consultancy at about that
age, you'll get screwed a bit: you'll likely be brought in at a less-than-
appropriate salary, as I was.

If you're stable and have all the basics; food, shelter, access to electricity
and computer networks; Try to write some software of your own accord, and
attend some meetups. It sucks to be below legal drinking age at a free beer
event, but you'll meet some people you'll like for sure.

Write some open source code if you want to attract people who have technical
ability, write something you think would be useful, and test it with the
market, if you would like to attract business.

Another thing mentioned a bit too pro-university here, was the importance of
culture and theoretical knowledge. You should probably know your O notation
and vacuum up Wikipedia pages on graph theory, discrete maths, or whatever
tickles your fancy. Maybe take a weekend to learn how formal verification
works, and write a proof or two in Isabelle or Coq. Maybe broaden your
horizons to natural language processing, or go into the bowels of the machines
you're programming, figure out how adders work.

By far what has helped me the most to prevent myself from being alienated from
my industry(which is full of theoretically astute graduates), has been a focus
on being cultured and knowing everything they know and more about the topic at
hand.

Do not, under any circumstance, let your elders outknow you, or you will be
defined by your age.

------
Jach
How much are you looking to get paid? If you don't care that much, try putting
an ad on craigslist or see if your high school's CS teacher has any
connections. (Others in the school who might help network you are web dev
teachers, computer networking teachers, and IT.) There may be a solo guy in
the area who's working on his startup (probably funded from his personal
savings and/or from a wife, or the startup might be a side-project while he
works a 9-5 or occasional consulting) and who would find it worthwhile to pay
a bright student $10-$20 per hour to do work. Or they might be a small shop
with multiple people who don't realize they could use a cheap intern until the
cheap intern asks them if they'd consider it. :) If you'd like a shot at more
money, I'd either go the app route others are suggesting, or do your own
freelancing. Ask your dentist, etc. if they need a new or updated website,
that sort of thing. If you want other ideas, observe how people are operating
at their jobs and try to imagine how software could make them more efficient,
and if you think you could write that software talk to the person with the
power to pay you.

------
jtwebman
Find something you want to build and build it. Mobile App idea? Website Idea,
anything really? The more passionate you are about it the better it will be.

If you can't think of anything then maybe try a code camp over the summer.
They cost money but they will definitely teach you how to write code at a
company vs open source and they might even be able to hook you up with a nice
internship once it is over.

If you can't afford that then you could try getting an internship by going to
coding meetups and when people say they are hiring people go ask them if they
are will to bring on an intern. Tell them you learn fast.

You could also use one of your parents to sign up on those sites. If you
wanted you could even just build a site for yourself and marketed it a little
at local meetups. In the end it is up to you to make the effort.

On all the talk about if you should go to formal school or not that is up to
you. It isn't needed but just know you will have to learn a bunch about
software design and different libraries on the job. Formal schooling will
teach you theories and code camps will teach you one way with current
processes. So if you enjoy theories and building compilers than formal
schooling might be perfect for you. If you just want to build cool stuff and
are will to learn as you go then skip the $100,000 price tag and learn as you
go.

Just know whatever you learn at code camp, in school, or even your first job
or internship is not the only way. Programming for a living is learning every
day. There are many correct ways to build a system and Ruby, Python, C#,
Javascript whatever you learn first isn't the only way. Find what you enjoy
and do more of that.

------
quangv
I actually started programming around 16. I built my own social network.

I actually used it as reference for my first programming job at 18-19.

Just build something you're passionate about. At the time I wanted to be like
Steve Jobs/Bill Gates.

Who are your heroes? Any website / apps you want to make? Any games you want
to make?

I suggest you learn a language like Swift or JavaScript and build a webapp,
iphone app or iphone game.

Since you are young, maybe you can program something you and your friends
want?

Good Luck!

------
bozoUser
At 16 if you are contributing to open source you are well ahead of lots of
programmers with jobs so kudos to you. If I were you I would use this to my
advantage by having the git repos etc on my resume + LinkedIn and then start
searching for volunteer orgs. for programming gigs and get noticed there and
take good references and then apply for full time jobs. Good Luck!

~~~
tracker1
On top of that, would take some time to spruce up code after even a year or
so... if you don't have test coverage, add it. If you still use it, take what
you've learned and refactor it.

There's always room to improve what you have out there... On the interviewer
side, plenty of people only have 1-2 things on github that either don't work,
are poorly documented or just plain don't reflect well on them. Do your best
to make what you do put out there the best you can.

I should take my own advise more often.

------
andersthue
As many have said, just build something, put it on the internet, learn about
building homepages that converts well, learn to ask users before building the
next project, charge if you can find a way (donations, paypal, parents)

Then when you get to be legal, you will have a few (or a lot) of side projects
that each will deliver a little trickle of money. Use these as fun money or
even bette channel it into larger and larger projects, hiring others to do the
important stuff you find uninteresting.

Find a mentor, someone wiser than you, let them help you level up faster than
is possible alone.

Join a mastermind group, be accountable to others, learn to ship real stuff.

When you reach legal age, travel to conferences, talk to older more
experienced people, learn how they did and copy what you like.

When you hit 20-25 you can have a steady income high enough to support you.

------
AndyNemmity
I like to mod games I enjoy. I don't even play games, but I mod them. It's
enjoyable, and gives me a lot of experience in technologies and setups that
I'd never have seen without modding.

Also, the joy people get from your work is really high, they are very
supportive, and it's an all around fun experience. The negative is you'll get
used to that, and then when you work on your own, or for a company wonder why
no one is as thrilled :)

------
myg204
Email a professor at a nearby university talking up some interest in his field
and pitch him/her your interest in gaining experience building software,
he/she may have something in store if you're willing to do it for free?

Having said that, the other thing that will help you down the road may be
getting some good theoretical knowledge in related fields (math, cs); as noted
by paul_milovanov in this thread.

Good luck.

------
whalesalad
When I was your age I was doing freelance web development. Keep working on OSS
and start doing some contract work and you'll be golden.

Flash forward a bit... And the summer before my senior year in high school I
interned at a startup in Honolulu. Just keep learning and working hard and
good things will come of it.

------
__xtrimsky
Don't try to get money while you are 16. At least if you don't need it badly.
Build stuff, you'll learn so much more. I am 27 and two kids, getting paid a
lot but I regret the time where I could spend hours on my own project. Now if
I have an hour per week I am happy.

------
cmrx64
When I was 14 I got my first job at a local company. They let me "intern",
with good pay. When I was 16-17 I did remote work for a company I found
through stackoverflow careers. It did take a while to find one that would take
me with my lack of experience, but it happened.

------
ronreiter
Find someone you trust that works somewhere and who can employ you or get you
employed at somewhere you trust, that would be the easiest path for you.

Regardless of that, you should also contribute code to an open-source project
you really like. This will also get you a good resume.

------
grange74
Apart from contributing to well known open source projects or starting your
own, you could also try to write a plugin for some product that has a large
community (e.g. Jenkins) and/or marketplace (Atlassian's one, though not sure
if you have to be 18.)

------
ryanworl
[http://www.reddit.com/r/forhire](http://www.reddit.com/r/forhire)

------
eagsalazar2
Simple, just lie about your age. In any case once you get a few jobs under
your belt it will all be word of mouth anyway.

------
pirosb3
Google summer of code?

~~~
thethinker1032
From the site:

Google Summer of Code is a global program that offers post-secondary student
developers ages 18 and older stipends to write code for various open source
software projects.

~~~
akulbe
How about... [http://en.wikipedia.org/wiki/Google_Code-
in](http://en.wikipedia.org/wiki/Google_Code-in) ?

------
a3voices
Build any project from scratch to completion. Then you will actually have a
pretty solid resume.

------
anon3_
Also regarding Bountysource (laughably low bounties) and Upwork, for that
matter Elance, odesk - all of those are races to the bottom.

Go to local tech meetups, give a presentation on something and say HEY by the
way.. I'm looking for work! Someone is bound to take you under their wing.

