The good thing about a lot of programming jobs is you can test whether or not somebody know’s their shit. So there’s less of this CYA (cover your ass) that happens by hiring people with fancy credentials in other jobs that are harder to test for.
I’m not sure where you’re starting from - if you know some programming already or if you need to learn it - but, in general, you can follow this process. I’ve used this process in my own career and in helping dozens of teenagers land jobs. This even works at companies that are not hiring.
- Identify a handful (5–10) of companies for whom you’d like to work. Focus on high-growth companies. Why? They provide the best opportunity for you to stay on long-term and you can approach them with a solution to an existing problem they likely have (“how do we hire enough talent while we are growing quickly?!”). I recommend using the Inc. 5000 Fastest Growing Companies list if you’re in the US.
- For each company, find somebody at that company who is likely in charge of hiring programmers. This changes depending on the size of the company, but it might be a Vice President of Engineering, the CTO, a Director of Development, or even a cofounder.
- Identify their email address. This is usually some form of [firstname]@businesswebaddress[dot]com, or [firstinitialoffirstname][lastname]@businesswebaddress[dot]com.
- Draft up an email to them. Use one of my scripts in my 12 Done-For-You Email Scripts as a starting point.
- Look up some common problems that these types of companies have. Do they need to build out a mobile app on Android and you have the skills to do that? Can you help with that? Maybe they need to redraft a specific page on their website and you can help with that. Or maybe there’s something server-side that you suspect is going on that you can help with.
- A good way to find out what they could be doing that they aren’t, even if you don’t know a lot about the specific company, is to look up their competitors and see what they’re doing. This is particularly useful with companies who have some competitors that are bigger than them and are actually formidable.
- Draft together a proposal document saying what, exactly, you can do to help solve this problem. If you can actually start building out the solution, that’s even better.
- What you’re doing here is signaling to them that you look for opportunities to help and that you’re not going to be a total time-suck to at least talk to.
- Email them. Make sure to request a specific time to sit down and talk. Like I said, I’ve got a script on this on this site.
- In the conversation, especially if you’re younger than 17 or 18, acknowledge that you are young but that you’re experienced for your age, that you’re highly coachable, and that you are looking to grow with a company. Some companies will balk at the idea of hiring somebody younger than 17, but a select few will take you up on the opportunity.
- If you can work for free during a trial period of a few weeks, that’s always a huge plus to companies who are taking a risk on somebody so young.
In general, here are some things you can do to increase your chances:
- Have a public portfolio of your work and keep it updated. here on how to prepare your GitHub for getting a job. has a good post
- Work on something independently that you can point to as a learning opportunity. A good friend of mine who doesn’t have a degree recently beat out 4,000 other applicants for a highly technical job. How? He had a passion project that forced him to constantly learn and apply what he was learning.
- Work on small, one-off projects with people more experienced than yourself. You can use a truncated version of the above flow to help you get in contact with these people. If you do a good job, you can get referrals through them and essentially absorb their networks. Imagine having the professional network of an experienced, 35-year old programmer at 18.