
Ask HN: What is the best way to spend my time as a 17-year-old who can code? - jmeyer2k
I&#x27;m 17 and I can code at a relatively high level. I&#x27;m not really sure what I should be doing. I would like to make some money, but is it more useful to me to contribute to open-source software to add to my portfolio or to find people who will hire me? Even most internships require you to be enrolled as a CS major at a college. I&#x27;ve also tried things like Upwork, but generally people aren&#x27;t willing to hire a 17-year-old and the pay is very bad. Thanks for any advice!<p>My GitHub is: https:&#x2F;&#x2F;github.com&#x2F;meyer9
======
bittermang
I was 17 once. I could code once.

What's the best way to spend your time? Basking in the sun. Finding a scam to
score some schnapps or beer or weed. Telling somebody you love them, and just
going for it. Recklessly driving a car at a high rate of speed down an old
country road. Learn how to play a bass guitar. Spend your waning hours getting
your hands dirty while there's still time, and before the world judges you too
harshly for wanting to live in it.

And if you've done all that, and you're bored with it, maybe it's just not for
you, or whatever. Then work on projects that interest you. I spent a lot of
time perfecting photo galleries, and was able to stretch that in to a modest
career and a house that went in to foreclosure. Linux could use a lot of
things still: there isn't one good kick ass music player to rule them all like
iTunes on the Mac. There just isn't anything for organizing photos like
iPhoto. There's gaps in the Linux user experience that need filled with good
competent software that isn't a maze of checkboxes and sad UI/UX. And if Linux
isn't your bag, well, fucking learn some of that then. When I'm not a
programmer, I'm a Linux server administrator, because when one don't pay the
bills, the other one will.

But my stone cold honest advice: Live. Live well.

~~~
Benjamin_Dobell
I hate the notion that once you become an adult it's too late to enjoy
yourself. Everything you suggested he do can also be done as an adult. Quite
frankly, some people just aren't interested in doing stupid typical teenage
stuff.

I could code at 17, but I focused on school until I graduated. Then I got a
job doing freelance game development when I was 18. Paid better than stacking
shelves at the local grocery store and I was learning.

I don't do game development now, I'm in my late 20s and run my own software
development business. But I don't drink (never have), never drove a car like
an idiot (I even have a motorcycle license and never rode a bike like an
idiot). I went to Amsterdam and tried weed, as an adult, good luck doing it
when you're 17.

I'm married, have hobbies, play sports, play guitar, whatever. But those are
my personal interests, and my personal choices, everyone is different. Clearly
the OP came to Hacker News asking for programming career advice, not advice on
how to live his life.

So my advice is, find something programming related that you're interested in.
Teach yourself, post some stuff to Github and then find some work in that area
once you've got proof you can do it. Manage your expectations, don't expect to
be paid well, expect resistance from ageist co-workers, but also respect them
because there's always room to learn.

~~~
jedrek
The time and energy cost of being social rises massively as you grow older.
It's hard to make close friends in your 30s, very hard in your 40s and older.

Those early friendships and social contacts are extremely useful in later
adulthood. Be it support, advice, whatever. They're also a great gateway into
meeting more people in an unguarded setting, like a dinner party. It's easy to
make friends when you have friends, it's much harder when you don't know
anybody.

The greatest advantages of being a teenager are the free time, possibilities,
and lack of responsibility. There are hobbies I had in my youth that I
literally could not pull off with a wife and child. I don't care how
understanding and loving my wife is, me deciding I'm going to take off for two
weeks to hitchhike across Europe by leaving a short note is not going to fly.

Sports, guitar, motorcycles... they're not teen hobbies, they're shit adults
to do feel like we're still alive. To feel the way teens feel lying in the
grass on a warm day and not giving a damn.

~~~
bittermang
This guy gets it.

~~~
imdsm
> they're shit adults to do feel like we're still alive

Perhaps the problem here is that there are two groups of people, those who
feel like they're aren't alive and do things to try and feel like they are,
and those who don't need to lie to themselves to feel better.

I understand what you're saying in your post above, but I think it's wrong,
personally. I know many people now who followed that route and their lives
suck now because they didn't invest in themselves early on.

Sure, you have some cool memories, I have some cool memories too, but when I
sit here, with my one-year old son asleep upstairs, my dinner cooking away in
the oven, it's not the past that my mind is drawn to, it's the future. I think
about what the next year will hold, what the next five years will hold, and
what we'll do in a decade. I don't sit here thinking back to the summer days I
spent out underage drinking with friends, those memories are slowly
disappearing one by one as I live my life, but I do remember the time I spent
working on projects, exciting work, responsibility free work, starting my own
business at 18 was better than drinking in the sun and waking up feeling like
death still dressed in a corner of a mates kitchen.

You can spend your teenage years living it to the max, and when you come to
the end of the line, you can derail and find yourself stuck in the shit, or,
you can start to invest in yourself early on, while you don't have a wife &
child, while you don't have meetings to attend, clients to keep happy, and
bills to pay. While your brain is still fertile and you pick things up at
twice the rate you will in your 20s and 30s.

"Have fun" is exactly the advice we should be giving OP, but telling him what
fun is, that's not how it works.

So OP, have fun, in whatever you choose to do. Don't stop enjoying life, for
in every circumstance, there are things that can bring you joy.

Programming wise, practise. Practise practise practise.

Start a project. Make a game. Commit every day for a year. Interact with other
developers in a field you enjoy. And don't be afraid to fail.

~~~
jedrek
I did crazy stuff in my youth, I wrote code, I did nothing. I worked, I
played, I wandered. I don't look back, I even lost the box of press clippings
I had. I sometimes run into people from my previous interests and it's weird,
because they remember me and I don't remember them.

Twenty years later, I don't really remember the parties, I don't recall the
code, or the late nights out... but I still cherish the friendships I made. I
can trace 90% of my career to people I met, who introduced me to others, who
introduced me to others. You can't make those connections at 40 or 50, you can
always learn another language then. The world is full of coders who have
horrible jobs, because they are poor at interpersonal relations. They're a
skill like any other, and 17 is a perfect age to work on them.

~~~
shubhamjain
The road not taken, eh? [1] People tend to overthink the importance of the
decisions they made at the some point in their life. While true that you may
have made some excellent friends during teenage years and got to jump-start
you career but it needn't imply that you would grinding in a low-level
corporate job if that wouldn't have happened.

I had to endure few shitty jobs because of lack of connections but that got
fixed when I eventually did make good ones. And that happened without any
deliberate effort. I can't comment on the importance of working on inter-
personal skills but in my experience, being stressful about it doesn't help.

[1]:
[https://en.wikipedia.org/wiki/The_Road_Not_Taken](https://en.wikipedia.org/wiki/The_Road_Not_Taken)

------
wai1234
With pay comes expectations and that can be ugly. You have the rest of your
life to get paid.

The first question is: how do you know you can code at a 'relatively high
level'? Don't be surprised to learn that you still have a lot to learn
(actually, there is always more to learn, get used to it) For example, from
the small amount of code on the github, I see no documentation or tests. Also
javascript and python are fine, but they are only a beginning. The best
education you can get, before you go to college(!), would be to join an open
source project and try to contribute. The feedback you get may be brutal, so
choose a project you can care about and that is well structured for newbies
(look for projects that include specific provisions for new contributors like
a 'graded' bug list that have a category for easy fixes waiting to be done).
Start looking at the code so you develop the skill of reading and
understanding OTHER peoples' code and then fix a few bugs and submit them for
review. You will learn more in a month this way than you will in a year on
your own.

Coding is very different as soon as you start working with other people,
whether they are other developers, customers, bosses, etc. The best way to
learn those other skills is before there is money involved.

If you really want to take on projects, look for volunteer organizations in
your area that might want help with their websites. They often have at least
small budgets and might be able to pay you something for that help. Even your
high school IT department might need some help. Ask! Does your high school get
any sponsorship from area companies for things like tech or robots? Contact
those companies and see if they have any needs.

Good luck!

~~~
hangtwenty
Following on this --

OP, some helpful resources for your first PR(s):

[https://github.com/MunGell/awesome-for-
beginners](https://github.com/MunGell/awesome-for-beginners)

[https://yourfirstpr.github.io/](https://yourfirstpr.github.io/)

------
0x4f3759df
1) Get into fitness and nutrition, to maintain a high energy level as your
metabolism slows down. Also don't smoke.

2) Learn another language

3) The normal pipeline is HS-> College -> Entry level corporate job -> change
jobs -> slightly better corporate job -> change job -> ... -> senior
programmer in a corporate setting.... I'm at the end of this pipeline, and it
pays the bills but its not that great...

How to get out of the pipeline? Make money in a non-standard way: start a tiny
business, make money in the stock market, or day trade crypto, or sell
t-shirts, or make an iPhone app, or start a newsletter, anything... apply your
mind to making money in a different way, because the alternative is the a
boring corporate pipeline. Most successful entrepreneurs start their first
business around your age, which usually doesn't succeed but they learn the
skills to make a better business the next time around... and keep leveling up.

4) Also if you are going to go to college, learn from my mistake... I went to
college in Madison, WI, but its a transitory school (few people stay in
Madison after college), so my network of people all moved away... If you know
you want to work in NYC, then go to college in NYC because when you graduate
you can leverage all those connections because they will probably still be in
town and not all move away.

5) If you are in the US and going to take SAT/ACT study / or take a prep class
and plan on acing the things. High score can result in entrance to the best
school and/or tremendous savings in terms of scholarships

