Lessons Learned from Our Engineering Internships Program: Part 3

Navigate to:

In 2019, InfluxData hired its largest-ever class of interns in the engineering department, with a total of 5 hires into our storage and query language teams. This series of blog posts discusses our experience gained from building this program. (Click the links to read Part 1 and Part 2 of this series.)

In Part 3 of this blog series, we share advice from our remote interns.

Advice from former interns

At the conclusion of our 2019 summer internship program, I conducted a brief exit interview with each intern. One of the questions I asked was: “What advice would you give to next summer’s interns?” In this post, I quote their responses and discuss what we learned from them to help further improve Influx Interns’ experience in the future.

Above all: Ask questions!

“Make sure you know who/when/where/how to ask questions.”

“Make sure you don’t feel bad about asking questions.”

“Don’t pick your own equipment. Ask for whatever equipment your team recommends.”

“Be proactive in approaching engineers for help! They are willing to help, but can’t predict when that will be. Just ask.”

A common dilemma for any intern or junior engineer is determining when and how much to ask of senior team members.  Part of their onboarding included a discussion about how they are expected to ask questions and they should not hesitate to do so. And yet, all the interns I interviewed gave some type of advice that involved asking questions, especially early in the internship.

Some of our interns work remotely, and some in an office. But all of them have mentors and teammates that are not co-located. This means that without intentional action taken to connect and talk, many questions will go unanswered. An interesting insight from the 2019 class was that they saw it as a personal responsibility to stay engaged and ask questions. We also expect managers to perform daily check-ins to create opportunities to communicate, but ultimately only the interns will know when they need help the most. It’s part of their job to reach out when it’s necessary.

Share experiences

“Talk to each other.  Benefit from a shared experience.”

“Help each other (other interns) first.”

“Don’t be isolated.”

Interns should stick together. It is valuable to be a part of a group that is sharing the same experience.  Software engineering is hard.  There are days that this difficulty leads to a task completed and a wonderful sense of accomplishment. Other days, the difficulty leads to a task failed and a terrible sense of inability. Talking to each other, and realizing that this is totally normal and expected can help you work through those difficult times.

Talking to each other also helps the rest of the team. Maybe someone ran into a build failure, and had to get a full time engineer to help fix it. Later, another person runs into the same failure.  If you are talking to each other about your experiences and struggles, then one intern will be able to assist the other through these recurring issues.

Learn to work independently

“Get used to working independently.”

“Be a user of the software before you become a developer.”

At InfluxData, we find it rewarding to both team and interns alike to fully integrate them into team processes. Remote teams tend to manage workloads by doing lots of independent work.  While this seems to be in contrast to the “Above all: Ask questions!” principle, it actually is complementary. In the first several weeks of an internship, we expect to be front-loaded with lots of questions. Our expectation is that we are teaching you how to analyze a problem and come up with a solution and get you to the point where you feel like you can work independently.  What I have found is that interns usually progress in steps: a week or two of questions, followed by a week or two of independent work. Then, when they reach the next level of capability, new questions come up about the more complex tasks they are attempting.