Ask HN: What should a 16 year old Python hacker looking for "a job" do?
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?
Thanks.
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.)
52 comments
[ 3.2 ms ] story [ 97.9 ms ] threadI'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.
I would love to have an option to just lay around at home and contributing to open source.
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.
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.
If so, how about reaching out and forming a local scene?
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.
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.
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. :)
Working on it how? It's really the most important thing there is...
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.
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.
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
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.
(No offence if you were genuinely trying to help, but that's just what I think.)
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.
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 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.
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.
Or msg me on gtalk.
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.
You have to put it in the text field where your linkedin/ website are listed to be public.
I think plenty of devs on here would be willing to toss you a few $$$ for a well defined project.
2. I did think about that, but popular services like Kickstarter et al are not available in India.
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.
email me, shrig94@gmail.com, if you're interested in hearing more
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!