~~~
CydeWeys
I want to stick up for the "normal pipeline" of going to university for
Computer Science. It should really be the default choice of anyone who wants
to get into programming. Granted, I know plenty of other people who are
programmers now who didn't do CS, but they almost all still did university,
and they regret not having done CS in hindsight because it would have been
more applicable to what they ended up doing. Spending four years doing CS
really does help you a lot when it comes to solving tricky problems (and on
Big 4-style coding interviews). It's hard to be disciplined enough to do all
of that book-learning on your own.

Also, at 17, you're likely to think you are way better at programming than you
actually are. A high quality CS program will quickly disabuse you of that
notion, thus allowing you to get better.

And like many others have said, of course, still have fun along the way.

~~~
tjr
_Also, at 17, you 're likely to think you are way better at programming than
you actually are. A high quality CS program will quickly disabuse you of that
notion, thus allowing you to get better._

At 17, I thought I was a brilliant programmer.

Twenty years later, I think I'm finally pretty competent, and I realize how
embarrassingly little 17-year-old me actually knew.

------
uoaei
You've already received good information at the coding part, so let's talk
about the 17-year-old part.

Do sports! One that doesn't involve hitting your head on stuff. Read some of
the philosophy greats. Appreciate art at museums. Go to social events like
school ski trips, meet friends and ladies (or guys if that's your thing). Make
a couple minor bad decisions so you know how to handle the consequences. Go to
concerts. Show your parents gratitude if they've done a lot for you (protip:
they have). Don't take these years for granted.

You can be a successful coder and still have time for these things. Don't
railroad yourself into workaholism, maintain a healthy balance. It'll do you
good!

------
newshorts
Honestly, you have plenty of time for a career. Almost every old person you
meet will tell you to live your life while you’re young.

My fiancé and I were ski bums and travelers through most of our 20’s. We are
“behind” now, most of our friends have houses and kids (we are currently in
our mid 30’s).

However, we’ve had experiences that you just can’t have when you’re older.
Youth hostels and college bars become a bit uncomfortable as you get older.
Hangovers get worse with age. You lose the energy later to party til 6 in the
morning and trust me, you want to know that you’ve “been there done that”
rather than always wonder if you would have liked it.

Play sports too. Team sports. It will be a way to meet people (outside of
work) if you ever find yourself moving for a job. Sports also get harder as
you age. You end up with more injuries and take longer to heal. Easier to
learn when you’re young and made of rubber.

Finally, don’t get caught up in financials if you are thinking about a family.
Do that while you’re still young (maybe mid to late 20s?). It becomes harder
and harder to have kids as you get older.

If you’re introverted like I am, you’ll be happy that you forced yourself to
get out of your comfort zone.

I’m not saying don’t code. I’m just saying strike a balance that works for
you. That job title may not be as gratifying as you think.

------
dawnerd
What I did at your age: find local companies that need small gigs. Forget
about trying to use those gig sites, you’re just competing with countries with
super low wages - not worth your time. Get some experience under your belt
then get a salary job somewhere, pay won’t be great at the start but you’ll
learn a lot real fast.

You can study a ton and learn all the algorithms in the world but you have a
lot easier time learning on the job in a position where you wouldn’t need
them. If you’re still in high school ask if they have any local business
connections that might need your assistance. I did mostly websites but I also
never turned down general it help for people that had a computer that didn’t
work right. I also did real invoicing and tried to treat it as a business.

~~~
thomastjeffery
> Forget about trying to use those gig sites

How would you recommend finding them then?

~~~
dawnerd
Like I said, talk to local companies or in ops case his school. People love
hiring students especially at that age. Can’t be afraid to just talk to
people.

------
mattbgates
I'd recommend this:

When I was younger, I used to think: "Wow, I want to create the next
Facebook." I was envious. Thinking like that set me back and I was just trying
to create a "mimic" of Facebook. "Everyone is going to use my product because
it will be so much better." False.

It's not that you can't build something better, but don't try to be the next
Facebook or the next Google or the next Twitter or the next... anything. They
are huge and established. To try and "break the public" out of using these is
almost impossible.

Create something different. Start on small projects so you can learn. Just
start creating small useful apps that you and your friends and family can use.
Practice and get good at what you do.

Just a few examples of some projects that I've worked on in the past that are
now live and in the wild... [https://mypost.io](https://mypost.io) and
[https://scamshare.com](https://scamshare.com)

I've got at least a half dozen more projects in the works. It seems with each
product I release, I'm learning and it is often well received. Unpredictably,
MyPost.io became very popular in Russia. ScamShare received 21,000 visitors in
about 2 weeks. I mean.. nothing to brag about, but its just getting used to
some exposure and seeing what things I can create that people can use and
enjoy.

My next few apps that are being released will be subscription-based.

Anyways, get comfortable with creating stuff and learning about what people
like. Learn how to develop your own personality and style of your UI.

Eventually, there are two ways you can go:

1) Work for someone. 2) Work for yourself and your clients.

I'd suggest after you graduate, go work for someone for a few years. Learn how
business work. See that world for a while. Then if you get tired of it, start
thinking about going into business for yourself.

~~~
JBlue42
To branch off of this, you're also 17 and have a better idea of what your
cohort is doing or interested in than all the marketers in the world (who try
and sell / create things for you). Solve problems you're interested in or come
across that maybe your friends bitch about. If you're ever in conversation
with your peers and you hear someone says "Man, I wish x could do y" then
actually listen and think about it and whether it could be a fun and useful
project.

Also, don't forget to be young and get out there in the world. You'll have
your whole life to spend behind a computer screen and being part of the world
gives you a greater understanding of the roles your skills can play in it.

------
gilbetron
Find some open source project(s) that you are interested in and has a friendly
community. Get into developing for that and learning how you actually not that
great of a programmer ;) Get better, immerse yourself. Go to college in the
next year or two, that's important.

But also keep a balance and do things you can't do when you are in your 30s.
Get physically active in some fun sports, learn how to compete and make
friends. Date, a lot, and learn how to have conversations, flirt, and just
hang out.

Make mistakes, they are cheaper to correct at your age.

The best thing, as a young person that likes to program, is that you can
feasibly code and travel around. So do that. If you are intimidated, start
small and just drive to different cafes in your city, or go to different
cities. Then find a way to move to another city, even for a few weeks. Tourism
is boring, but living other places is awesome. Then think about going to a
different country, see the world, but also develop yourself professionally.

Ignore those that tell you to dope up and tune out, that's an absolutely
shitty way to spend your young years.

~~~
wai1234
"Make mistakes, they are cheaper to correct at your age."

No, no they're not. The "be stupid early" plan is a major fail IRL. The idea
that society will forgive you for it is proven wrong every day. When employers
look for anything to disqualify you, that old FB post with you being stupid is
made to order, or the arrest for DUI, or any of those early mistakes, are very
handy. It's actually much harder to overcome early stupidity than it ever was
in the past because the internet remembers.

The math of compound interest applies to a lot of things beyond your bank
account. The earlier you learn the basics of something, the earlier you start
doing a hobby, the earlier you start collecting RL 'achievement earned'
points, the faster they will grow in later years. I would argue that THAT is
the way to invest the freedom of youth. Try a hobby or learn something to see
if you like it. THAT's ideal to do when you can easily move on to something
else while those choices are entirely up to you. You will move on to college
and a career with much more confidence that the path you are on is one you
really want. YOLO is true. Why would you want to waste any of it?

I also want to call BS on the 'life ends at 30' advice here. You really think
traveling is best when you have no money or skills? BS. You think no one >30
is physically active? More BS.

~~~
gilbetron
You misinterpret neither everything I said.

The "make mistakes" isn't, "do drugs and get STDs and fuck up your life!", it
is "try things that you might not like" or "date two women at once" or any
variety of "mistakes" that people are afraid of doing at that age.

Also, life doesn't end at 30, quite the opposite. I love being my age (well
over 30!) and am very physically active. But traveling is a hell of a lot
easier when young, because you don't have kids and bills and pets and all the
other things that are great later in life (well, not the bills, but the things
you get for paying those bills), but make floating around difficult.

And there's no way to compare the physicality of someone in their 20s with
someone in their 40s. If you think so, you were not physically active in a
significant way in one of those two ages brackets. I could play soccer for
hours in my 20s, but I had to finally give it up at 45 because it's just too
hard on the body.

~~~
wai1234
I don't think I misinterpreted, "do things you can't do when you are in your
30s". That's a categorical statement and wrong. Yes, a 30something (40, 50,
...) is not a 20something, some plus, some minus, but nothing zero simply due
to age.

I also don't think "make mistakes" and "try new things" are equivalent.
Especially in the context of the lovely set of 'mistakes' advised in quite a
few other posts in the thread.

Based on your followup, what you meant, is, unfortunately, not what you
actually wrote. Nuance is important.

