Making the Most from your Onboarding Experience

Logan Saso
Imgur Engineering
Published in
6 min readAug 22, 2018

The First Week

For the past two months I’ve been an intern at Imgur working with Golang on a micro-service backend. If you are not totally sure what a micro-service backend is, that’s ok, I didn’t either. Initial productivity is heavily dependent on how a company brings in new employees, a process often referred to as onboarding. I doubt I would have been productive at Imgur nearly as quickly had it not been for a positive and productive onboarding experience.

The beginning of an internship is the most stressful part, but it can be less overwhelming with constructive onboarding practices that aim to ease your transition into a new professional environment and quickly prepares you for developing. Onboarding is the first step towards understanding what to expect from your internship. If your company does not take you through an onboarding procedure there are still steps you can take to prepare yourself for success.

My Experience at Imgur

The first week of onboarding meetings consisted of topics including marketing, community, sales, and company values. With Imgur, these were conducted by the heads of each respective department ending with the CEO presenting the company values. I understand this hands-on approach isn’t accessible to everyone because larger companies won’t be able to set aside time for the CEO to meet new hires but any meetings you have in the first week (and after) are still great learning experiences. By the end of the first week I knew exactly what we were creating at Imgur, how the company operated, and why.

Learning company values and operating procedure early is a good way to get started. During the first week I was paired with an onboarding buddy who did a great job of answering my relentless questions about the company culture, operating procedure, and engineering stack. His help was invaluable towards learning and establishing how I fit in at Imgur professionally. For no fault of his own we were not on the same internal engineering team, leading to a disconnect of focus rather early but by that time I was ready to start working.

I soon realized that I was unsure who to ask about my various engineering questions. In this case, my technical lead was willing and more than capable of helping me through any development issues I encountered.

Making your Onboarding Meaningful

Just as it is in your employer’s best interest to make the onboarding process impactful, it is your best interest to take advantage of it. If your company doesn’t have a thorough onboarding process, make sure your first order of business is to familiarize yourself with the company software and mission. It is also often helpful to learn about the company values as it will affect the developing product.

Knowing who to ask about unique topics is an important part of getting started quickly. You won’t always be able to rely on the same person to answer your questions. You should at least know the following people:

  • Your direct supervisor
  • Your project manager
  • Your accounting director
  • Your human resources manager
  • Someone who works on your project
  • Someone who works on closely related software (i.e. an app or website)

These six people will be able to answer any question you have about your work and the company, or they’ll be able to tell you who can. Try to introduce yourself to each early on in your internship to establish this network.

The second step is familiarizing yourself with the code outside of your comfort zone and the reach of the software you’re working on. For large companies it may be difficult or even impossible to have a handle on all of the different projects. I find that it is easier to familiarize yourself with a project after familiarizing yourself with its context. This can be accomplished in a few ways, but I tend to do the following:

  • Understand how the codebase interacts with others (e.g. If you’re writing back-end, review some front-end code)
  • Learn how the different solutions interact in production
  • Read or review pull requests from associated projects you are not working on
  • Understand the context from previous architectures of the software, especially if you’re migrating or redesigning it

Gaining this architectural context will help you develop solutions that satisfies established requirements more efficiently and will help you predict the next steps for the project more accurately. Often times pull requests house conversation that directly relates to the code in development and production. Reviewing more PRs forces you to read more code, contribute to conversations about the codebase, gain insight into other parts of your company, and understand how everything fits together.

Avoiding Common Pitfalls

At a past job, onboarding consisted mostly of unrelated online training exercises. Since I had no information about what I was going to be working on I spent a few weeks finishing trainings that ended up having little to no impact on my work. Ask yourself how you can be most efficient during onboarding. In my situation, asking the other interns who started before me whether or not a particular training was relevant saved me from roughly half of the onboarding time.

With that in mind, be wary of overexerting yourself the first week. If you feel like you haven’t been as productive as you wanted to be that’s ok. You can assess yourself in just a few steps:

  1. Take a short break
  2. Review what work you have done
  3. Familiarize yourself with what you have left to do
  4. Ensure that your information channels are open by knowing who to talk to and how to reach them
  5. Read project goals and documentation
  6. Analyze what information you need to finish
  7. Keep on programming
Just keep swimming!

Be wary of promising the world. Your employer will appreciate someone who can fairly assess their own ability more than a yes-man who tries to do everything. Understand that it’s ok to ask for help if you’re confused or reach out for pair-programming as these activities will help you be more successful going forward.

Everything is a learning experience. When I first started at Imgur I was having a problem installing one of our custom command line utilities. After about two hours, I realized that the ... as a part of the URL was very important and trying to install the tool with only one . was causing it to fail. In my naïveté I made an assumption that simply wasn’t accurate. From this I’ve learned that the go command uses ... to match all packages and that I should more closely review and research terminal commands (or any code) before using them.

Anything that takes you time to complete will take other people’s time too. If it took over an hour to fix, write a short paragraph about what problem you were having and how you fixed it. Later, you can use that experience and the notes you took to save people, yourself included, from losing more productive hours. Hours of work today will save the company days of work tomorrow, so long as those hours are well documented.

I wish you luck

Whether you’re starting your first internship or your fifteenth, a good onboarding experience makes the difference between walking in the first month and running in the first week. I hope that reading this post has helped, informed, or otherwise progressed how you approach onboarding and getting started at a new company.

--

--