How To Finish Your Software Engineering Internship Strong
We are about half-way through the summer and being half-way through the summer means being about halfway through college summer internships.
Internships are interesting. I know in my own internships, there was always this struggle of proving my skills, trying to learn, and also trying to have fun. I’m sure many other interns out there are struggling with the same tensions between working hard and playing hard. This is especially true since being at the halfway point is after the initial excitement has worn off, you don’t know if you will complete the project you were assigned by the time you leave, and your already dreading going back to school.
But finishing strong in your internship is going to be vital for you to get the most of our your internship. So how do you finish your internship strong?
Accept You Won’t (Completely) Finish Your Project
Chances are you were given a project that seemed really small when you started. You thought “I got this. Easy.”
But now you are realizing you missed an edge case. Or you are missing proper documentation. Or you simply are bugged by some of the hacks you had to write to get it all working.
Accept that in the real-world, projects almost always will lack something and they usually never “finish”. Even if whatever you built gets into production, that isn’t the end of the game. In fact, it’s just the start of the support and maintenance phase. So don’t beat yourself up for missing a few things. Don’t hang your head that you could’ve have done a few things better. If you got it most of the way and your mentor/manager was pleased, accept that as truth and validation.
Remember You Will Have More to Learn
You have also likely been drinking from a fire hose in terms of technology, process, and general knowledge. At least I hope that has been your experience — otherwise you aren’t getting out of your internship what you need which is real knowledge.
With that said, I’m sure there are a few things that you haven’t fully figured out. I’m sure there is a concept you didn’t fully grasp and had to “fake” your way through it.
Remember that no one — repeat no one — that understands everything. Even the framework gurus on your team have things to learn and the architects in your company don’t understand everything in software that there is to understand.
Focus instead on what you have learned and make a list of what you need to learn this year in school. One of the best ways to choose what to study is to understand what you wanted to study when you were in the real world.
Don’t Forget the Small Things
The small things will eventually become the big things in your career. Things like saying “thank you”, asking for help with humility, admitting when you were wrong will take your farther than knowing the OSI model better than anyone else.
Small things also include writing the documentation you don’t want to write. It means taking an extra minute to write a good
git commit message rather than just
fixing bugs. It means taking the time to prepare for a presentation instead of surfing Twitter or Facebook for a few minutes.
Also, make sure that you are still remembering to take breaks, to rest, to have fun! I’m sure there are some interns working 80+ hours a week at Tesla or Facebook trying to make a name for themselves and more power to you. I would just caution you that the patterns you establish now around work will carry into your career after school (if you choose to have one) and time is more precious than you think.
Reflect on Your Experience Before You Finish
Start writing down your thoughts on your experience so far. Think about what you have enjoyed doing, learning, and trying. Write down how you feel about what you have achieved or haven’t yet. Think about what you like about the company and see if you can extrapolate what that means about what environment you want to work in.
The goal of this is to start understanding what you want in your career and what you don’t want in your career. I had the fortunate chance to work at a small company (~15) for my first internship and a world-wide organization (~75,000) for my second. I was able to see the pros and cons of both and helped in my job search after graduation (spoiler, I work for an awesome company called Bandwidth here in Raleigh NC if you are looking for a place!).
Don’t Leave Empty Handed
I don’t mean this in the sense of being greedy or trying to show off. I mean networking. Don’t leave without connections from your team and favorite co-workers/mentors. Don’t walk away without taking some bold actions to ask a senior dev or architect for breakfast or lunch to pick their brunch.
Because here is the truth: networking is what will get you jobs down the road. It's what will help you learn too since you will be able to keep tabs on what people are working on.
If you can do these things well you will finish your internship strong. It will give you a better approach to your school. It will give you a better perspective when you start your job hunt. And I bet you will have a network of engineers ready to extend you an offer once you are done.