------
jason_slack
To be 17 again! My teens were a blast. I have a 486 and a PowerPC 6100. I
worked a whole Summer to buy Metrowerks Codewarrior for $700 not realizing
there was an education discount for $99. :-(

I was into C++ and C. I didn't rely on any toolkits. I wrote my own GUI
(Windows, buttons, Sprites, event handling, renderer, physics and threading
(although threading was a complete failure). I tried to re-create the Legend
Of Zelda with just my own tools.

I still have all of this code from back then even. I should dust it off.

My advice: really learn your language, exploit it, learn another one. Try to
write the same project in 2 different languages. Don't settle for what the OS
has to offer. Try and create your own classes of functionality. Eat good, get
outside, enjoy your friends and get ready for college.

~~~
mwcampbell
> Don't settle for what the OS has to offer.

But probably do when you start actually writing real applications that people
are going to use, that aren't just games or toys. Don't be that hotshot
developer that creates yet another GUI toolkit ignoring accessibility (for
screen readers and the like).

~~~
jason_slack
Good point. Real world, mission critical use what is tried and true.

------
hesdeadjim
If it’s within your ability to financially, I would absolutely recommend
college. Make sure and attend a top 20 CS university if possible. Like other
posters recommend, take advantage of both learning and social opportunities.

I would also highly recommend you avoid listening to bullshit life advice
encouraging you to “live” by being crazy, partying, traveling, learning
instruments, or anything else that seems like it belongs in a shitty coming of
age movie. I have been at my happiest when I am doing what _I_ love (coding
and creating). I have also found that putting effort into quality
relationships has been worth the effort.

------
simonsarris
You gain nothing from being shy.

Video games that are not in some sense a social bonding with your friends may
amount to very little. To take the context out of video games, I know one
person who spent countless hours on pool (billiards) and regrets it, and
another who spent his whole 20's upgrading cars and more or less regrets it
(as it robbed him of enormous amounts of time that he could have spent with
family/friends and also a bottomless money-pit).

Don't feel like you have to be hanging out in beaches/bars/clubs to have a
good time. Some people really like being in forests, chopping wood, taking
care of chickens, making food, etc.

Use social media like Facebook only as a means of keeping in touch (think of
it as a system of open letters) and for finding your people (the people who
care deeply about the things you care about).

Answer enough questions on stackoverflow and you'll get job/book offers.

You gain nothing from being shy. Really. Talk to everyone around you.

------
sigi45
You are 17. The chance that you can code is high, that you can code with
quality and without super vision is low.

Whatever you do, go to a somehow bigger company, make an internship and work
besides school or whatever you do with 17.

I was in your age, i thought i'm really good, i was not bad and a quick
learner but still had to learn a lot. And yes i wrote code in c++, Java,
Javascript and PHP at that age and there is still a good way to go for you.

------
jedrek
Generally, I agree with bittermang: don't waste your youth on github. Live
your youth, it's not "the greatest time of your life" like some people say,
but it is a singularly unique time of socially accepted irresponsibility. Work
on your social skills, they will pay off down the road a lot more than
learning C. Learn to listen, to be kind, work on your empathy.

Now, if you must spend your time coding, don't do Upwork, don't do freelance.
Instead, solve problems for people who don't realize they had problems to
solve. Talk to your friends, parents, grandparents, find out what bugs them in
their day to day life. Observe what they do and think of how they could
optimize it.

Help them by creating tools to solve their problems. That's what programming
is - telling computers how to help us solve problems. To code isn't the goal,
the solution is. If you figure that out, figure out some skills in that area,
you're ahead of 95% of the people coming out of CS schools who still think the
point of their 4 years degree is to optimize a sort routine.

------
keiferski
Honestly, go to college. Your worldview will be changed, in a good way. The
number of "unknown unknowns" will be dramatically decreased.

That said: Don't go into serious debt to do it, and try to get into the best
school you can. Perhaps even consider going abroad (Germany has many programs
in English, for example.) Approach it as a learning experience, not as a
credential.

------
YaxelPerez
I was in exactly your situation 3 months ago. I'm also 17 and can code okay-
ish

I threw my resume out there and eventually landed a paid internship. I
realized that I don't want to code for other people. The cool part about
coding for me was that I could make anything _I_ wanted, but when you're
working you're stuck implementing someone else's vision.

My advice is to hire yourself. Start selling apps or whatever, but don't sweat
it too much. You're at the age where you're allowed to do stupid shit and get
away with it, so just enjoy it while you can.

~~~
epicide
General advice:

\- Writing code that works is only the first step.

\- Writing code that works and is written in such a way that other people can
understand it and maintain it takes a lot longer.

\- Treat "yourself in 6 months" as another person because you WILL NOT
remember why you wrote it the way you did. This goes way beyond just writing
good comments and documentation.

\- Coding for your self is how you get hooked. Coding for other people is how
you get booked (paid). These are NOT mutually exclusive and there is a
delicate balance.

On the subject of getting hired:

\- Writing code that works is the bare minimum. It will make you hire-able but
it won't get you hired. At least 50% of the other people applying for the job
can probably code better than you.

\- There is ALWAYS somebody better than you and that's okay :)

\- I'd much rather have someone whose code isn't as good but is better in a
team. Again, there is a balance.

\- Good interviewers will look for people who can work in a team. Frankly,
this only comes from experience working with other people. Contributing to OSS
is a great way to show you can work with others' code.

------
ThrustVectoring
>Even most internships require you to be enrolled as a CS major at a college.

So, kind-of-open secret about requirements listed in job descriptions: they're
bullshit. Not meeting them is an excuse for folks to throw away resumes if
they need to, but with the job market like it is, they often don't need to.

If you can code, it just means that your response rate is something like 2%
instead of 4% or whatever. If you want a programming job and you're okay with
the least-effort option of web dev, slap together a web app of some sort in a
week or two, put it on github, and send out a hundred resumes or so. I'd be
astounded if you didn't get at least a couple of phone calls.

Worst case you're out some time. A decent backup option is to attend the best
CS school you can get into for as little time as it takes to get an
internship/coop/cofounder and then drop out.

------
github-cat
Get experience by doing some side projects you are interested in and work on
some real stuff. Learn while solving problems will be the fastest. Of course
this relies on that you already have some knowledge on coding and have a
relative good grasp of different aspects of software development.

Also, read tech news to get the latest technology trend and what's hot in the
area*Can read from [http://www.pxlet.com](http://www.pxlet.com)). At this age,
gain experience and build a strong foundation is the most important thing.

Then involve in open source projects by starting to read their source code and
use them and submit patches and then you can get sense on how frameworks are
developed and maintained.

Once you get the experience, it should be easy for you to get an ideal job.
Don't rush before you get ready.

------
zengid
The best thing you can do , IMO, is to spend a large portion of your time
getting better at what you are already good at. Practice every day, whether
its writing code or skateboarding or whatever it is that is your _craft_.
Become aware of your weaknesses, but don't spend too much time improving them,
just enough to know when they might become vulnerabilities. That will allow
you to avoid situations where they may affect you negatively.

You're going to have to scrape by for a bit to earn the right to a good job,
so be humble and try to work you way up from something that may seem below
your talents. If your quality of work shows that you are competent and hard-
working, doors will eventually open up for you. Don't ever act entitled;
always turn the other cheek. Be consistent and persistent. Good luck!

------
OJFord
> is it more useful to me to contribute to open-source software to add to my
> portfolio or to find people who will hire me?

Vastly more beneficial to you to contribute to OSS in my view. Nobody will
really care how old you are (they'll only know if you tell them, or make it
obvious in your profile) - you'll be judged only on your contribution.

The experience, both for yourself and your CV, will be worth far more than
some menial task set by whoever hires you. Bear in mind that anybody who does,
short of some sort of family/friend connection, either can't get or can't
afford an undergraduate intern.

------
avip
How about playing ice hockey, going to the beach or dating?

~~~
kleiba
By far the best advice here.

------
imron
> I'm 17 and I can code at a relatively high level.

I thought that when I was 17, and I was proven laughably wrong when I started
university and learnt how to program properly.

Then once again I thought I was pretty good at programming and went in to
industry - and once again I found my skills were nowhere near as good as I
thought them to be.

My advice is to put aside notions that you are good and always be looking to
improve and learn.

> but generally people aren't willing to hire a 17-year-old

Who needs to know that you're 17? If you have a good enough portfolio it will
speak for itself.

~~~
imdsm
Finally, someone with actual good advice.

_This_ guy gets it.

------
Const-me
I’ve got my first programmer job a couple weeks after I turned 18.

IMO before you have years of work experience, on a job, you’ll learn useful
stuff much faster that you’re able to do by yourself or by participating in
open source projects.

One reason is motivation: salary, boss, peer pressure.

Another reason, as an inexperienced programmer, on your first jobs you’ll be
surrounded by people with much more experienced then you have. For me, the
equation has changed after a ~decade in the profession. Before I got that
experience however, I was lucky to work with very nice people much smarter
than I was. I have learned a lot from them, probably more than a half of what
I know to do now.

Select these first employers carefully. Don’t focus on salary. You don’t want
to work in a large company where the software is not the core business. Prefer
small to medium companies (not necessarily startups, 10-50 people are still
OK). Prefer companies where the software (or hardware running that) is their
core business. Prefer companies who do some R&D, not just coding. Prefer
companies who do what you’d like to do.

Don’t afraid to switch jobs. Especially switch into different
fields/platforms/languages.

Good luck.

P.S. I’m much older then you are, and I’m well outside US. Because of that,
take my advice with a grain of salt: I’m not sure how well that applies to
your environment. But for me I think it worked more or less OK.

------
patrics123
If I had to give advice to my 17yo self it would be this:

\- ditch "gaming" as a hobby. Its a lot of fun but you'll regret most of the
time you spent later on. Go create more stuff instead...

\- think about the "business side" of software too, not just the technical
part. There are more ways to make money than you know / can think of! (I was
surrounded with loads of crappy share- and freeware tools where people were
still making a living of. I did not realize this and skipped a lot of
opportunities.)

\- stop "coding" in VisualBasic ;-) try other languages (However, if you just
want to quickly get something live, use what you know best already)

\- Keep your eyes open for new emerging platforms and technology which pop up
every century or so... and get onboard early on to understand the dynamics,
play around, try your ideas. You'll have a first mover advantage for ~1-2
years and can get away with almost any not-too-perfect-solution because there
is nothing else solving it right now. (Think the Internet, think cheap web
hosting, think online gaming, think iPhone / AppStore & Smartphones in
general, then Android, then xxx, ...

\- Whatever projects you start. Make a commitment to yourself to launch them
all. At least a version 0.0.0.1 .. ´. Nothing wrong with a crappy and dead
tool or website which is not supported since years - but everything wrong with
a private repository and an un-launched 99% ready software/webstie where you
spent countless of your life-hours on! Launch everything!

\- Oh yes, and just try ALL your crazy ideas too. You have nothing to loose.
Just do them!

~~~
imdsm
As an aside, VB contractors make a _WEDGE_ in the UK. While I wouldn't suggest
it being your sole language, if you want money, it may be something to keep
relevant. That being said, I haven't used it since 2004.

------
crypticlizard
What you got going for you right now is assets and momentum. You got a place
to live, you got a brain that still works, and if you play your cards right,
you'll be living phat. So what you want to do, travel to Alpha Centauri? Or
make a million dollars? Or invent machine based intelligence? Or fall in love
and have kids and have a normal life? Or dream about the day that machines
take over and humans are obsolete? Or try to invent a way to contact aliens?
I'm just trying to point out that you can do the mundane and banal things that
everybody can relate to, or you can do things that seem astronomically
impossible. It's your life, it's up to you and your limited cranium size and
capacity. You can chase fairy tales or dollar bills. I don't recommend both.
The truth, life is really ducking short and your gonna make mistakes. Pretty
soon you'll be thirty and you've already made ninety percent of your life
choices, and then you're just steering the ship. Right now you're just trying
to leave port and pick a good direction to sail. Don't forget what you are:
limited. You gotta pick.

------
nostrademons
I'd try to get an internship if you can. You learn a lot working with other
people and having a team depend upon your work. Plus it looks great on college
applications.

The challenge is that (at least in the U.S), you can't consent to contracts
until you're 18. This is legally problematic for most organizations;
corporations rely on contracts for things like confidentially agreements,
intellectual property, payment of wages, etc, and having someone who hasn't
signed these contracts working on this can muck things up. You might be able
to find small organizations that just don't care, or large organizations that
can silo you off and have you work on some throwaway projects, though. When I
was your age it was the thick of the dot-com boom and there were a bunch of
small local businesses or community newspapers that needed websites done. It's
a different time now, but that same customer base might be similarly willing
to have a teenager do some work for them.

~~~
smichel17
> The challenge is that (at least in the U.S), you can't consent to contracts
> until you're 18.

This is not quite true. You can enter into a contract at any age. However, if
you are under 18, the contract is voidable by you (voiding a contract ->
neither party is bound by it any longer). It is not voidable by the other
party.

So it's not that you _can 't_ enter into a contract, it's that this is _risky_
for the business, because you are not bound to honor it.

Source: I took a business law course in the spring. Obligatory: I am not a
lawyer and this is not legal advice.

------
pizlonator
You should spend your time coding. That’s what I did. People told me not to,
but I did it anyway. I got shit grades at school but I got a lot better at
coding. In the end, grades didn’t mean shit but the fact I had a lot more
practice at coding than everyone else (while they did homework I did coding)
had a lot to do with what job I was able to get.

Don’t worry about getting a coding job yet. You should build your own personal
projects as much as possible while you are still unhireable for reasons you
don’t control (age). Doing your own projects will help you learn how to
structure large things. See how big of a program you can get to before the
code starts to feel like shit. The more you practice, the better you’ll get at
structuring code in a way that allows you to grow it _a lot_. This is a skill
you can practice, and you should do that now to maximize your competitive
advantage once you can work.

------
delbel
find the highest paid workers on upwork, find out their stack or specialty,
learn that, bid on work like that for relatively cheap, do an good job plus
throw in extra effort. be resourceful. get five 5 stars, up your rate. Use
that as a resume in 18 months for a 120k+ job with benefits. live as cheap as
possible with no debt and invest as an entrepreneur, and only use debt as an
investment strategy, take and know your risks. live every moment and strive to
be the best at whatever it is you do.

------
westurner
Pick a #GlobalGoal or three that you find interesting and want to help solve.

Apply Computational Thinking to solving a given problem. Break it down into
completeable tasks.

You can work on multiple canvasses at once: sometimes it's helpful to let
things simmer on the back burner while you're taking care of business. Just
don't spread yourself too thin: everyone deserves your time.

Remember ERG theory (and Maslow's Hierarchy). Health and food and shelter are
obviously important.

Keep lists of good ideas. Notecards, git, a nice fresh blank sheet of paper
for the #someday folder. What to call it isn't important yet. "Thing1" and
"Thing2".

You can spend time developing a portfolio, building up your skills, and
continuing education. You can also solve a problem now.

You don't need a co-founder at first. You do need to plan to be part of a
team: other people are good at other things; and that's the part they most
enjoy doing.

------
didip
The beauty of being young is that you can actually do everything the
commenters said barring external limitations such as money.

I lean towards comments suggesting to think about college and continue honing
programming skills.

When you are young, you haven’t seen what’s out there yet. College is the
stepping stone towards that. If you don’t know what’s out there, how can you
know how to build something that’s useful?

Also, practicing programming doesn’t have to be boring. In my teen:

* I wrote fortune telling CLI app to impress girls.

* Hacked infinite money on my SimCity and Dune 2 save games using hexadecimal editor.

* Pranking a friend by asking him to download an agent that control his cd rom tray (for haloween purpose)

* Wrote a bunch of excel functions for soccer gambling.

So I guess, long story short, life should be fun, but that doesn’t stop you
from being a kick ass in programming.

Don’t worry too much about CV or portfolio. If you are good, you will have
plenty of time doing that already in college.

------
danielschonfeld
If I could go back and have the agility of mind that I had when I was 17, I'd
get my head wrapped around system internals and how to find vulnerabilities.

It's something I understand as an adult coder, but it's not my normal way of
thinking and I think that kind of a switch changes you.

------
watwut
1.) You can do open source or own project for portfolio, it does not matter.
However, finding oss that don't ignore pull requests and has beginner suitable
bugs is hard. You risk spending a lot of time on just looking for the place.

2.) If you do own project, do something small. It is enough to learn
technology and ability to come up with vision is different skill then coding.
Technical demos or community challenges are fine for portfolio.

2.) The best way to find first job is through people you know. Yes, it is
unfair, yes it requires social skills, but it is what it is. Go to meetups in
your area even if they are about technology you don't care about. Talk with
people and mostly listen to what they say. Something may get out of it.

------
coding-saints
Getting a degree is highly recommended IF you have no clue what you want to
do. If you want to program, then program... intern, take on freelance projects
for non profits to build a portfolio. Do NOT spend 100k on an education that
may not have the most "modern" concepts of software engineering put into their
professors. Best advice is to have fun! No matter what, enjoy your life... you
only get one. And make sure you are always challenging yourself when you code.
Try to use your own imagination to create an app, allowing problems to arise
so you can learn how to fix them. If it's too easy, you'll know. And good
luck!

------
andrewcchen
I'm also a 17 year old. I always say just have fun. So really, just do
whatever you want and whatever makes you happy. Unless money is a big concern
for you, you shouldn't go work in paying job. It's much less stressful when
you are just messing around, instead of meeting someone else's deadline.

Also some of the comments here suggest socializing. Personally I'm not a very
social person, when I get home from school I really just want to be left
alone. I just want to say that if socializing is your thing, then go for it,
but if it's not, don't feel that you are being pressured into it.

------
DanBC
1) have fun doing what you want

