Technologist linkedin:patrick-mccarthy-26a8111 Follow me on Twitter @pat__mccarthy
This article compiles insights from interviewing current and past interns on what to expect, dispelling many inaccuracies held by students before their internship program starts.
As part of their course, undergraduates take sandwich placement or a summer internship. Expectations of the experience are partly formed through passive osmosis from the popular movie industry. Interns doing coffee runs and being viewed as burdens is the stereotype. Ryan from "the Office", being called 'the Temp' and doing menial tasks for Michael. In the "Devil Wears Prada" Andrea Sachs performs coffee runs for Miranda Priestly.
This is not what interns should experience! Internships provide valuable industry experience that supports graduates in taking their first steps into the industry. Interns can expect to be treated professionally and treated with respect! Being made feel welcome is very important to companies. Employers seek to support the growth of interns and identify promising ones as potential future hires. Interns put in their best effort!
For many undergrads, there are few opportunities to engage with professional engineers on early career topics. In recent years, academia made great strides to bring speakers from industry onto campus. Some universities organise previous internship minglers to ease student anxieties. This goes part way to counter-weight movie portrayals of internships.
Interns still do not get a realistic set of expectations. Due to companies not having a standard framework for internship programs. Different teams operate under separate domains and priorities.
Industry-wide internships are never going to be perfect. They can with planning and effort deliver a spectacular experience for individual interns.
Researching this question directly with interns and analysing the results yielded some interesting insights. I'm going to focus on the ideal so everyone understands the need to hold high expectations for their internship experience. Holding companies to high expectations, crafts a great experience for everyone.
Don't worry if you are not in an ideal placement! I have added in a couple of pointers to make sure you are able to get the best out of any situation you might encounter.
Myth No.1: Interns are left on their own to figure out their assignment.
Interns follow a planned onboarding process that is curated so that they gain the skills they will need to excel. Assignments are selected to challenge and develop the interns. As an interns skills grow, project scopes are allowed to stretch to keep pace. A friendly coach known as a technical buddy is assigned to assist the intern on the project to keep it and the student on track. It's a symbiotic relationship, the technical buddy gains coaching and mentoring skills too.
In a fully remote environment, teams enjoy face-to-face contact every single day. Software teams use agile (70% of the industry) to run projects, agile ceremonies anchor the joiner's day on their assignment and increase bonding amongst the team. The daily standup ceremony clarifies everyone's progress and identifies any blockers that need help. Other agile ceremonies happen within the sprint cadence. These ceremonies provide planning, momentum and structure to everyone on the team.
Interns! Reach out to the team leader if the level of challenge is too low.
During the placement, many companies arrange a series of internship events to increase the networking ties between interns, have fun and widen the experience beyond the assigned team. Volunteer to do extra event planning activities besides project tasks, as a skill building opportunity.
Myth No.2: Intern Projects will not be used by real end customers.
Many internship projects involve changing customer features or bug fixes and these go to production. Intern's code will reach production, after it passes through the teams code checks and peer reviews, same as everyone else.
This is the norm not the exception!
Myth No.3: Getting to know team members will be hard.
Developers are "wired in" and must not be disturbed. In "The Social Network", Mark Zuckerberg (Jesse Eisenberg) was coding on his laptop with his earphones on and Eduardo Saverin (Andrew Garfield) approached to confront him, but Sean Parker (Justin Timberlake) pulls him aside and says “he can’t talk, he’s wired in”. Being in the flow is real, but developers are very approachable and are fine with occasional daily interruptions. Once you bond with the team, you get to know how to work with their styles.
Modern teams value bonding time, they realise it is a factor in achieving strong collaboration. Team building events are held weekly or fortnightly. Friday quizzes, team tea chats etc... are all common practices.
Many companies have a meet & greet activity as part of every new joiners onboarding plan. Even if this is absent, interns should move into an active networking mode. Schedule fifteen minute connects with team members and other connections they interact with. Everyone appreciates new joiners taking the initiative to reach out to deepen the connection with them.
Myth No.4: Success is measured by the amount of code you write.
Focusing on completing tasks as fast as possible and quickly jumping to the next one is not a good way of working when you are up-skilling. It's harmful to your growth, causing you to develop bad practices.
Take time to understand the changes you are making. Look back over your code when it is working and make further changes to make it more intuitive, readable and modular. Repeat the exercise one more time before submitting it for review. This is hard for the first couple of attempts but it becomes negligible. Taking your time will prove invaluable in making the correct implementation decision and for avoiding unnecessary rework due to code review comments.
It would be unusual for any inexperienced engineer not to be asked to make changes to their first implementation efforts. Perfect is the enemy of the good. Egoless coding is the goal. You are not your code. Design and code reviews from more experienced peers is a gift that should be accepted with gratitude. The more your ability grows the more difficult it becomes to get new knowledge from others. Surround yourself with more skilful engineers to grow quickly. Self learning is far slower method, but required by necessity as your skill progresses.
Myth No.5: Expectation of not having anything to say at meetings.
Project planning meetings occur as part of agile sprints. Talking about the assigned project progress and the tasks for the next sprint eventually becomes natural. Your assigned buddy will help here until you find your feet. It's normal to be reluctant to contribute during meetings until you understand your assigned project enough to get started.
Once you are up to speed with your project, you will gain enough confidence to speak about the status of the work that you are undertaking.
Many teams perform agile planning poker estimations for tasks so they will fit within the sprint (usually two weeks time window). These planning sessions allow space to ask questions and to clarify your understanding of stories (assignments). Asking clarification questions can be hard at first, but after a few sessions, do take part. Interns offer a unique perspective and their opinions are taken seriously. Top Tip: Use a neutral estimate (like * or ?) until you have had time to get up to speed.
Myth No.6: Managers are an authority figure, focused on ensuring everyone is busy.
Managers are there to support each person to be effective in their role. Management provide leadership through guidance (priorities, knowledge, processes), creating an environment that brings out the best in everyone and removing obstacles to productive work. Managers are not clock watchers, you are expected to handle your time within a flexible schedule.
Do reach out and interact with the team manager, they are a big part of your successful internship, if something is not going correct, let them know, and they can put things back on track for you. Schedule a repeating time slot to spend with your manager on their calendar application during your first two weeks.
If you do find yourself with a "too busy manager", talk with your University coordinator.
Myth No.7: Internships are not paid, you benefit from the experience.
Software engineers practice continuous life-long learning. Learning on the job is normal. Software internships are paid, and interns perform valuable high skilled work. Try getting someone off of the street to fix a compilation error!
I hope this article has dispelled some myths about software internships and answered why it's important for interns to hold companies to high standards. The first big takeaway is that internships are not how they are portrayed in the movies. They are a fantastic opportunity to see how software is developed and deployed in industry, providing the opportunity to up-level your skillset. Companies are full of welcoming people holding similar educational backgrounds to undergrads, and there is a strong structure and support provided by specially designed internship programs.
The second big take-away is take the initiative to avoid ending up "cratefallen". You have the power to influence your experience, engage!
If you found this article helpful please add a reaction.
Create your free account to unlock your custom reading experience.