I’ve been looking for internships this summer at startups/larger companies, but most require having already studied CS in college or something along those lines. Has anyone heard about good internships (most likely in NYC) for this summer?
Enjoy your childhood for the remaining 3-5 years before worrying so much about your professional career. You have decades of working in software ahead of you, if you continue on that path. Just enjoy your childhood, go out and play, or even just work on projects you enjoy. Once your childhood is gone, you'll regret not spending more time "not working."
You sound like you already have the work ethic, now make sure you focus on why you need it.
I remember asking someone why she would choose not to do something she loves for a living if she could get paid to do it. Her response, "Because I don't want to end up hating it."
That being said, I do like my job. Still, there are other things I would work on if I didn't need to get paid, even beyond the non work related things I already work on.
When I was 13, I was incredibly fortunate to land an internship at Marvel Comics in NY. For a teenage boy obsessed with the X-Men, this was like dying and going to heaven. I didn't even care that I was given menial tasks and paid entirely in comic books. I got to meet John Byrne, and that was enough.
The OP sounds like someone with enough interest in programming that an internship would be at least as much about "fun" as it is about "professional development".
I say, if it sounds like fun, go for it. If nothing else, it'll be an opportunity to meet software professionals with as much genuine interest in programming as you have, as well as some who are in the industry for other reasons. Both will be instructive.
Besides, age 13-14 is when you start high school, and that's when things get real anyway. If you intend to apply to a top school you need any advantage you can get, and work experience in jobs that are actual careers is impressive.
> more valuable a few years of goofing off
That depends on what "goofing off" is. Is it socializing and developing interpersonal skills? Because wild success hinges much more on interpersonal skills than it does on being the best programmer.
Just don't be dismissive of initially non-software opportunities, especially because those are the types of opportunities you're most likely going to see from family friends (the only people who might be able to hire you at this age).
In my experience, the most valuable knowledge in software (unless you're in the elite crew of coders) is domain knowledge - the ability to bridge the "functional" or "business" needs with the software that can automate/improve/innovate in that space.
You can be a mediocre coder and bring incredible value to a team by knowing the domain very well.
You only get this kind of knowledge by studying or living it.
http://www.youthrules.dol.gov/know-the-limits/under14.htm
You can legally work as a computer programmer once you are 14, but there are strict restrictions on the number of hours you are able to work.
You seem to have your own DIY-initiative and an ability to learn independently and execute. It seems like an internship would add little to that, and at the same time, there's the opportunity cost: what would you have built on your own outside of that structured internship time?
(nevermind the risk of burning out early, and regretting not having a more carefree adolescence)
The first time I had an internship the person I was working for insisted on calling my mom when I showed up because he didn't know how young I was haha. One place you might be able to have success is Eyebeam http://eyebeam.org/ I did an internship there when I was in college, but as a non-profit learning center I think they might be more likely to have something for you, check em out. You might also try contacting the High School for Engineering http://www.afsenyc.org/ and see if they know of anything or have any opportunities.
Also, if you'd ever like advice about working/interning in the NYC tech scene (or programming in general) feel free to email me, contact info in profile.
On the internet, no one knows your web server is running lisp. On the internet, no one knows you are 13. Refuse to do video calls, but be super responsive to email and IMs. You'll miss out on jobs, but there are a zillion out there.
I'd suggest, you build something you want. You're in a unique position to spend years building something amazing, that could make you some money. Work is essentially building someone else's dream. If your dream and their dream align, it's great. But for most people, most of the time, work sucks.
Heck, blog about react techniques. make awesome tutorials. I'm 3x your age and just started learning how to make minecraft mods. I'd suggest that, not because you're 13, but because it's kind of cool.
I’m also going to try and start writing tutorials to make learning things less painful for new folks, because with more recent frameworks like React there just aren’t a ton of articles out there yet.
Thanks!
Spend your summer doing something that you love. If that's coding, do that, and don't worry about getting paid for it yet. Also don't worry about building your resume -- you can start doing that when you're 14, if your heart is really set on it.
No one looks back on their life and thinks, "I wish I'd spent more summers working when I was a teenager." If they're lucky, instead they'll think, "I wish I could go back to those summers and really appreciate them for what they were: the last time I really didn't have to worry about anything."
For some perspective, I worked for software companies as a teenager and it hasn't helped me at all in my career. It wasn't worth the time, although having money was nice. But I don't remember the money now or what I did with it.
I guess I'll add this to my own comment: working at a real job as a teenager isn't going to make or break his career. He's a smart and driven kid, just as you seem to have been. If he enjoys coding more than socializing or traveling or whatever, he should certainly code, but he's already well beyond his peers (and always will be).
It's just very different to work on your own stuff at your own pace vs. working for a boss. I also suspect completing more of his own projects would actually be better for his career than whatever a company would allow him to do.
Plus, with this drive and ambition his company might IPO when he's 18 and then he can retire and spend the rest of his life living the good life.
The real issue is that some people have a postiive attitude adn enjoy what they do, and some people live their life regretting everything they didn't do and not appreciating what they do.
With that said, there is hope. First off, many companies are lax in their HR departments and you might just slip through if you have the right connections. This means hustling as has been suggested: getting emails for employees, showing them your ambition and character and drive, and getting a foot in the door. This may turn into a frustrating endeavor as you might be rejected a few times, but it could work with perseverance.
Second, what makes you think you need an internship at all? You have skills, start something yourself. Maybe you want to freelance for a while, this could make for a lucrative summer experience and you will learn amazing skills that will stick with you the rest of your life. Maybe you have another app you'd like to build and grow. Again, this would be a fantastic learning experience.
Surely someone will appreciate your ambition and give you an opportunity, just don't expect it to fall into your lap. No one is listing internships with the expectation that someone pre-college will fill the opening but don't let that deter you. I say this as someone who landed an internship at 17.
However, your resume is super impressive, and you're clearly gifted. I'm going to bet that there will be people who will want to support your ambitions and create an ad-hoc internship for you. So here's my advice:
Treat your internship search like a job search!
Cold-call and cold-email CEOs of NYC-based startups that use Rails or React. Medium-sized and small companies might have an easier time accommodating, but it can't hurt to try bigger companies too just for kicks.
E.g. try this line for cold-calling: "Hi, this is Lachlan. Are you $CEO_NAME at $STARTUP_NAME? Yes? Cool! I'm a 13-year-old middle school student, and I built a web app with Rails and React last year. I'm looking for an internship this summer. I was wondering if that's something you'd consider."
Regarding child labor laws: Businesses with employees tend to already have a lawyer they regularly talk to (for contracts and compliance). They should be able to run the labor law issues by their lawyer for you - maybe you'll have to wait until your 14th birthday, maybe it's possible to structure it as a "trainee" program that falls under different laws, maybe something else. So I'd just bring this issue to their attention and leave it up to them to figure it out.
About the labor laws: I’ll be turning 14 right before the internship could start (at the end of the school year), but that’s definitely true.
In the United States, Federal labor law limits the employment of children. The restrictions on employing people under age 14 are rather severe and would probably preclude any sort of internship:
http://www.youthrules.dol.gov/know-the-limits/under14.htm
This is probably the summer to work on side projects. Next year the rules allow a far wider range of employment opportunities:
http://www.youthrules.dol.gov/know-the-limits/14-15.htm
The fuller explanation is here:
http://www.dol.gov/whd/regs/compliance/whdfs43.htm
Good luck.
I admire your work and ambition. I started my career at your age as well, mostly building websites for friends and family.
As mentioned in previous comments, there are US laws that stand in the way of companies actually hiring you, and nobody wants to break the law.
It might be a good idea for you and your parents to look up what exactly the US laws are that apply to your situation. Some online research might answer that question or you can send a quick note to your family attorney.
If you don't have a family attorney I'd be happy to put you in touch with my attorney, he started coding at your age too and I'm sure he could point you in the right direction.
That will tell you exactly who can and can not hire you and take that hurdle of research out of the negotiation process with potential employers.
After you know the legal details I would start looking in your direct surroundings for opportunities ( friends, family, classmates, classmates' parents, etc ) or with smaller companies that are more flexible to make changes accommodating a minor ( e.g. getting rid of the beer fridge temporarily ).
For example, I run a small engineering studio in Los Angeles, it would be easy for me to get rid of all of our beer compared to a big corporation that might have to make more extensive changes to their offices and have a request like this pass through many layers of corporate bureaucracy.
Good luck!
Oh and I can't agree enough with all the people saying savor the time. I can remember countless days where I was 'bored' stiff all day, while nowadays I find myself dreaming of being able to not have to sleep daily so I could fit in even more hours for projects, both personal and professional.
I firmly believe that as you age your perceived notion of time passing only accelerates.
If it is because you like programming, I don't think anyone is going to hire you for a few years. Why don't you do a few projects on your own and see what you can come up with?
If it is because you're turning prematurely preprofessional, for god's sake enjoy your childhood. Go to a pond and skip stones on the water.
You'd be surprised, however, at the amount of kids who go "professional" from a very early age because of parental pressure or something like that. All I said was that if that is the case, it is too early to go professional.
If it's for the cash, as people have mentioned, you're going to have a tough time due to legal issues.
If you're just interested in getting more experience, I would try to find a mentor who could recommend potentially interesting projects to work on. There are a bunch of interesting computing technologies that are becoming more and more accessible to use (e.g. image recognition, NLP, machine learning, augmented/virtual reality, etc), and I think there are a lot more exciting things to do than work on yet another webapp.
Personally I spent ages 14+ learning how to hack websites and web browsers, and I found that to be a lot of fun, but there are piles of other things to get excited about. If you want some cash, companies will pay bug bounties to people as young as 13 for finding security vulnerabilities in their websites (see: HackerOne etc).
On security: I’ve emailed several companies about security bugs on their websites, but I hadn’t considered being paid for it. I’ll check that out!
Thanks.
You can always look for really popular websites that need a total redo. Try buying a horse trailer or a horse and the horrific sites that await you are a world of opportunity to replace. Examples: http://www.horsetrailerworld.com/ http://www.dreamhorse.com/
Hard to believe after 15 years those sites haven't changed and are still some of the most popular equine sites around.
Not any real money to be made in this but someone needs to fix this mess.
I'm sure there are dozens of other types of sites like this but these are two I'm familiar with.
- Due to child labor laws it might be an uphill battle.
- If no one will give you am internship you can try and join a bigger open source project.
- If all fails I'll happily not give you an intership and not have you working with robotics aimed software. Remote though. ;)
The path to mastery is mostly self learning in my limited experience in software so far, so the earlier you learn that and build the skills to learn on your own the better off you will be. Learning on your own without a teacher, grades, mentor, or internship will prepare you more for the real world than most college students.
- Try your hardest, and don't let anyone tell you you can't.
- Figure out if there are any employment laws that could affect you working somewhere.
- Don't tell people how old you are, until it's absolutely necessary (legally), let them judge you on your skillset and portfolio
- Ignore their requirements. Apply and ask for the position anyways!
I don't know the legal ages in the US, but in Europe you can't take work officially below 16. What I recommend is rather to make contact with the leaders of some serious open-source project you like and contribute. You gain some fame and get in touch some people who will happy to take their company bounty to recruit you later. :)
PS: it is just wording, but you probably looking for a apprenticeship, not an internship if you are looking for a formal work.
Edit: comment below is correct, please disregard what I said (although it's still a very bad idea to trick people into signing a contract with you).
That's not generally true, in US jurisdictions; minors can legally enter into contracts, but contracts with minors outside of certain limits are generally voidable at the option of the minor. And a number of states have additional rules which provide conditions which allow some contracts of minors which would otherwise be voidable to be binding if certain procedural steps are taken.
I'm a 19-year-old software engineer for Barracuda Networks. When I was about your age, I was very interested in programming and computers as well. :) (You can actually find screenshots all the way back to the very embarrassing beginning where I tried to figure out how fonts + iframes worked here: http://www.screenshots.com/ghostlypets.com/2005-12-15)
Like you, I spent a lot of time wishing I could just "be at MIT already" or "just get hired to do some work." As most people have said here, however, in the US, you can't legally be hired, as much as this sucks.
However, you should check whether the high school you're soon to be attending has a FIRST Robotics program. You'll get to work on a team, similar to a small startup company, to build a robot (and a website, and a business plan, etc.)
Additionally, one thing that I found was pretty helpful to me was to find some small niches that needed devs (when I started, I used virtual pet sites as this niche, being a Neopets fan, and later moved to Bitcoin when that got popular.)
I got recruited when I was 18 because the company saw me on LinkedIn, saw my Github, and was already interested in me. It was awesome. I'm glad I'm here, it's what I always wanted. But I also have less time to work on "side projects" (i.e. the type of projects you get to work on right now), which means less time to learn what I want to learn and more time to learn what the company needs.
So my advice to you would be to find some niches you're particularly interested in and explore them to the fullest extent you can. Learn multiple languages, learn multiple paradigms, learn multiple architectures.
The web and computers are more complex now than they were when I was young, and they are going to continue to get more complex. The more abstractions you create, the more there is to learn in the entire field of programming. But when you get into a business role, you have to focus on what makes something work, rather than what's new, what's interesting, or what you don't already know. Now is the time to keep doing that sort of thing, and figure out what you really like about programming.
P.S. Looking at you and your friend's sites and blogs, you are the kind of devs companies will be trying to hire. :) When I was young I spent a lot of my time "looking up" to a lot of devs with jobs. Having a job isn't the end-all-be-all to being a dev. It's not even close. There is so much to learn, and so much to do, that nobody will ever be a "better" dev than another. Just stronger knowledge in certain areas. :)
P.P.S. I focused too much on web dev when I was young. You can learn a lot about languages, and it's awesome because you get immediate results. But frameworks like Rails provide a lot of abstractions, and if you want to learn the core concepts behind computer science, using them isn't the best way to learn. Try writing your own framework, try writing a game (command-line if graphics is too daunting). You'll learn algorithms, data structures, and paradigms. That's the type of thing that translates between languages. :)
I’m trying to learn some other languages/architectures, and side projects are basically everything I’ve worked on so far. With school in the way it’s hard to find enough time for everything. That’s why I’m trying to find something really interesting to work on this summer.
Also: I looked into those laws a bit and it seems like once I’m 14 (I will be once an internship for me could start), I can work 8 hours/day while school isn’t in session.
At 12, I started working on an open-source Ruby gem in a not-so-niche market (would rather not say, might give it away). I (American) had an offer from overseas (Britain) to work on a very small project in Ruby using the gem I created. I got paid about $200 I think, over PayPal. That made me want to start working.
Someone reached out to me right after my 13th birthday, saying they wanted to hire me to work on a Rails application, and their idea seemed good. I got nervous when the guy (whose LinkedIn seemed legit) sent over an NDA, but I figured, how much trouble can a 13-year-old really get in? I didn't even tell my parents. I was basically getting paid to work on my gem, which I would have been doing already - no big deal. After about 2 months, I think the guy caught on to my age or lack of experience, because he told me I had finished what needed to be finished. All in all, I made $3500 for about 60 hours of work.
I continued working on my gem for free after that, and other companies reached out for internships, etc. I turned all but one down, because school had started in the fall, and that turned out to be only two months or so of an unpaid internship. I dabbled in other side projects after that - I was bored of working on the same project for what was now a little over a year.
Imagine my surprise when I come back just 6 months after that, and there are two forks of my gem on GitHub and it's been downloaded 30,000+ times (not even counting the other two forks). And yet, the work offers had dried up. I didn't have a website, no recruiters had my contact information, and I was a little lost on what to do. I volunteered that summer, telling myself that more opportunities would arise.
I haven't worked on that project in months. I'm not sure if I'm burnt out from programming (haven't done much of that recently either), but I'm definitely burnt out from that project. I logged onto RubyGems recently and between the original gem and all the forks of it, it's been downloaded 100k+ times. If I created a blog, and started updating the original gem again, I'm sure I could find some work. But I'm not interested in doing that, and I'm not sure why.
I'm headed off to college in the fall internationally, with less work experience than I would've liked and less money in my pocket, too. I'm not sure what the lesson from my story is, but hopefully it will make you take the "too fast, too soon" ideas to heart. Don't stop coding - if it's what you love. But don't let high school pass you by either (just read that you're actually in middle school). My best memories aren't receiving my checks in the mail or making a résumé or even coding, but the time I spent with my friends.
To answer your question directly, no - I was never successful in finding advertised internships for young people. It was discouraging. I'm probably lucky that guy who paid me for months didn't confront me about my age - I'm not sure what would've happened.