2a) build up a portfolio of programming stuff to show you can program

2b) that portfolio should also demonstrate polite professional communication
skills. People discriminate against age (both too young and too old). They
shouldn't, but this portfolio might help.

3) Get hold of any of these books, and implement the examples in a modern
language.

 _Computers, Pattern, Chaos, and Beauty_ by Clifford Pickover (anything in
this would be a good ShowHN, especially if you put it on a website with
interactive sliders) (it's available as a download somewhere)

Any of the A K Dewdney books eg _The Armchair Universe_ or _The Magic
Machine_.

------
segmondy
Depends on what you want, you mentioned "money", "portfolio" "Upwork", "pay"
and "hire". So you seem more money motivated than fun motivated.

Build something and charge for it.

------
chillaxtian
Learn data structures and algorithms really well.

Code a lot. Understand non-blocking I/O, memory management, parallelism.

Learn everything about networking you possibly can. At every level.

Hone that skill set over a few years and you’ll be invaluable.

------
jmkni
Reading these comments, I wonder if there has been a gas leak in Silicon
Valley or something!

My advice would be to practice, practice practice. Think about an app you
would like to build that's quite ambitious (maybe involving an Android app,
iPhone app, Alexa Skill, Web App, realtime communication between them etc) and
try and build the entire thing yourself. Get it onto the various app stores
and try and get people to actually use it.

You'll learn loads and hit lots of stumbling blocks along the way, and you
might even make some money out of it!

------
marknadal
Find something meaningful and pursue it relentlessly.

Here is my story, I'm 25 and have successfully raised VC funding for an Open
Source database. I also took an odd route to life, I found the woman of my
dreams, bought a house together, married her, and started having kids. This
may sound boring, but because we are young, we can live life fully and do
crazy things - backpacking through Europe (specifically, Cinque Terre),
visiting Africa, discovering house parties in Canada, doing a 30 day road trip
up and down the West Coast, illegally but safely climbing radio towers, or
doing rock climbing.

