The Intern Project - 3 Key expectations of a great Intern Project.
What are some of the key expectations of a great software development internship project, and how do you demonstrate your full potential delivering it?
For an Audio Summary, click the Play button below:
During my almost two decades long career at Microsoft and Amazon, I interacted with a lot of interns, mentoring and managing many of them directly. I first became a mentor myself in 2010, when Paul, my manager at the time, asked me to coach and guide our new summer intern (let’s call him Jamil). It was the first experience I got in directly influencing the growth and success of another team mate. Jamil went on to have a successful internship on our team, and also got a return offer to join Microsoft full time. A few years later, when I became the Engineering Manager of the team, Jamil was still on the same team and continued to have a thriving professional career. Jamil is now a Principal Engineer at Microsoft. Over the years, I have observed a lot of careers similar to Jamil’s, that started as an intern and went on to grow to senior and principal levels. The three key expectations I talk about below were common in most of the successful internships.
One of the fundamental artifacts of a Software Development Engineering internship is the Intern Project. It defines the expectations of what the intern would deliver during their 12 weeks on the team. A lot of preparation goes into making a crisp intern project plan. Within experienced software teams that excel in hosting interns, the preparation usually starts a few weeks before the intern even shows up. Picking the right project usually involves the intern’s mentor and manager working closely with the team and coming up with a few ideas of what can be delivered in a short amount of time. The ideas are refined and the project plan is prepared usually in a written format, that is shared with the intern at the start of their internship.
So how would you know if your project is a great fit for the internship? To find the answer, let’s dive deep into understanding 3 key expectations of a great Intern Project.
For my internship at Microsoft, Matt had prepared a great project plan. I was expected to build a feature in Project Web Application (PWA) and the associated Backend APIs in Project Server. The feature, called Portfolio Modeler, was part of the previous version of Project Server that shipped in 2003. I was asked to build the same feature for the next release of Project Server, planned for a launch in 2007.
“Start with the backend, and work your way through building the right set of APIs, and eventually consume these APIs in a new Web UI for the feature”, said Matt.
By the time I started on the team, they were close to wrapping up a major development phase for the next release. Matt was honest with me from the start in setting the expectation that Portfolio Modeler may not ship with the next release. But this very fact made it an excellent project for me to work on as an intern. I was not in the critical path of the team’s work and would have the flexibility and autonomy to build at my own pace and explore all the aspects of the feature without any pressure from stakeholders around integrations and dependencies. Matt assured me that all the dependent components were ready and I just had to consume and integrate with them, not the other way around. This key aspect of my intern project allowed me to focus on building my components of the project, and stretch myself in different directions, that went beyond the original scope of the project.
Tip #1: An intern project must be self contained and outside the critical path of the team. Try to minimize dependencies on components that are actively being developed.
Keep reading with a 7-day free trial
Subscribe to Servant Leader to keep reading this post and get 7 days of free access to the full post archives.