- Denis Crăciunescu
- Posts
- How To Make the Most Out of Your Internship
How To Make the Most Out of Your Internship
You should learn to work before you work to learn
So you landed your first internship.
The first day is approaching fast. You can hardly wait to commute to that fancy office — or maybe you are working remotely and you got that cutting-edge laptop that can run Chrome and Android Studio at the same time.
Either way, this period will test your limits. You are eager to see how much technical information you can cram in in such a short time span.
Best practices, guidelines, programming languages, architectures, and so on. You will become proficient in no time.
But what if I tell you that your internship is not about that? What if I tell you the main goal is not to acquire technical knowledge?
The goal is to learn to work in a team. The goal is to inspire growth in a team and create connections.
Let’s see how you can become the element your team needs.
1. Don’t Focus on Technical Knowledge
I got it. I really do. I was in your shoes two years ago when I joined Nagarro as an intern.
You’re probably thinking: “Oh, so many professionals here. I bet they know how to code each and every thing.”
The hard truth is that even the most experienced engineers often Google the simplest things. They have probably implemented it in the past — even multiple times — but as time passes, most of the syntax and rules are forgotten.
What remains is an idea. A mental representation of the solution.
When you have the idea, you have the solution — and you just have to Google the missing pieces. In order to make your ideas stick, you have to make sure they are your ideas, and not someone else’s.
Imagine the process of building an application. You are setting up the navigation flows, the networking layer, the reusable UI components, and so on.
Imagine you do it yourself. You dive deeper into the process and see the problems from different angles. You get to know the limitations, the pitfalls, the roadblocks. Ultimately, you end up with a working application, as well as the ideas that enable you to do the same thing in the future — but faster.
Imagine you ask someone else to help you instead. They will most likely throw you a piece of code that solves your problem. If you’re lucky, they will also explain what the code does. But what happens if the details of the problem slightly change? That piece of code no longer works, and you don’t know how to adapt it since you never really understood it in the first place.
This is why it’s important to focus on ideas, rather than technical details.
2. Get Better at Communication
We all know the stereotypes about developers — the socially awkward bookworms who spend nights in front of the computer.
But you don’t have to be this way. It’s your chance to prove the world wrong.
Take this opportunity to connect with people around you. Even if you don’t continue at this company after the internship, you build a great network that can recommend you in the future.
Keep a friendly attitude and leave your ego at home.
The internship is really just a preparation for real projects. And real projects are really just multiple brains working together to accomplish the end goal.
Now, what happens if all the brains suddenly offend and get offended by the others? The end goal is no longer achievable when every brain is trying to prove its superiority. It’s important to keep a clear focus on the team’s common goal. You have to be open-minded and listen to what the other brains are trying to say.
Listening is the most important communication skill.
When you don’t listen, you don’t improve. This is the main benefit of working in a team — you get to know what others are thinking and incorporate their ideas into your thinking process.
But still, you can be a great listener and socially awkward. What other way to get rid of the social awkwardness than to speak in front of an audience?
Leverage your internship time to try and hold presentations. This is important because you get noticed, you get feedback, and you get good practice in both written and spoken communication.
3. Think Critically
The world of software engineering is extremely opinionated.
Someone will tell you something today, and tomorrow you will hear the opposite from a different person. It’s important to start judging for yourself early in your career. Don’t take everything for granted; instead, take some time to think if it makes sense for you.
Thinking critically opens the door to a prosperous career. You become that proactive developer, able to pinpoint issues and provide best-fit solutions. You are able to adapt architectures to the needs of the project and no longer rely on the previously formulated opinions.
In reality, most of the “best practices” do not apply to you. When you take everything for granted, you end up with suboptimal solutions that only partially solve your issue.
Maybe that state-of-the-art architecture generates a lot of boilerplate, but you only need to mutate a variable.
It’s the small details that make the difference. Focus on your problem, and try to judge if a given solution is indeed a solution or just an additional overhead you have to deal with.
Cultivate this mindset now, and you will reap the rewards in the future.
4. Have Fun
Lastly, the most important thing is to have fun.
If you don’t enjoy your work, you don’t improve your communication skills. You don’t develop a critical thinking mindset, and you can’t be a team player.
Instead, if you enjoy your work, you boost the morale of your team with your high energy. You think critically as you are passionate about finding different solutions, and you become the element that your team needs.
A team is as good as its weakest link. Your job is to ensure the weakest link gets stronger day by day.
At the end of the day, working is a team game, and you are player one.
Live up to your potential, and enjoy the process.