Never worry about society, live life fully, always give and love to people
(Open Source is very important in this way). Trail blaze your own route in
life, and people will come to you as the authority and want to pay you. Shoot
high, so that way if you fail, at least you land on Everest. If you do what
everybody else does, you won't have leverage. If you do what other people do,
you won't discover something new.

So as a result: Never take advice from other people, especially me. Choose
your own, and own it, this will be your most important skill in life. And
especially never listen to haters.

And I can tell you are already doing it well ;) you are on top of HackerNews
building your personal brand. Keep doing that, unfortunately, cleverness like
that goes a lot further for career improvement than actually being
incrementally better at coding. :/ Keep networking!

------
5_minutes
The beauty of our business is that anything is still possible.

You can reg a domain name and have your own project or
idea/app/affiliate/Adsense site up and running for next to nothing, except
your own time.

Similarly, you can build a small Windows or Mac app, a little $10 utility or
tool.

I don’t think an OS related portfolio is needed at all, actually.

I personally would start in that way, as you are in full control then in what
you do. It could be something sustainable you build, make money with and looks
good in your portfolio while doing so!

------
nv-vn
As another 17 year old I'm gonna go against the grain here and try to give my
own advice. Yes, you should live your life while you can and have fun. But I
think a lot of people are forgetting that you can have fun while writing code.
I don't see why you should feel bad using Github or HackerNews or whatever.
Don't write code 24/7 (unless it really is the #1 thing worth living for), but
don't feel bad spending a couple hours a day/a few days a week working on
code. My personal advice in terms of programming is try some new things. Go to
hackathons, meet people, make connections. Learn new languages, frameworks,
environments. Keep going until you're bored and then take a break and "live".
Then figure out how to balance the two. Also, don't focus too much on getting
a great job. The best thing to take away from a job is not the money, it's the
experience (especially if nobody's gonna pay you a lot). You have vastly more
experience than 90% of your peers. If you find a job that you can learn from,
even if you're not getting paid, you'll have a killer resume when you start
college and will land a way better job than you could if you just keep on
searching for opportunities now without taking the plunge.

------
CodeWriter23
I can’t tell you what you should do as a 17 year old coder. I can tell you
some of what I did.

I strongly believe early adulthood is about getting you laid. Not Tinder
style, but have to go hang out with others and meet people style. I’m 51 now,
and three of my best friends are people whom I met before I was 20 while on
the prowl for beautiful women. And those guys are pure gold. Life sure is
different now, being married and having a daughter but those guys, only one
being a family man, are still there and our friendships are as strong as ever.

So that’s part of what I did. The other part of what I did, I got a job being
paid to code, well, actually paid to learn to code. I thought I was hot shit
but the guild of ex-rocket scientists and other smart people I ended up with
taught me a lot. So, how did I find that job? I met my best friend’s
girlfriend’s dad who gave me that job. Yes, the pursuit of getting laid found
me and my friend at her house, hungover one Saturday morning when I met him.

So maybe getting laid isn’t your thing. But get your ass out there and start
meeting people and spending some time with them. Don’t be a walking banner ad
of “I’m a coder”. Get to know people and let that disclosure happen naturally.
Most people really enjoy helping their friends, and someone will make a
connection for you.

------
dnautics
What do _you_ like doing? You're at an age where you can afford to make some
mistakes with the immensely useful skill you have. There's a lot of _fun_
things you can do with code that might not be valuable in a strict business
sense in the future. I'd say work on something like that, which brings you
Joy. It might even actually be useful someday (but it's ok if it isn't)

~~~
rhn_mk1
I think this is underappreciated advice.

While you're young and don't have crucial responsibilities like earning money,
you can spend your time however you want and not be pressured into doing
anything in particular.

That means you can try a lot of things and make a lot of mistakes without
worrying. You get a lot uf unbroken time to focus on one project if you want -
find a problem that interests you and figure out the hell out of it. In all
likelihood, it won't pay off immediately, but you will learn a lot and that
will help long-term. Or, dip your feet into a lot of different things until
you find something you're passionate about.

This is actually general advice. People don't think much of the young, so you
can do many things you're "not supposed to do" later, i.e. get in trouble with
few consequences.

Perhaps this isn't an answer about how to gain traction as a coder. While I'm
not an authority, contributing to Free Software helped me immensely. Find a
project with contributors from large companies and spend a few months asking
questions and helping out. You will make useful connections and will stand out
for recruiters.

------
joshvm
Make stuff that you like and blog about it. That could be toy websites/demos,
a game, tutorials for things or hardware projects. Anything. Post them here,
post them on Reddit or Hackaday and bring people in to find them. Eventually
you can get organic traffic from search engines if what you write is really
useful. You can even make passive income this way throuh ads (beer money
level, but it's nice to have - you can save till you're 21 anyway!). The most
useful lesson I've learned, in my opinion, is to ignore what other people say
you _should_ do. Focus on what thrills you, the projects that will keep you up
at night trying to complete. If you do that, I guarantee it'll work out for
you.

Contributing to open source is an admirable goal, but it's definitely a nice-
to-have rather than a must. You have a Github portfolio, so build that out.

Instead of picking some random project to help out, decide you like doing and
fix what annoys you. I use OpenCV every day and my first open source PR (ever)
was a documentation update, because something was poorly explained. The next
one was a fix for some function that wasn't consistent with the rest of the
codebase. These are very minor things, but I was personally invested in fixing
them.

However here's my advice right now: if you want money, find work locally. Ask
around people you know, odds are you know _someone_ who needs a website. Go
around ask local companies (like, within a mile of where you live) if they
have any jobs that need doing. Pull on your networking strings, don't
prostitute yourself to freelancing websites.

Don't limit yourself to advertised schemes. I have a physicist friend who
emailed a random startup in Berlin that she liked (she lived in the UK at the
time) and just asked if she could do some work for them, they said yes.

------
gorbachev
Find a cause you care about, then help out however you can.

Also you have a lifetime of coding ahead of you (if that's the career you are
after), enjoy your life while you don't yet have responsibilities like
mortgage and family. You may not realize it, but at your age the amount of
freedom you have to do whatever you want and make mistakes is a big advantage.

------
whichdan
I was in a similar position, and even skipped college in lieu of coding. It
was the right choice for me at the time, but in retrospect I'm not
significantly farther ahead of my peers - our coding ability has leveled out,
and they have CS degrees while I have a few more years of experience.

The one difference (compared to 17) is that I have a lot less free time now -
I wake up at 7am, I'm at work by 9:30am, leave around 5:30pm, and I'm home at
6:30pm. I end up with maybe three free hours after dinner. When I was younger
I spent that time tinkering with side projects or working, while now I
prioritize doing things that are fundamentally different than my day-to-day
work :)

My biased opinion is -- if you don't absolutely need the money -- spend the
time on fun side projects with cool technology or practice an instrument or
something else fun. You'll have years and years to code 40 hours a week for
money!

------
jorgemf
I would tell you to enjoy your life fist.

Seeing you code I can tell you can code but you probably cannot code anything
big. Learn code patterns and software engineer. You need to learn how to
design the architecture of your programs and things like integration and
testing. This is why jobs ask for a CS degree. Coding is easy, solve problems
is hard.

------
Jare
Do what feels right for you, what you feel is interesting to you, what you see
your body and mind enjoy doing and want to do more of.

Feed your brain by reading, doing and teaching, be it coding or (preferably
also) something else. Strengthen your will a bit (not too much!) by taking
some obligations and responsibilities, be it financial, social or personal.
Help your body work better and feel good through exercise, rest and diet.
Nurture your heart with family, friends, opponents, romance, the successes and
the inevitable setbacks. Understand honesty by standing up for what you
believe and, because of that, losing things and people you had earned. Respect
yourself and your time alone. Value others and the time you take from and give
to them.

Don't let survivors talk your into taking risks you don't truly and
wholeheartedly want to take yourself. Don't let anyone tell you what a life
well lived means.

------
alagalah
My advice? Don't ask, just do. At this point it's not necessarily an area that
matters because if any of us could predict the future we wouldn't be
commenting on Reddit. :)

Having said that you have one major attribute going for you, and don't take
this as a pejorative, and that's naivety. You don't know what isn't possible
cos you haven't been beaten down by experience (a double edged sword).

Take that naivety, think of something crazy that floats your goat. Can you
write an AI for gaming? Can you make a filesystem faster? Whatever it is, set
a goal, double it (ie an AI for gaming that can beat the top 10% in the world,
a filesystem 5x faster than exists today)

You'll learn something far more valuable than a coding skill... You'll learn
you are capable of much much more than you ever believed.

Just don't procrastinate, think big, fail big, and beat fear.

------
refrigerator
Context: I was 17 about 5 years ago, and was also coding at the time (but
definitely not at a "relatively high level"!).

