Improving diversity through engineering internship programs
Partnering with socially-conscious coding bootcamps for your internship program can form the foundation of your diversity initiative and provide access to engineering careers for traditionally underrepresented groups. Are these internships right for your company, and are you adequately prepared to host an intern?
A software engineering internship is a formative experience for a coding bootcamp graduate. Internships bridge the bootcamp’s abbreviated technical curriculum with an entry-level developer job. And because bootcamps actively recruit and graduate women, minorities, and other groups underrepresented in tech at much higher rates than universities do, providing internship opportunities for these graduates is an important lever in closing the gender gap and diversifying our shared candidate pool. Internship programs, furthermore, bring significant value to your team, your company’s culture, and your recruiting efforts.
But internships aren’t free — they require investment, particularly in your company culture — and they aren’t right for every team at every moment. In this article, I’ll explore some key considerations that hiring managers and company leaders should account for when building an internship program that caters to coding bootcamp graduates.
Part I: Incentive. Building the case for diversity and inclusion.
I hope you’re already convinced of the benefits of improving diversity and inclusion, and that’s why you’re reading this article in the first place. Nonetheless, I include this section as a quick sampling of the abundance of academic and corporate sources that overwhelmingly endorse the business case for diversity. As you make the case to your leadership team, bear in mind that diversity and inclusion take time and energy to successfully implement and sustain. Don’t promise or expect overnight returns. Also remember that your passionate voice as a champion for diversity may carry more weight than any numbers you put on a slide. With that in mind, here is a little fodder for the data-driven.
Diverse teams serve a diverse marketplace.
New data from Nielsen tells us that the day has already arrived when minority buying influence dominates the U.S. marketplace. “Young people of African American, Asian American, and Hispanic heritage . . . comprise 42% of the [Millennial] cohort and are the nation’s largest workforce demographic.” And women, of course, comprise half the population and nearly 60% of the online retail market (see, e.g., TIME: The Growing Buying Power of Women).
Given this information, doesn’t it make intuitive sense for your workforce, including those involved in product research, design, and engineering, to reflect your desired user base? Fortunately, the data also reinforce this intuition. A 2013 study from the Center for Talent Innovation (underwritten by Fortune 100 businesses) found that “when teams have one or more members who represent the gender, ethnicity, culture, generation, or sexual orientation of the team’s target end user, the entire team is far more likely (as much as 158% more likely) to understand that target, increasing their likelihood of innovating effectively for that end user.”
Understanding your addressable demographics through diverse teams also fosters good will among those new customer populations, deeper global relationships, and other long-term benefits (see, e.g., The Academy of Management Executive: Building a Business Case for Diversity; free login required). Interestingly, new research published in HBR shows how these buying-power factors overlap with the more intuitive social case for diversity.
Diverse and inclusive teams improve company performance.
Beyond the obvious performance improvements that new markets yield, studies show that diversity and inclusion can significantly improve employee engagement and business performance — by up to 80% according to a 2013 study by Deloitte. That study stressed the importance of investing equally in diversity and inclusion, finding that “[t]o feel highly included, a person would not only say that they are treated fairly and respectfully, but that their unique value is known and appreciated, and they belong to the group.”
Improved innovation is another performance benefit identified in the The Academy of Management Executive study; they found that innovation improves with the “presence of different perspectives for the performance of creative tasks.” This finding is mirrored in academic studies on racial diversity; one of which, published in 2006, found that racially-diverse juries are more objective and make fewer mistakes.
And in terms of bottom line effects, brand new data from McKinsey & Company finds once again that, “gender and ethnic diversity are clearly correlated with profitability.”
Lack of diversity is a cost.
Lastly (on purpose), consider the costs of not investing in a diverse and inclusive team. The aforementioned Academy of Management Executive study fund that lack of diversity is correlated with lower retention rates, higher absenteeism, and greater exposure to discrimination lawsuits. Moreover, according to McKinsey’s data, “companies in the fourth quartile on both gender and ethnic diversity are more likely to underperform their industry peers on profitability: 29 percent.”
Need more data? Check out Michelle Kim’s Compilation of Diversity & Inclusion “Business Case” Research Data.
Part II: Investment. Weighing the costs and benefits of engineering internships.
An internship will cost your company real money in the short term in a number of ways, some of which may be surprising. Assuming you plan to follow some of my advice in Part III about successfully hosting an intern, you should be up front with yourself and your business about the costs, and be able to weigh them against longer-term benefits. If you’re trying to build a more inclusive team that better reflects the society we live in, partnering with bootcamps can help you get there. But success requires that you enter the process with open eyes and a willingness to invest in critical infrastructure. Let’s take a look at the benefits first, and get excited about building an internship program!
Increase company and industry diversity
Diversity is the crux of my case for partnering with bootcamps over sourcing interns from computer science programs. Coding bootcamps are an especially popular educational pathway for groups traditionally underrepresented in the tech industry. A 2017 survey by Course Report claims, for example, that bootcamp graduates were 40% women. Though difficult to verify, this number, if remotely accurate, is a compelling contrast to the 18% of women graduating with CS degrees. Some bootcamps are tailored to, or exclusively setup for, women, minorities, low-income people, veterans, or other underrepresented demographics in the tech industry. Partnering with a respected bootcamp with a diversity-focused mission is a great way to contribute to diversity at your company and in the industry.
Investment in your talent pipeline & company reputation
Investing in an internship program, including building a supportive company culture, can improve your recruiting pipeline for more advanced developers as well. One obvious pathway is offering your intern a full-time position at the conclusion of their internship. You’ve invested time, money, and energy into mentoring and molding them; they’re steeped in your company’s workflow, dev processes, and tech stack; they understand your business and your customers; they’re on-track to contribute to team velocity in the near-future: why not extend an offer?
If you partner with a local bootcamp to source interns, you not only create a pipeline for your interns and junior developers, but you form the basis of a long-term recruiting partnership. At Moz, I partnered with Ada Developers Academy to sponsor internships for women moving into software development careers. Ada’s graduates, of whom we had four in my department, are highly-capable and tend to advance quickly in their careers. Moz’s outstanding onboarding experience and intentionally-inclusive environment encourage growth and success for Ada interns. This creates the conditions for successful internships. It also helps build a great reputation for Moz among Ada’s staff and its alumni, making Moz an attractive option for early-cohort (more experienced) Ada graduates seeking new opportunities at more senior levels.
Investing in mentorship opportunities is an essential component for a successful internship program. It is also a direct benefit to the mentor, and to your team.
We all know from experience that “senior engineer” doesn’t automatically equate to “compassionate, effective teacher.” Like all skills, mentorship takes work to master. Thus, mentorship is an excellent professional growth opportunity you can offer; a way that you can add value and new challenges for senior team members, who always need interesting new challenges. Moreover, as aspiring mentors level-up their listening, teaching, and other interpersonal communication skills, they become more empathetic team members; they help set the bar for inclusive communication practices; they make your company a better place.
With thoughtful implementation, the above upsides of an internship program are meaningful and lasting. Before you invest, though, be sure your business understands the costs as well.
The obvious cost of hiring an intern is compensation. Depending on the bootcamp you partner with, you may end up sponsoring a scholarship or paying the intern directly. Either way you’re going to compensate somebody for the intern’s time. Like any other salary, an intern’s compensation can vary significantly with market and other factors. A reasonable estimate for base compensation is around 40% of what you would pay a junior developer.
Velocity and opportunity
Even if you don’t formally measure it, your team has an average rate at which it delivers new product features, measurable over time as velocity. Assuming no change to your team’s composition, average velocity stays relatively stable, with senior engineers contributing more per cycle than less-senior engineers. Because every intern deserves a great mentor (more on that later), and because mentors are typically senior members of the team, adding an intern will incur a hit to your velocity as the mentor and other teammates trade feature development time for support and training of the intern.
Adding a junior or senior developer to your team incurs a short-term velocity hit with a long-term positive ROI. But adding an intern likely means negative ROI on velocity for the duration of the internship.
As we’ll see, the benefits of internships can significantly outweigh the costs, especially as you establish a long-term recruiting pipeline with your bootcamp partners. As you get started, just be sure you’re prepared to ask your highly-paid, highly-productive senior developer to pivot from churning out feature work to being a mentor. And examine whether you and your product are team prepared to absorb the short-term opportunity cost.
Program management overhead
You — talking to you, hiring manager, engineering VP, HR department, tech lead — you are going to spend time with this intern. You’re going to give them life advice and career counseling; you’re going to motivate them and support their learning; you’re going to orient them to life in the tech industry; you’re going to teach yourself and your team and your peers about how to be allies to someone who feels imposter syndrome in a strange new world; you’re going to develop a learning plan. These investments are tough to measure in dollars, but if any of these concepts are new to you, assume you’ll be spending some time learning, practicing, and adapting before you’re sufficiently good at them to give your intern a great experience.
When it comes to company culture, interns from underrepresented backgrounds are no different than candidates for full-time jobs: they want to look around your office and sense that they won’t be a token diversity hire; they want to work somewhere they aren’t constantly the outsider. And yet you have to start somewhere, right? You’re building a diverse team, maybe in a place where diversity hasn’t historically factored into hiring.
My suggestion is don’t start with recruiting, but with with company culture. It’s the foundation on which all the rest of this depends. Recruiting diverse talent when you don’t already have a diverse team is a serious challenge, but it’s one you can’t possibly overcome if you haven’t made the right investments in company culture.
Speaking as a member of nearly all the over-represented groups in tech, I won’t pretend to know what it’s like to be the only woman or minority in the room. But it requires no imagination to know how it feels when someone resigns because they felt ostracized and unwelcome on the team. Add to that the cost to the company’s reputation and future recruiting efforts as word travels (and it will travel) about their experience, and now you’re facing an exponentially more complex challenge. The good news is that the converse is true as well: you can create a virtuous cycle by investing in culture up front. See “Prepare the Business” in Part III for specific recommendations.
Given all of these costs, what fiscal or other arguments would lead a responsible business to invest in an intern? The short answer is that ROI takes many forms, and just because you stand to lose money and velocity in the short-term doesn’t mean you won’t realize tangible and lasting benefits from hosting interns.
Part III: Implementation. Essential features of a successful internship program.
So you’re ready to kick off an engineering internship program for coding bootcamp graduates at your company: you understand the investment required, and you’re excited about the rewards it will yield. It’s time to start preparing. You’ll want to ensure your company, your team, and ultimately your first intern, are all setup to succeed.
Prepare the business
Accept the costs
You’ve read Part II, so you understand that there is some investment required to successfully build this program. Make sure the business, from Finance, to HR, to Product is aligned, and won’t be surprised when you ask them to invest money, time, and engineering velocity in the success of this program.
Embrace the benefits
Starting at the very top, company leaders should be fully bought-in and able to articulate why the benefits of these internships are worth the investment. Communicate intent throughout your company, drawing connections between the bootcamp’s values and your company’s own values, including social and community goals. Explain how the internship program fits within your broader diversity strategy. When the CEO and CTO start evangelizing your new internship program within the company, you’re off to a great start. Later, when you have success stories to draw from, broadcast your program externally and leverage it for PR and recruiting.
Invest in a welcoming culture
As discussed in Part II, inclusive culture is the most challenging, and most important, prerequisite to recruiting diverse talent. Spend some time learning how to support people from backgrounds that don’t match your team’s, and put that learning into action with company policy revisions, solid leadership by example starting at the executive level, and tangible accountability. Here are some ideas and resources to get you started:
- Understand why inclusive culture is essential for diversity to succeed (see, e.g., HBR: Diversity Doesn’t Stick Without Inclusion).
- Reconsider with an open mind your policies regarding access to information, work-life balance, and freedom of expression at work (see, e.g., Nicole Sanchez, How to Build an Inclusive Culture).
- As you partner with socially-conscious bootcamps, invite their leadership to present to your company’s management team about the bootcamp’s mission. They may also be able to help explain the intern’s situation and the unique challenges they will face as they join your team.
- Assign some light reading to yourself and your team to help familiarize them with core concepts of inclusivity. I suggest Kate Heddleston’s work as an entry point, including 10 Ways to be a Better Teammate and How Our Engineering Environments are Killing Diversity.
- Set an example, starting with leadership, that inappropriate behavior won’t be tolerated, and that the company truly lives its values (see, e.g., Geekwire, Diversity & Inclusion Panel).
Identify and cultivate partnerships
One of my favorite aspects of managing internship programs is working with bootcamp partners. Their students inspire me, and their leadership teams challenge me to continuously iterate and improve as a manager and intern host.
Not all coding bootcamps are created equal. A good bootcamp partner will have deep expertise in the unique challenges their students face, and will work closely with you as you design and prepare your internship program. If your organization isn’t practiced in the logistics of hosting bootcamp graduates, select a partner with the experience, infrastructure, and capacity to support a graduates throughout their internship.
Research coding bootcamps in your area, and see which ones have a mission that intersects with your business and community goals. Some great partners I’ve worked with in Seattle include:
- Ada Developers Academy. Ada is a scholarship-based bootcamp for women and gender diverse people seeking to transition into a career in software development. Ada works with corporate partners on building inclusive engineering teams, and even offers in-house training for host companies.
- Unloop. The Unloop bootcamp helps incarcerated people learn to code while in prison, and provides wraparound post-release support for their graduates, including coordinating software development internships. Unloop understands that host companies must practice radical empathy as the intern rejoins society and orients to the tech world, so their excellent program management team provides thorough pre-internship training to company leadership and directly to the engineering team.
- Year Up. Year Up helps close the opportunity divide by providing career and skills training to low-income young adults. They can be a partner for your engineering internships (with a particular focus on the quality assurance track), as well for as other teams like customer service and IT support.
Prepare the team
To successfully lead the implementation of an internship program like this, you will have to joyfully project your dedication to diversity and to your program. Model your passion and make your enthusiasm for the program contagious. Meet each ally and potential ally (especially the skeptics) where they are by being willing to explain the benefits of diversity, and of your internship program, over and over again, keeping up your excitement each time. Consistently model and demand inclusivity. Call yourself and others out when they fall short. This won’t all depend on you forever, but to get things off the ground, and to build the support network you need within your company, will require a lot of your positive energy.
Identify an empathetic mentor
Senior developers aren’t inherently good at mentorship because they are separated by years of education and experience from the world of someone just starting their journey into software engineering. Identify a mentor who will be capable of empathizing with your intern, and who is willing to invest some time in learning new skills of their own.
A common mistake that experts make is assuming that esoteric, top-down whiteboarding sessions will provide useful context. In reality, novices learn within narrow parameters and by practicing practical, repeatable tasks that form the foundation of their work. For example, do you teach a beginner about Git by explaining the internals of SHA-1, or do you empower them to commit working code on day one by practicing basic commands like checkout, pull, status, commit, and push? The Dreyfus Model teaches that novices learn through skill acquisition, and that “deep understanding” is reserved for much later in their development. Mentors must be willing to step back, to empathize with an intern’s situation, to celebrate small victories, and to reserve their deep systemic wisdom for later stages of learning. Pragmatic Thinking and Learning (a book recommended to me by an intern) is excellent required reading for aspiring mentors, especially the content in Chapter 2.
In addition to being empathetic, good mentors must revel in the success of others. I suspect you have a prolific developer on your team whose sense of self-worth and job satisfaction obtains from their proficiency in delivering high-quality, on-time features. Are they going to experience a commensurate sense of achievement when their mentee builds their first React table, or completes their first ETL project? Your business already understands the opportunity cost of mentorship; make sure your mentor is on the same page.
Identify a network
Interns are likely facing some near-paralyzing imposter syndrome, especially when placed on a team that skews senior. In addition to championing your internship program and facilitating a prepared, empathetic mentor, you should recruit a broader network within your company. A network should include people who can offer a sounding board, provide motivation and empathy, offer non-technical mentoring, and ensure a welcoming culture. If available, include some former interns who have recent experience in this person’s shoes. Here’s a template I’ve used for recruiting non-mentor “intern guides” for incoming interns. Try to recruit at least two or three wonderful humans, within your organization but ideally outside of your immediate team, to help create an outstanding experience for your new intern.
Educate key roles
Mentors and other immediate team members should be well-versed on the internship program well before the intern shows up. Together, you should understand the logistics, duration, goals, and expected outcomes of the program. For example, a common question I get near the end of an internship is whether we’ll be extending a full-time offer. Business conditions and team staffing needs may not allow for this option, even if the intern is fabulous. So it’s important that my whole team understands how we define success within the program.
It’s also essential that your team learns about where the intern is coming from. This will help instill empathy and set expectations about what the intern will and won’t know when they show up. Create a shared understanding that people choose bootcamps for specific reasons, including affordability, compatibility with work schedules, better wraparound support, and a focus on immediately-marketable skills — many of the same reasons that bootcamps are better at fostering diversity. Bootcamp graduates will be hungry to succeed and to bridge the gap to a new full-time career. In many cases, their livelihood will depend on success in an internship. Of course, there are different kinds of bootcamps and their graduates will be differently-oriented as they join your team. Learn about their unique situation, and think about ways your team can be supportive beyond providing technical training.
Adapt process and projections
You’ll have to assess what changes are required for your program to succeed, but here are a few tactical recommendations:
- Discuss expectations for changes in velocity with your product management team. Don’t let them find out the hard way that your team is allocating some of its bandwidth to mentorship, or you’re likely to create detractors. Bring them on board well in advance by discussing the benefits your program will provide; clearly communicate whose bandwidth will be limited and for how long.
- Update your technical documentation. This is a good practice for onboarding anyone, but is absolutely essential for an intern. Identify every system and codebase the intern will be using, and update its README so that it’s accurate and thorough enough for a newbie to get up and running.
Build a learning plan
This will take some iterations to get right, but it is worth spending some time thinking about what and how you’ll teach an intern. Try to sketch out a mentorship plan with some SMART goals. You don’t have to account for every minute of the intern’s time, but because they don’t know what they don’t know, they’ll need you to lead them. Plan for the mentor, manager, and intern to meet often to update the mentorship plan with progress and feedback on what is and isn’t working.
Here are some suggestions to consider as you build your intern’s learning plan:
- Specialize. “Beginner fullstack developer” isn’t really a thing. You, and especially your intern, are going to want to see tangible progress, so try to develop a program with some focus — one that encourages early, easy wins and builds on them in a clear-cut direction. My teams have generally adhered to a single-track internship plan, either UI or backend development within a limited set of codebases, and for a specific project. Team rotation internships are also common, though harder to pull off due to the coordination required between teams. Multi-team internships aren’t exempt from this rule, though; each team should still provide a specific focus and goal.
- Stay in the office. “Remote intern” isn’t a thing, and in my experience “remote mentor” isn’t either. I am open to being proven wrong, but because internships require directed, supervised learning, they don’t lend themselves to remote work.
- Pair program, and be deliberate about when the mentor is driving versus observing or directing.
- Use code reviews as a vehicle for technical feedback, and do your code reviews like a human.
- Sanity-check your plan with your bootcamp partner. They’ve likely seen internship plans of varying quality and may have specific advice based on the intern. Leverage their expertise!
Prepare the intern
Onboard and orient
Develop an onboarding process specifically for engineering interns. Consider getting input on this process from your bootcamp partner, and then work with your HR team to adapt the standard company process to address any gaps and remove any superfluous steps. As your internship program matures, incorporate feedback on the onboarding process from your interns. Don’t forget to introduce interns to the inter-team network you’ve setup for them, and, if you have any, to former interns who can help guide them.
Create experimentation space
Walk the intern through setting up a personal code repository that they will own after the internship ends. If it’s feasible, set up an internal deployment pipeline for them in a sandboxed dev environment so they can safely experiment, practice, and accumulate a personal library of sample (nonproprietary) work. If an internal dev environment isn’t feasible, consider helping them set one up elsewhere, like AWS, Heroku, or Nanobox.
I encourage interns to use their experimentation space to create vanilla versions of things they’re building for the company in order to both solidify the core assignment, and to provide a portable version for their future use. For example, given an assignment to build a filterable React table for my frontend team, an intern has to interact with not just React, but React Router, Redux, Webpack, Bootstrap, Docker, and several layers of homegrown utilities and services. Having a personal space to also build a plain old React table gives them a template for similar assignments in different environments, internal or otherwise.
You built a learning plan already, so share it with your intern. Describe their learning objectives and your expectations as their manager. Reinforce that you’re there to help mentor them, in the field/industry/world if not in a technical nature. Repeat over and over how important it is to ask questions; that is one of the hardest things for an intern, and you’ll need to help them get better at it. My co-worker Shawn, before wrapping up a 1:1 with an intern, always says, “before you go, ask me two questions.”
Establish feedback channels
As you do with all of your direct reports, schedule regular 1:1s with your intern, and do them right. Remember that you’re dealing with someone who likely feels out-of-place and unsure of themself, so be radically empathetic in your interactions, and probe for ways to be an effective ally as you support them in their journey. A few things to keep in mind:
- You might be this person’s first boss. If not, you’re quite likely their first boss in the tech industry. Either way, you’re setting the standard; make it a high one.
- Your bootcamp partner is a partner. Leverage their expertise and advice as you navigate any challenging or confusing situations that arise for your intern.
- Interns desperately need feedback (pro tip: actually everybody desperately needs feedback). My strategy is this:
- Provide positive feedback out loud whenever you can do so genuinely;
- Encourage the team to do likewise, especially the mentor, who, along with you, should be the intern’s biggest supporter and champion;
- In 1:1s, don’t hold back on areas for improvement. This person is literally learning from your team how to do their job, and if you don’t tell them what they can improve on, nobody will, and then they probably will fail and it will be your fault.
- Hirability is the goal. Focus on what this person needs to do in order to be hirable in a full-time position. Talk to them about it, and talk to the mentor about areas of focus. You’re a hiring manager, so you’re the absolute best judge of hirability in your industry, and nobody — not even the bootcamp staff — can give an intern better advice on this than you can.
You should also designate a midpoint review date, do so in advance, and communicate your expectations up front. Also, don’t forget to actually conduct the midpoint review!