Hacker News new | comments | ask | show | jobs | submit login
Ask HN: What should a 16 year old Python hacker looking for "a job" do?
44 points by aviraldg on June 7, 2012 | hide | past | web | favorite | 51 comments
Hi there, I'm Aviral Dasgupta (http://www.aviraldg.com), a sixteen-year-old with a interest in web development (in Python) and a passion for solving problems.

I'm not looking for something big (I already do some open source stuff); just something that can either give me practical experience or the kind of cash required to fund my own projects. So, do you have a project you need done? Please tell me about it here.

Also, what should I do next? What should I learn?


More about me:

- Started developing when I was 11 or 12, with PHP and created a (rather simple) Twitter clone.

- I was a Grand Prize Winner in Google Code-in 2010 for my work with open source software. (http://google-opensource.blogspot.in/2011/02/google-code-in-grand-prize-winners.html)

- Involved with quite a few open source projects like Django (Python), Tux4Kids (C/SDL), OpenIntents (Android/Java)

- Here's my SO profile: http://stackoverflow.com/users/152873/aviraldg

- I've got quite some experience developing in Python (and Django), I've also done some front-end stuff with JavaScript.

- I'm currently dabbling with Flask, SQLAlchemy and data visualization and working on a top-secret project (which requires aforementioned funding.)

I'm going to give you pg's advice to undergrads: get good at building things, if you want to do a startup later.

If you want a job at a software company, you'll want to get good at reading other people's code and fixing bugs in older, larger codebases. Ensure you are an effective communicator by practicing your writing skills (http://www.mcsweeneys.net/articles/the-ultimate-guide-to-wri...). The ability to speak and talk to other people (and in front of them) will prove invaluable, especially in an industry that still is saturated with people who are poor communicators.

If you need practice on building things, check out the "Somebody Make This" subreddit (I'd like to it, but reddit seems to be down at the moment).

My email is in my HN profile -- shoot me a message. I might have a small project I can hook you up with.

I was looking for similar advice when I was your age, unfortunately HN wasn't around at that point and information was more scarce. Kudos for using these tools to your advantage.

The most important thing you can do is build experience. I would keep working on open source projects, and try to engage yourself into popular ones to build a career direction that is impressive (the Django work is a great start here).

As far as a job, you're 16 and I'm going to guess your costs are very low. This is the perfect time to work on building a portfolio of your own work, as well as doing the aforementioned open source work. If you can get a fair job with low hours, look into the opportunity. At age 16, I fear a lot of people are going to try to take advantage of your youth to pay well-below-market prices. Do you have a need for money, experience is more valuable at this time?

Other random advice: do well in school, and invest a percentage of any money that you do make.

Thanks for the advice. You're right about the costs bit, but I have a few projects of my own that require the money (which is more than I can afford on my pocket-money.) So, I'd love to do a proper web development project for both the experience and well, y'know :)

Get involved in academic research. You'll be able to use your skills, and they've usually got money to throw at talented young people. If you can find a local university with a Human-Computer Interaction Studies program, you can get useful UX experience, if you want to get into the big-boy numerical stuff, you can look at Physics or Engineering departments, I'm sure a Computer Engineering department would love to have you, the list goes on.

If you're not hell-bent on being a capital-E Entrepreneur at 16, why not step outside the web development box and hang out on a college campus where you might have some fun?

My 2c.

Nothing around; I live here: http://en.wikipedia.org/wiki/Jamshedpur

I would suggest doing something else than payjobs until you're over 20. Enjoy your youth, do lots of open source stuff. You have so many years to spend in a squirrel wheel.

I would love to have an option to just lay around at home and contributing to open source.

6 years ago I was in your shoes, I was certainly not of anything remotely resembling "advanced age" (14).

I was wholly without opportunity. I endeavored in various fruitless directions before my first real success (inasmuch as a 14 year old can be successful). The biggest bump to my career (also all-around credibility) was the first open source project I ever did ( http://zv.github.com/work/swiftcrack/ ). When all was said and done, I made around $5,000 shooting the shit about wireless security to people interested in my work. This was huge for me, and set me up for being taken much more seriously. I'm firmly confident that none of them had the remotest clue I was 14. Had they known, I'm sure I would have been laughingstock and never given a serious chance. There is something to be said for concealing your age and making a solution where your elders make excuses, this is your paramount strength. I will imagine for now that you aren't interested in the politics and subtle ego-stroking that accompanies a lot of business, which gives you the power to actually get things done as a pace that will have your superiors dumbfounded. Suffice to say, hard work can fix hard luck.

This said, (if you are interested in learning Erlang) I would be more than happy to help you along if you'd like to be a part of developing my open source NoSQL database, Artifact. You gain experience developing your own database in a language that people take very seriously and you get to be a part of an open source project. You know what they say about birds and stones.

I guess it depends on what else you're doing. If you're in High School still, suck it up and finish with high marks and be done.

As for college, there are two theories on that: on one hand, a college degree from a good school still caries a lot of weight with people, and it's a great networking tool. You'll meet some great people as well, and you might even learn something (though at your presumed skill level, you probably won't learn much of value until your junior/senior level CompSci classes. More valuable might be hitting CompEngineering or Electrical Engineering instead.

There's another theory which says 'skip college, do a startup', and there's lots of good reasons to take that route as well. It'll be less fun, more work, but possibly more lucrative, and you'll have much more 'working world' experience when you're done than your college friends.

As for 'what should you learn?' My MO for that is 'when in doubt, go deeper in the stack'. Those who truly understand the entire architecture of computers, and know how to drive the maximum performance out of it will always be in demand.

Also, work on the people skills. Learning to be a better communicator and how to connect with people will never be wasted. Negotiation is a skill to work on as well.

I'm still in High School. It's extremely boring.

As for the "deeper in the stack bit", I've gone all the way down to assembler (don't ask, I wanted to program for the Game Boy; wouldn't do it again even if someone paid me a lot of $$$)

Never been too good with people though, but I'm working on it. :)

Trust me. I get it. But if you don't have the HS diploma, it'll be something you have to explain for YEARS. People have certain expectations for others, even in high tech. The HS Diploma is one of those things. The college diploma still has a lot of the same stigma, though it's weakening. This stigma is a risk you'll have to weigh in your college or startup decision as well.

As for 'deeper in the stack', well, learning assembly in various guises is a good first step. Understanding how the pieces fit together, and how to make things faster is the next. I'm not sure if you're ready to start absorbing Knuth and the Art of Computer Programming (for reference, I'm not sure I am either), but that might be a good start too.

Oh, and another thing: understand the math. Learn the math behind this computer stuff. Understand how to measure the complexity and cost of a given algorithm. Something that might help there is Project Euler. It's something I enjoy hacking on when I have free time.

<-- hopes my children learn to code like you have.

I gave up on TAOCP after the proof of the first algorithm (which is around 2-3 pages long!) It's still on my TO-DO list :P

Yeah high school was super boring to me to. Looking back I would have tried harder to conquer my ADD/ADHD and focus on any of the ideas I had at the time. If I was you I'd throw all your passion into the one most passionate project you have. And run with it. Use kickstarter after a prototype is done and get some funding that way, etc.

>Never been too good with people though, but I'm working on it. :)

Working on it how? It's really the most important thing there is...

Open source projects, camps, etc. I wouldn't exactly say that I'm bad with people, but rather that I lack ... leadership skills.

I will hire you. We are a bunch of awesome developers working with some of the best tech startups in the valley. Two of our developers are in India just like you and work remotely. Email and my company info are in my profile.

Your email is not visible in your profile. You may want to change that before the two of you are not able to connect.

You have to put it in the text field where your linkedin/ website are listed to be public.

Thanks, fixed it. I already spoke to the guy on Skype.

You've already got multiple languages under your belt and have been developing for 5 years, so you are probably in the top 1% of developers your age. By the time you are 26 with 15 years of coding, you will still, no doubt, be among the top 1% of developers your age. I agree with the other comments about finishing high school, but in your free time, focus less on developing and instead focus on expanding your horizons by talking to people who are different from you. Who cares if you drop to only top 10% of developers your age by the time you are 26? Do you think most people who have the money to fund you can tell or care? Ideally if you come up with a brilliant startup, 2-3 years in, you shouldn't even be coding anymore.

I was in India last year for my developer's wedding (He operates out of India and...that was the first time we ever met face to face) and from the conversations with his friends, it was strange for me to learn that entrepreneurship on a resume is looked down upon by companies there. Basically, once you quit your job to start your own startup, there is no turning back to corporate life. So I can imagine the wall you are running into. But here is my suggestion, expand your understanding beyond your own personal world by talking to people who don't share the same background as you. There are hostels or places where backpackers from other countries hangout at in your city. Go talk to them and listen to their perspectives on anything and everything (backpackers love talking to locals). That's where you'll figure out what you can do to help change the world. PG once said that the most powerful people in the world are developers with ideas. good luck!

I'm 18, and you seem a bit more experienced than me, but here's my advice: find something you're interested in working on and do that. You've already found this — your open source work — and that's great.

I spent two summers during highschool working at a physics lab. I understood very little of the physics but learned a huge amount about programming — data collection, shipping, and analysis in particular. I'm sure any lab would love to pay you for your help.

Something else you could do is take a look at the Hacker News Jobs board [0] and look for a company that is working on something you're interested in. Even if they're not advertising for an intern, it might be worth it to send them an email. That's how I got my current job.

You're clearly very good at both programming and impressing people (these are both important skills! [1]). If you're really in need of some money to fund your side projects, turn to Craigslist and offer your services as a tutor, maybe in more things than just programming. Again, this is something I did that worked well — adults will easily pay you $20/hr. if you know what you're talking about.

[0] http://news.ycombinator.com/jobs

[1] http://carl.flax.ie/dothingstellpeople.html

You are looking for work. While someone should take interest, maybe nobody will take you seriously or find it easy to hire you, because of your age (sorry, I've been there).If you do contract work, be careful to get the agreement in writing.

The key thing for the long term will be to aggressively seek cool internships every year you are in college and (unless you have a better specific idea) get a comp sci degree at some place which is known and has a culture and setting that suits you. That shouldn't be any real problem, if you want to do it.

If this is what you love, there's nothing wrong with doing it at any age. If the job thing doesn't turn up, just take on fun projects using new tools and produce SMALL publishable units. This gives you something to show and more experience with the whole circle of software life.

If you have a lot more time than money, you may be able to engineer your secret project to be able to start on a leaner budget. Don't be too discouraged if things don't work or you screw up.

You have a good start and you have access to advice which I wish I had. Take advantage of it. The beer, LSD and girls will wait. Good luck.

If you were located in Boston (or SV), you'd probably have your pick of startups that would give you a paid summer internship. The best thing you can do is get involved in your local startup scene. Most of us doing software startups don't care much about age or education level. Passion and portfolio are far more important.

Ah, unfortunately there aren't any startups around where I live. Would anyone be willing to allow me to work as an intern remotely (btw. I'm still in High School)

Are there any startup businesses like the sort of business you would like to run one day?

A huge, huge part of success as a developer is learning how to work in a team, deal with clients/customers and manage real world problems outside of coding. It's really hard to get experience with this in a classroom or online.

Any sort of ad agency or product company will expose you to "soft skill" problems that will be applicable to building software products.

I would, but only as an unpaid intern. Dealing with payments to India is too hard for a fledgling startup. Maybe you'll find a more established company to pay...but as a Python/Haskell hacker I could at least offer you intellectually stimulating work :).

How can I contact you?

Unfortunately, Hacker News is a site for generic tech news (random sob articles occasionally) and startups, with the emphasis on startup advice/etc.

A few months back I tried asking for programming advice (language, direction, and even job aims help) but it was barely paid attention to and quickly voted down.

I think you're better off finding a local user group (which will have better advice as per your local climate) or asking on a strictly programming/development website.

Advice I'd give is to continue making things, put them out there. People see them, use them and you become known. Perhaps a company will want to get some extra support or features on it. Otherwise just keep learning, even at 16 winning a competition you're likely still not quite ready for full massive applications. Get your practice in instead of requiring a job to train you and you'll be worth double the pay.

Somebody here should hire this guy remotely.

He's unlikely to get taken seriously face-to-face because of his age, but his projects/accolades actually mean something to the people here.

There's a shortage of devs. Somebody could use him.

I actually think it's harder for most companies to take a chance on someone remotely when they're so young.

Don't tell them your age, then. Age discrimination is illegal so they can't ask how old you are and you don't have to tell them.

I was contacted by a well-known men's magazine when I was in my teens regarding some blog/Usenet posts I'd written. They wanted me to go to a conference in the US and cover a story for them. The initial e-mail thread went very well then I made the mistake of admitting I was 16 on the first call and never heard back from them.

Covering a conference they'd eventually have figured it out - but with dev work the client need never know your age and as long as you are legal to work, they need never know.

Actually, not telling them may be illegal too.

This isn't legal advice, but as someone who worked when I was a teenager, parent consent may be required, so then they'd know you are a minor.

Under US Federal law, it is illegal to work under the age of 14. 14 & 15 can work but only during non-school hours. 16 and older are fine, but under the age of 18, parental consent is required.

Taken from: http://www.dol.gov/dol/topic/youthlabor/agerequirements.htm

The illegal-to-them comes from hiring child labor without the proper consent or regulations met.

You have to tell them your age at some point. In Germany there are restrictions in place to protect minors disallowing them to do certain kinds of works and restricting when and how long they are allowed to work. You really don't want to break those laws and not just due to legal repercussions. I would be very much surprised if the situation would be significantly different in other (civilized/industrialized) nations.

It is illegal to discriminate against someone due to their age, but it isn't illegal at all to ask. Most places just avoid asking so noone can accuse them in the first place.

1-2 weeks to start, then see how it goes.

You're on the right track, but do be careful of burnout. Get a job out of (or just slightly related) to industry. Work in a local computer repair shop, or even an ice cream shop. In my experience it was hard to find programming gigs that would pay a 16-yr-old minimum wage hourly and be worthwhile. But a "traditional job" will certainly, and I cannot impress how useful those customer relations skills were for me.

beer? girls?

You mentioned doing this because you have projects that you think need funding? 2 questions: 1) how much do you need? 2) with your chops/age a crowdfuned solution might work for you.

I think plenty of devs on here would be willing to toss you a few $$$ for a well defined project.

1. Enough to: a) Pay for a VPS (I'm currently running test software on a t1.micro EC2 instance -- free for the first year) b) Pay for any shipping costs/losses while I figure out if the idea's viable (it's a partially digital and partially physical idea) c) To upgrade my development hardware. I don't want to sound bad here, but I currently develop on a netbook. (which I won here: http://www.tcsitwiz.com/images/2010_kol_runner_big.jpg - I'm the guy on the right) d) Advertising costs?

2. I did think about that, but popular services like Kickstarter et al are not available in India.

Find non-profits and other worthwhile organizations in your area who need help with fairly simple things and donate your time to them. This will get you experience and build up your CV.

I'm working on a startup that is joining a top ranked accelerator next month--we're looking for interns to help us with the site.

email me, shrig94@gmail.com, if you're interested in hearing more

I'd say play with embedded stuff to push your skills further. The arduino is a good simple start. Or you could go with a mini2440 board that runs linux (android too).

Please shoot me an email: zaid.farooqui at gmail :)

Or msg me on gtalk.

You're obviously talented so I would recommend getting involved in the start up scene in your area.

Unfortunately, there isn't a "start up scene" where I live :(

I'm curious about this. Do you know any other passionate or capable developers in your area?

If so, how about reaching out and forming a local scene?

Well, I did know one or two people but they're in college right now.

I am from India, and I can understand how you will be discriminated by looking for projects or job offer(99.99% this will happen).

Since you have awards which is worth bragging to get you want you need.

1. Create open source project which can be simple library and ask for donation.

2. Teach people programming.

3. Tell them how you are able to achieve this.

4. Best is try to be intern in some webshop, only option is send a note in mailing list.

Main issue you might face is with banks.

Freelance? Pick up some simple/easy jobs on eLance or other.

No, thanks. Most of the listings on that site consist of projects trying to clone major websites on shoestring budgets. Plus it looks really shady. I may be sixteen, but I do have some self-respect.

(No offence if you were genuinely trying to help, but that's just what I think.)


Haha, sure, but I'm not that kind of a guy.

You're right that you should keep practicing engineering, but you can also deliberately practice your social skills: public speaking, networking, coordinating groups, recruiting, etc. I suggest volunteering for a local non-profit. You can help them with their software needs and also help recruit and lead volunteers. Taking responsibility in a small non-profit is much like running a start-up.

Both those things could be useful in the future, and probably not in the way you think.

I'm not advising you to go "play around" so to speak, but opening up and learning how to get people to like you would be an invaluable asset if you ever get involved in the startup scene.

Heck, I think it's useful in everyday life.

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