At 17 I was also quite focused on making money doing stuff like freelancing,
and I did do some, but unless you/your family have a desperate need for more
money right now (I hope you don't, and I'm thankful that I didn't) then I
think it's a bit pointless - freelancing/consulting is a great gig if done
through the "right" channels, but doing it via Upwork (back in my day the big
one was GetACoder.com) isn't particularly fulfilling imo - it's a race to the
bottom in terms of money and quality, and you're competing with people outside
the UK/US for whom the pay on these sites is actually alright. Making money at
17 is quite nice though and I'd probably recommend doing it for a short amount
of time, just to realise that being rich for your age isn't actually that
exciting.

If I were you I wouldn't worry too much about doing an internship right now,
unless there's a company that you really really like. Just focus on improving
your skills, and do cool stuff that you find interesting, whether that's
working on open source, random website/app ideas, learning theoretical
CS/maths, whatever.

Being good at coding is a great skill to have, so if you enjoy it then it's
great to regularly do it and get better, but don't forget about the rest of
your life - don't get too bogged down in having to do this stuff 24/7, despite
all the news stories you probably hear about 17 year olds making $$$ from
their [app/website/startup]. Make sure you're happy and healthy day-to-day :)

On the coding side of things, I regret not learning theory and how to do
things "properly" sooner - I spent the first few years hacking together web
apps semi-blindly without bothering to brush up on technical knowledge, which
I think slowed me down in the long-term, so find a good balance between
"learning by doing" and "learning by reading" imo.

------
fsloth
Coding alone is a bit worthless unless you understand some spefic domain
really well. So, either find some domain that you find intrinsically
interesting and learn _everything_ about it or get a university degree.

If you lock down on some field make it an interesting one or else you might
find yourself hating your job one day. University degree will give you way
more options but does not guarantee any outcomes.

A good way to make money by programming is to first understand some other
domain really well and then implement solutions that help there.

"Coding" means you are skilled in instructing a computer. Now, what should
those instructions be? Why? Most domains worth anything are complex -
intrinsically or accidentally. Hence understanding a domain is critical to
become a valuable contributor.

------
barry-cotter
Build a portfolio, whether it be stuff you did on Upwork for poor pay or
websites and apps for local businesses or non-profits. Or do
Coursera/EdX/Udacity courses. Hell, do both. Once you turn 18 you can be sued
for breach of contract so you're worth hiring. Build things, write about
building things, help other people build things. Get to know people who are
into the same stuff you are and hang out with them.

Getting a degree is highly recommended. If you don't want to go to a full time
on campus uni the University of London's International Programme is great and
cheap.

[http://www.londoninternational.ac.uk/usa](http://www.londoninternational.ac.uk/usa)

------
mrep
I would work towards an internship as you'll get paid for it, most likely get
a mentor who can help you when you get stuck, and have direct and clear
projects to work on.

To that end, there are 2 steps to getting most internships and jobs at your
level.

1\. Pass the initial resume to get the interview. I don't have much advice on
how to do this besides being a cs undergrad with a high gpa unfortunately.

2\. Pass the interview. At your level, most companies ask you to solve data
structures and algorithmic problems on a whiteboard. To prepare for this,
obviously read some data structure and algorithm books and then their is
interview prep you can do such as cracking the code interview book and
leetcode.

------
cliftonk
Fall in love with a person. Learn how to sell. Travel and sxpand your mind.
When you get to college, enjoy yourself. You’ll be working the rest of your
life. When the time comes to bring people together and start a company, you’ll
know.

------
rythie
My advice is not to worry about pay in the short term. Once you have some
experience pay will be much higher. Think of working somewhere as education
essentially, if they pay you minimum wage too, that's a bonus.

I'd find a company with team of devs you can learn from and work there for a
few months. You'll be much more employable by the end of it.

As for finding a job, I'd suggest going to tech meetups, startups in
particular will be keen on any cheap labour. Alternatively ask your family or
parents friends if there is either a position at their work for you, or if
they run their own business, if you can do their website.

------
module0000
Do whatever you want. Figure out ahead of time if you want to be into coding
for $$$ or because you actually love to code. HN or not, there is absolutely
_nothing wrong_ with not loving to code.

If you end up realizing that coding is in somehow related to $$$, and that is
your goal - then stop now, and proceed directly to law or finance.

edit: And oh god - do the MOST IMPORTANT THING you can as a young person:
exercise! Becoming(and remaining) fit at a young age is so much easier than
putting it off - and it will absolutely give you future benefits beyond your
comprehension at this point in time.

------
therealdrag0
When I was your age I started an internship at a tiny local programming
company. They payed me a dollar or two over minimum wage to start and I did
testing and writing documentation and fixing bugs for them. It was a good
starting job. A good introduction to the "Real world". After that I majored in
English, and then majored in CS.

I think if you walk into a small local company, and tell them what you can do
and that you're interested in a summer internship. You have decent odds. A lot
of people like to give back to the community. And HS interns are cheap.

------
akeruu
I am so late to the party I feel so ashamed but here is my 2 cents.

Please, please, travel, and by that I don't mean doing a full a world tour.
Just explore what exists outside of your surroundings. Exercise yourself to
questioning. Making money is fine, and most of the time needed, but
discovering what your like / loathe is as important. Talk to people, share
stories, get into argument, confront yourself with other way of thinking.

Being able to code or having a nice portfolio might make you hire-able but
true maturity will make you shine amongst others.

------
ben_jones
At 17 I wasn't a good listener. I could listen to role models or people I
deemed "above me" but not not else. If you become a good listener, who can
understand people's problems, their fears, motivations, strengths, feelings,
and emotions, you'll be years above and permanently above many of your peers.
But it takes serious effort.

Do not undervalue skill sets outside of coding. We have hundreds of
universities pumping out coders right now. Be someone else who can also code.

~~~
chromelyke
This is the one. If you can code then focus on communication, empathy and
organizing ideas. More generally, try to understand product and the process
around it. Take an idea, even one that's contrived and try to run through a
SWOT (as lame as that sounds, the exercise makes you think). Don't get caught
up trying to perfect your syntax - learn how to write (sometimes shitty) code
to solve real problems.

Further, you'll rarely solve big problem on your own. Doing the above will
prep you for working in a high functioning team. Strive to put yourself in a
position to work with the best. From there life will take you to the right
place.

------
asidiali
1\. Don’t tell anyone you are 17. Ageism is real on both extremes.

2\. Build something. Anything. Many things. Don’t stop. You will find your
“specialty” niche eventually and blast off from there. Here are some ideas (in
some different spaces):

\- an alarm clock that stops when it sees your face (computer vision)

\- an easier way to search Instagram (social engineering)

\- SMS mailing lists for small business owners (SMS, communications, lead gen)

\- literally any idea that comes to your mind...build it just to say you did.

3\. Talk about it. Be passionate. Help others. This could definitely be in the
form of OSS contributions, which is great way to gain visibility in the
community.

4\. Specifically on generating income: since you don’t have a product built
(yet), focus on consulting which can help build your reputation. Start with
your current personal network, even if it’s just friends of your parents that
may own a small business or maybe someone you know from your community. Before
you contact them, do the research. Do they already have a site? What’s it
built with? Where does their business come from? Is there a clear opportunity
to tangibly improve this for them? If so - reach out. Start open minded and
asking questions. Find out what they need - it may not be what you’ve
identified in your research. If it is, great, you were spot on. If not, that’s
fine, sell them whatever service you are confident you can help with, and take
note for the next customer in that industry.

If you’re set on finding a normal job - just start applying. No need to say
anything about a degree or school. Show off what you built (step 2!), express
how passionate you are (step 3!!), and don’t stop until you have an offer. It
will happen. I didn’t go to school and one of the first ways I figured out how
to reliable get in the door was I just _started assuming responsibilities of
an engineer at that company._ For example, does that company need a new
website? Yeah? Then just build it. Send it to them with your resume. “Hey,
notice you needed a new site. Here you go.” Depending on how well you nail
their branding or what their focus is, this can leave a great impression of
your passion and work ethic. I’ve skipped many interviews this way and just
landed the offer straight.

YMMV.

Good luck mate!

------
krayis
Go to the best college you can. Live on campus. Only once in your life you'll
be living and surrounded by so many people in that age group. Internships will
come in time.

------
kleer001
Expand your areas of knowledge. The best ideas come from cross pollination of
disparate disciplines. Your brain's not done baking yet. You still have
another 8 years before the foundation sets. Learn as much as you can about
everything.

Also it really depends on your inborn personality and predictions. My advice
above is really for creative types. You might be a more conservative type and
a 9-5 job for 50 years would be perfect.

Take a big 5 personality test and go from there.

------
villanelle
You need to prepare yourself to have a happy life. To be happy, you need two
things: 1) A career that pays well so you can live comfortably. 2) A life
mission, so you can spend your life building towards something, doing
something you feel contributes to the world in a valuable way. Luckily
programming is perfect for these goals. Choose your mission, make a career
plan consistent with your mission, and proceed to become a badass.

~~~
akaij
You definitely don't need a career to be happy, let alone one that pays well.
This is usually the society we're in that tells us that this is the only
truth. Same with posts about {m, b}illionaires being portrayed as "successful
at life", when in fact being a CEO probably ranks high on the list called
things-that-aren't-guaranteed-to-make-you-happy-but-people-think-they-do.
Society draws a circle and says "these people are winners" and anyone outside
of it are losers and should strive to be back inside the circle.

I don't have much work experience, but I am employed at a global top5 tech
company and the number of people around me who are miserable even with all the
benefits the company provides that outsiders consider sources of happiness
(above median salary, indoors swimming pool/gym, free food, onsite medical
personnel [gp, dentist, therapist], flex hours) tells me that it's not
entirely up to the environment.

The happiest people are the ones that seem to do whatever they feel like
doing. I've also noticed that almost all of them, fit or not, go to the gym
and do some sort of physical exercise.

I'm in my early 30s, and two very important things I've realised are: \- Life
is happening right now. Not in a year or 10. Plan ahead if you want to, but
don't sacrifice so much that you're not enjoying yourself. \- Nothing is black
and white. Life is not a piece of code; things are not 'either 1 or 0'.
Everything exists on a spectrum; everything is a shade of grey. Even the
things you think are absolute truths can be inferred to be different in other
circumstances.

