Many larger public companies have formal intern programs. This post is primarily aimed at my fellow technology leaders working at a growing startup or tech org, or to a branch of a larger org that doesn’t have a program.
Note: If you’re here because you’re looking for an internship yourself, you might be interested in my insights into the software developer internship interview.
I’ve personally been involved with or have run intern programs in almost every tech org I’ve been in, from five-person shops to my current group of ~50 engineers.
If you’re thinking about setting up an intern program in your product development or engineering org, my experience is that starting with why sets you up for success communicating both inside your org (your boss who wants to know what you’re going to be doing, finance who doubts the ROI, etc) and out side(candidates, student services, the broader community).
Here are five reasons to build a software developer intern program, sorted from the most pragmatic to the highest level:
1. Build yourself a talent pipeline
A healthy percentage of your interns should become your new Juniors / Dev 1s at the end of the summer. In my current tech org we annually make offers to over 50% of our interns. An intern program gives you access to raw, talented candidates. You’ll be able to observe how they work, how they collaborate and and if they take (or refuse) coaching and training over a brief, timeboxed period of time (2–3 months).
This might be a very short term, super pragmatic reason to host an intern program… if you’re not excited yet, read on.
2. Provide experience to your next wave of engineering leaders
Thinking about leading your intern program yourself? Think again…
Leadership opportunities can be scarce on an agile team where a staff engineer’s primary role is to punch down user stories. Leading or co-leading a summer intern program is one way of breaking that monotony with an opportunity to stand up a team as well as, if you choose to greenfield, a product nose-to-tail in a low risk environment (Note: Big recs for Greenfielding… you aren’t planning on having your interns work on your mission-critical project, are you?)
At my current tech org we choose a new leader for every intern class. Usually a Junior-level dev trying to make the jump to Senior or else a Senior-level dev trying to make the jump to Principal or Manager.
Providing new leadership opportunities is, unsurprisingly, a key element in developing your future leaders.
3. Diversity Opportunity: Include a non-CS pipeline
In coding bootcamps, male graduates outnumber female graduates. However, the distribution is much closer to equal than that for traditional computer science degree programs in which 79% of degrees are granted to male graduates. Additionally, the “non-binary” category below includes those who self-identified as “non-binary”, “transgender”, or “other”.
21% is certasinly an improvement over my data-point-of-one experience when, as a Computer Science student at San Diego State in the early 2000s, I would often find myself in classes with 30–40 men and maybe 1 or 2 women.
Including code academy graduates also increases the talent & skills spread of your team. Anecdotally, a healthy subset of code academy graduates are career changers with backgrounds outside of engineering and computing. These are more likely to become your T-shaped employees, as well as components in a more broadly rounded-out tech org.
4. Longer-term talent pipeline
Eventually, the former interns you hire will start referring more interns. It’s a mini talent flywheel: Interns that get a good experience join your team and by continuing to have a good experience start to refer the juniors in their cohort who become interns who join your team and…
After 5 years of intern programs, we have a reliable pipeline of intern candidates and future Junior Devs coming out of our local university campus as well as establishing tendrils into the local code academy community.
5. Build the bridge
A strong opinion I’m trying my best to weakly hold: Tech isn’t an industry, it’s _the_ modern industry.
Writing software is just one of many jobs in tech (I have so much more to say about that theme…). It’s a very important one, and getting your first job as a professional software engineer is one of the biggest hurdles to unlocking opportunity.
Even if the altruistic notion of helping people doesn’t appeal to you, it’s hard to even glance at dystopian possibilities without feeling _some_ sense of responsibility or desire for ensuring that opportunities in tech extend across gender, race, age and geophysical spectrums.
I state this without numbers — if anyone is interested in helping quantify statements like this, let’s chat — but with strong belief: A well-run intern program at a modern software development shop will, by virtue of the opportunities given to CS grads, Code Academy grads, self-taught programmers and all the future referrals they will make, have a significant net positive impact on the world.
Thanks for reading. Hope this list helps inspire you to start or tweak your tech org’s intern program.