Pink Floyd's lyrics have always resonated with me, and I guess this is one of
my favourite bits:

    
    
      For long you'll live and high you'll fly
      And smiles you'll give and tears you'll cry
      And all you touch and all you see
      Is all your life will ever be
    

which is followed by a take on modern life and how it requires us to work at
all times:

    
    
      Run, rabbit, run
      Dig that hole, forget the sun,
      And when at last the work is done
      Don't sit down, it's time to dig another one
    

Do whatever you feel like doing, but know that with every decision you're
choosing a path which is different than the one you could have taken before
the decision. Sure, you can follow multiple paths and achieve more goals, but
there will always be something else you could've done...

...and that's OK.

------
choperius
# apply to jobs and internships despite not meeting requirements. it's just a
numbers game in the end. eventually you get in somewhere. # improve social
game - go to parties, go dating, travel, get drunk. # build products, ship and
post on producthunt. there are many teens getting exposure there. # find
likeminded people in your own age to share thoughts. join a young maker
collective.

------
ColonelPhantom
As someone who is around OPs age who also has Asperger's, I feel like so many
of the things people tell OP to do, I feel like they're things I personally
don't want to do or know how to do, or even feel I don't have the freedom to
do. People say it's a time of freedom, and that you should enjoy the freedom,
but I don't feel like I even have the freedom.

------
vortico
As soon as you join a college, do as many hackathons as you can. Use it to
meet recruiters but most importantly other students that enjoy programming as
much as you do. Use websites to find all of the events within 500 miles and
sign up for all of them ahead of time to increase your chances of getting
travel funds. Definitely my biggest regret while I had the chance!

------
theboywho
I used to ask the same questions when younger and I used to feel guilty many
times simply because I would go out with friends some weekend instead of
Learning or working on my next big idea. So my advice is there is no best way,
aim for the good enough, persistence is key, and eliminate guilt. It's not
about who hits harder, it's about who keeps hitting.

------
alkonaut
Contribute to open source. Enroll in some kind of higher education. You'll
need the formal CS/math/etc in order to grow as a developer (if that's what
you want to be).

Also: don't forget to just switch off your computer and be 17. I'm 40 and I
can code as much as I want but I can't be 18...

Forget working as a developer at 17. Use your time for something better.

------
flor1s
You might enjoy doing some work for a charity such as AgileVentures
([http://www.agileventures.org](http://www.agileventures.org)) to learn about
real world programming. If you are interested in a job (or internship) at
Google or Microsoft, you can never study enough discrete maths, and
datastructures + algorithms.

------
sirspacey
I started out like you. Here's how I learned to make money. I started a small
business tech firm and just went out and asked businesses what their problems
were and came up with ideas on how to solve them. You've taught yourself code,
now teach yourself how to make a business. "Ready, Fire, Aim" and "Emyth" are
great books to start. What I've learned in following this path is that there
are three things to quickly generate skill-based income: 1\. a list of
businesses with discretionary budget to spend (leads). Companies will drop
$1,000; $5,000; $10,000; or about $35,000 on an experiment (you) depending on
their size. Enterprise environments (200 knowledge workers or more) have more
structured problems, smaller ones tend to have problems that also involve
sales/marketing- consider learning about both from Hubspot Academy. Create a
speadsheet of 1,000 leads. Then you know you can't run out of business
opportunities. 2\. create a path to your potential customer making a purchase.
once you have a lot of leads you have to learn what people want to be pitched.
as an engineer, you want to solve real problems. that's awesome, it's also how
you create real value, get referral clients, and generally just get to do
cooler things for more money. But it's too much friction for someone to take a
risk on a new relationship and change their entire way of thinking. Change one
way they think about their situation. Read "the challenger sale." You are
inventive, that's why you love to code. That's a skill that makes you better
than any other type of sales person. 3\. build systems for yourself. if you do
the first two you will get relationships. relationships take management and
people feel about you however well you manage that process. scrap together
systems that make you an automatic boss at things like follow up, meetings,
and showing your clients what you are doing and how you have helped them.
zapier, trello, hubspot crm, boomerang for gmail. it's ok to use your coding
skills to smooth out the integrstion of these systems, but resist the urge to
reinvent them. use them as the scaffolding that let's you build for your
clients.

Finally, have an answer for your age (tell them what motivates you) but don't
bring it up. You run your own business, people pay your business. If you have
a trusted adult, google how to DIY forming an LLC in your state and make it
official.

I have seen many unexpected setbscks in my life. the ability to create a
business from nothing enabled me to overcome them all.

------
bishgupp
Depends.what do you enjoy? What is your passion?who or what motivates,
concerns, scares you? Spend time with that - see how it functions - can it be
improved - does code play a part in that improvement - study - contribute to
that via business understanding and process improvement using code. Get
feedback, confirm growth, and repeat.

------
quickthrower2
Not advise but something to bear in mind. The younger you are the more risk
you can take with more time to take corrective action.

The main ways to get paid well or get rich and work on your terms is to run a
business, trade assets or invest well.

20000 hrs of cranking out JIRA tickets loses its luster. Companies rarely
invest in their employees career.

Make of this what you will

------
mychael
Close your laptop. Go outside. Listen to live music. Make friends in your
community. Travel abroad. Fall in love.

You're already on a great trajectory - so at worst you'll earn a 6 figure
salary and at best you will be the next zillionaire startup founder. Don't
waste your youth on HackerNews and Github.

~~~
tome_anir
Very very true. Concisely said the reality of life. Thank you for adding some
saneness to the bizarre paragraphs of advises given by everyone else.

------
auganov
Well, if you want to build a company, the advice I'd really want to understand
at that age - is it won't get much easier. At that age, I'd often assume
difficulties I encountered were due to uneducation or lack of experience.
Turns out many things are hard regardless and it's okay.

------
agrafix
Write a browser game, put it online and play it with friends. At least that's
what I did (
[https://github.com/agrafix/managerslife](https://github.com/agrafix/managerslife)
), it was very fun and rewarding, and I learned a lot!

------
EnderMB
I've worked with a couple of "child geniuses". The kind of kids that were
freelancing at 12, writing search engines at 14, working in agencies at 16
alongside college, and senior developers at 20.

Half go down the alternative route. They've been largely working full-time
from 16, while doing a bit of college, and most of them look at their peers at
work and decide that university isn't for them. They've already got a job, and
the whole point of going to uni was to get the job they're already doing. A
few of them move on, and they do fairly well. The problem I've found is that
they're not getting paid as much as some of their peers, even if their job
title is greater than their peers at a younger age. They also seem to pigeon-
hole themselves into a given stack, and while they are happy to move along
with that stack, they set their goals too low. Sure, it's great to be the
genius kid that is working on large-scale projects at 18, but in a few years
you'll just be another young developer, that is probably bored of building the
same old shit for ten years when everyone else is still enthusiastic about
CRUD CMS applications.

Half of the others go down the uni route, and most of them seem to be much
happier, depending on how much focus they've put into their studies. I've seen
some child geniuses go to shitty universities because they couldn't be arsed
to study for their A Levels, but study something that legitimately interests
them. One went on to study Mechanical Engineering and went back into software
development. I think he interned at Microsoft during uni, and now he works at
some FinTech startup in London. One of them did pretty well and ended up
studying CS at Edinburgh, saying that going to uni as an already decent
developer helped him relax into the environment while others were learning how
to write code for their projects. I'm not sure what he's up to at the moment,
but he went from a fairly stressed out kid to a happy young man, so it
obviously worked out well for him!

Since you're 17, I'd think about what your dream scenario would be. Do you
want to study CS? Is there something else that would interest you? Ultimately,
if you want to be a coder, do you need CS? I have a CS degree, and it's helped
me a ton, but I've worked with plenty of great developers that pursued other
degrees. That other degree might open up other avenues for you, whether it's
business or law or biology. The only real advice I'd give you is to ace your
IT/CS classes at school, and focus that time elsewhere.

------
z3t4
Try to get work experience. Don't stay longer then half a year at the first
five employments, you can always go back! Then get a degree! Don't work while
in school, spend your free time getting to know people and get a good network.

------
nerdsaresingle
I’m 24. I work in google and make 600k/year as L5.

Stop hearing this cool open source projects stuff.

1\. Be good at interviews and get 10 offers from all tech companies. 2\. Work
hard for 50hours per week and make sure you are getting smarter and smarter
everyday.

------
eksemplar
Code is cheap. Get an education.

------
yodsanklai
Forget coding and work as hard as you can to graduate from an ivy league
school.

------
mrkurt
I can code, and I can build infrastructure companies. But what I would really
like is deep understanding of something that's not strictly tech. Science,
agriculture, history, fluid dynamics, etc, etc.

------
dyeje
Eh, you're 17. Get a low responsibility part time job and enjoy this part of
your life. Once you're in college a lot more opportunities for part time
programming work will open up.

------
seizethecheese
There's a lot of bad advice in here. I partied hard through my late teens and
early twenties, and honestly, it was a vacuous waste of time.

Find where you can add value, and do it.

------
knbknb
Make an intense effort to learn a foreign language, say for one year or so.
Makes it easier later in life to start again, or to learn a third one if you
must.

------
muzani
Find something people have built that has a lot of users but you can do
better.

Then do it better.

It's both a good way to learn and accidentally stumble upon a business model.

------
erwinkle
I freelanced online and did a startup at 17. The pay was terrible and the
startup a failure, but beyond all that, the knowledge was worth it.

------
creatrixcordis
if you are on here at 17, you are doing alright! there is no recipe, remember
some of the greatest writers did not lead traditional lives, greatest
discoverers didn't listen to mommy and daddy and the people who changed the
world didn't ask for a recipe, they created one! +1 for travel and question
everything, especially the stuff you take for granted.

------
sahawneh
Talk to these people: www.[https://tardigrade.group](https://tardigrade.group)

------
funkyboy
Go out with your friends and have fun. You'll have plenty of time to spend
coding in front of a screen :)

------
hd4
One thing you need to get good at doing is not giving a fuck about what others
do and do what you want to do

------
mhh__
Volunteer for a local charity that needs your help?

Contribute to the (standard, maybe) library you like the most?

------
cvaidya1986
Step 1. Build something you're interested in, particularly if it solves your
own problem.

------
nialv7
Spend it like a normal 17 years old. You have decades for coding, but you can
only be 17 once.

------
Voyage_wanderer
Just go sailing.

Ability to code is least needed commodity. Ability to fit is a better
commodity. Be able to compromise if software development is your goal. Be a
bussinesman if entrepreneurship is your goal. Be a politician if corporate
ladder is your goal. Nobody needs coders. Besides your skills are outdated by
the time you learned them. So, go sailing.

------
cerealbad
create an app that rates a users face on a scale of 1-10 and matches them up
with another user of the same rating. sell the photo database backend to
government contractors, law enforcement agencies, advertising firms.

------
pluc
Try to make something popular or try to make something profitable.

Both can go on your resume.

------
fiokoden
What do you WANT to do? That's what you should do.

------
sabujp
run a startup from your room, doesn't matter how stupid it is. If there's a
niche market there's value.

------
thiagooffm
Go get some boys/girls.

------
saalweachter
So when you say you'd like to make some money, is that because you _need_
money or _want_ money?

That right there is a major fork in the advice you can be given. If you _need_
money - like you're going to be out on the street or at least working at
Burger King after highschool if you don't find something better - your best
bet is developing something that you can directly monetize as quickly as
possible that doesn't take any startup capital to get going. Mobile apps were
historically the go-to thing, make something simple that you can sell for $1
to a few hundred or at thousand people, repeat. You're going to have a hard
time leveraging anything like open-source development into a paying career in
less than the "many years" time-span. People are going to be just about as
nervous about hiring a 17- or 18-year-old with no degree and 6 months open
source experience as they would one without.

If you just _want_ money, either because money is nice or because it seems
like a logical next step or because you like the challenge and gratification
that comes with paying work (if someone is paying you, you must actually be
good, after all) or because you want to fill out your resume, you have a lot
more options.

If you are a young person with means and are expected to go to college and
spend the next 4-6 years learning, but you already feel like you know enough
programming to get a good job if people'd give you a chance, you have a
glorious opportunity before you.

From a purely practical point of view, many of us olds lament that _all_ we
know is programming, so all we want to program are programming tools. Those of
us who were also math majors occasionally want to program automatic theorem-
proving software or remake Matlab, which is equally non-profitable.

You, on the other hand have the opportunity to double-major in something
completely different, like medicine or horticulture or hospitality or law, and
learn about the sorts of software a completely different set of professions
need and want, the way only an insider can. While the rest of us are writing
the 17,000th text editor that will never replace emacs or vi, you can be
writing the garden-management software that millions have been crying out for.

There's a lot of other skills you can learn a little bit about if you're not
wasting your time taking ever variation of ever CS class offered. Many
highschools, even, offer classes on skills like CAD, welding, and engine
repair. If you want to take one of those when you're 30 you'll need to pay
4-10k$ to your nearest community college and find time in your work/life
balance to attend the classes.

A huge number of things are going to be easier to learn over the next few
years: languages, music, shorthand. You should still get the CS double-major
or at least minor, since it will be the certificate you need to get the paying
work, but the real opportunity before you is the chance to learn everything
else. That everything else isn't just for "rounding out" or "enrichment" or
"enjoying youth"; it will make you _more valuable_ as a programmer: you aren't
just learning cool things, you're learning _domain knowledge_ for the
applications you may someday write.

------
jomendoz
Well, I think you're doing very well with coding so far.

Generally, in a CS major you will get accounted with many great things that
are the baseline of computation, I really enjoyed my time in university with
intense math discussions, really good friends and lots of new experiences.

But math passion started to peak at my last semesters when knowledge started
to get denser and denser. And because I decided that I wanted to work in
private sector instead of academics, I knew that that knowledge in very
different areas of computation will irrevocably start to fade away. I don't
regret having done my major though!

Enter real life work... Well, the real thing about real life work is that you
have to manage a lot of non technical issues, namely coworkers, lead tech(s)
planification, discussions about what to do next, what to do with inherited
mess, resolutions in those regards, etc. Being practical before being correct.
And then, balance practicality with correctness through simplifying.

I started to learning how to code in 2006 but I had a part time job in web
development in 2010 and roughly I could say that I have used many different
technologies since then. In every team you'll be working, you always need to
handle those issues (at least in my limited experience).

Now a little bit of non-requested advice: 1. Don't worry too much about tech
stacks, they change over time, at varying frequencies, but a rule I have seen
is that almost no library or framework endures a lot of years without major
adjustments or complete overhauls. 2. In CS major I learned a few tricks about
the foundations of now-a-days flashy features of new tech stacks so don't let
them blind you. Experiment with due diligence (I mean, new tech inherits a lot
of risk in adoption, so test thoroughly and mindfully). 3. Balance
practicality with correctness (again).

Lastly, let's talk about passion. I left this point intentionally as the last
thing to talk about because it's something very important to me that I started
to reflect intensively lately (I'm 27 btw). CS and computation in general is a
whole world by itself, you can do thing for the very sake of doing that,
solving math problems, coding new features, read HN for the sole intent and
joy of knowing more. But that's not the only way to view this regards. CS and
computations in a wider view is just a tool for something else. A tool for
creating art, creating experiences with games, creating music, preparing trips
around the world, exploring worlds far apart, learning different cultures and
languages, helping people in need and so on and so for. So at the end, my last
non-requested advice is to experiment life in different places, with different
people. I'm very passionate about languages and linguistics in general so I
can say firmly that easily I could spend a decade on working something related
to language / linguitics. Take deadmau5, he did CS and was passionate about
doing music. Take Paul Graham, he knew was passionate about CS and art, but
later in his life he turned into an enterpreneur and created Y Combinator.
Take solo-devs of indie games, they enjoy computation but are passionate with
games. At this age, explore as many areas as you can and hit your passion
right away, even if that mean to spend some years in the finding. I recommend
to you reading the conception of DuckDuckGo by Gabriel Weinberg [1].

Have a nice journey.

[1] DuckDuckGo: The Solopreneur That Is Beating Google at Its Game -
[https://fourweekmba.com/duckduckgo-vs-
google/](https://fourweekmba.com/duckduckgo-vs-google/)

------
indigochill
I think everyone's situation and "optimal life" is different, so I'll tell you
what I did around your age (I ended up as a software engineer at a game
studio). In high school I got a job doing some data entry stuff at a small
engineering firm run by a friend's dad. Turned out I was bad at data entry,
but for some reason he handed me a book about VBA and asked if I was
interested in writing Excel spreadsheet macros for payroll (well, he had a
design that I just needed to implement). So I did that (I'd dabbled in
programming before, but nothing to the level you're at). I eventually put
together what he wanted, but then he bought some proper payroll software and
my services were no longer required.

Then I went to college for journalism because I found writing easier than
math. Realized pretty quickly I should be in a computer science program
instead, but didn't want to switch schools and the comp sci program at our
school sucked hard (their intro to CS program used VB, which was great for me
but bad for life). So I stuck with journalism and dabbled in Python on the
side.

Fast forward four years. I was behind by a couple classes due to slacking off
and failing a couple classes. On academic probation. But I've been playing a
certain video game and keeping an eye on the studio's jobs page. They need
customer support people. I apply. I get the job. I leave to work, my capstone
and one elective left to complete my degree. I finish my capstone while
working, but ignore the elective.

While working in customer support, I get fed up with some of our manual
processes, so I write Python scripts to automate them. Our one tools
programmer encourages me to implement the scripts in a web interface for
everyone to use, so I do. People like it, so I make more. I make the case to
management that it's their choice whether they want me doing the work of one
CS rep or multiplying the effectiveness of all our CS staff (We have a couple
years' worth of automation opportunities at this point). They see my point and
put me on automation full-time.

So all that said, I'd highlight these two points (which are really two ways of
saying the same thing):

1\. Find opportunities where you are. Someone you know almost certainly has
some problem that you could solve with software. If they have many of these
problems, you might negotiate some money out of it. But more important than
that, there's a lot of value in the practice of identifying and solving real-
world problems rather than just doing contract programming work.

2\. Think like a software engineer. By which I mean look at the world around
you, identify problems, and think about how you can solve them with software.
Think about the trade-offs between your various options in how to solve them
as well. This, in my opinion, is the key distinction between software
engineers and programmers.

------
kapauldo
Pick a good college and study for your SATs.

------
wcr3
idk man, but it's probably safe to drop the "who can code" part of the
question.

------
misterHN
lol launch a democracy bot

anythingbot, chaosbot

If you do, post it to HN, /r/javascript and /r/programming

If you want money, go to /r/personalfinance and ask for help

I would avoid making money with code. Google and Facebook are evil, period. If
you try to make money with code, you deal with the devil eventually.

------
alexasmyths
Just have fun.

