Mastering your first week: An onboarding guide for Software Engineers

Jeffrey Yu
5 min readJul 9, 2023

Last week, I started my journey as a Software Development Engineer intern at Amazon. Being new to everything in such a large company, I found a way to navigate through the massive load of new knowledge, and gained the most out of my first week.

Having a decent onboarding not only gives a good first impression to your teammates, but also prepares yourself for the upcoming tenure at the company. Not every company provides hand-to-hand onboarding resources or mentoring guidance, so it’s important for you to prepare for self-onboarding.

At the end of the day, the onboarding is not a bunch of mandated tasks to complete, but for you to learn enough things and really become a part of the team, and not being (or treated) as a newbie anymore.

Here, I would like to share four things I found most beneficial to my onboarding, which might prove helpful to you when joining a new company.

Networking, networking, networking

The first crucial step in onboarding is networking. A common mistake by many people is to avoid the chit-chat and put their head down into work, especially for software engineers (since most of us are introverts).

However, meeting new people could provide insights into the company and potentially valuable resources. Indeed building connections costs time and might not give back immediate value, but you never know how people you met will end up helping you. As a new employee, you can’t go anywhere without others’ help.

For example, I met my fellow interns by ordering lunch together. I thought we are merely having a good time during lunch breaks, but they ended up helping my during work by sharing their design doc templates, helpful tool setup links, etc.

Don’t be afraid to reach out — most of people in your company are more than welcomed to introduce themselves and share with you their experience (and their fun stories in the company). In the office, I usually just come up and say hi, or grab lunch with new faces. If you’re working remote, I would suggest setting up one-on-one with people you want to connect with.

Know & Participate in your team’s workflow

Next, know and participate in your team workflow from day to day. For meetings, when and how does your team do standup meetings, sprint plannings, etc.? In work, how does your team do code reviews and CICD pipelines?

For me, my team has a bi-weekly spring planning meetings. I went to the first meeting even without having any tasks in that sprint, but just to know how the sprint workflow works. By doing this, I knew how to participate in the following sprint plannings as a real team member.

Know and participate in those team workflow helps you jump into your actual work faster, and embrace yourself to be part of the team’s force.

Understand your team’s ownership

At first, the thousands lines of code in your team’s project codebase can be scary. However, the important thing is to understand your team’s ownership of those projects at a higher level. Find yourself the answers to these questions:

  1. How does your team’s projects contribute to the company’s value?
  2. Who are the stakeholders of your team’s projects? (customers, other teams, etc.) How does the projects impact them?
  3. What stage are these projects at? What have your team accomplished and what are the future plans for these projects?

By understanding the owernship of your team, you gain the following:

  1. What the project you’re going to work with actually does. Find the meaning of your work.
  2. How each of your team member contributes to the team. Have a clear picture of your team members and thus a better conversation in networking.
  3. Know what you should focus on in your work. Your work in the end contributes to the value of your project that brings to the stakeholders. Make clear success metrics and ace your performance review.

Write down your goals & accomplishments

Personally, I maintain a work log that keeps track of:

  1. Tasks that I plan to do before the start of a day
  2. Tasks that I finished by the end of a day
  3. Blockers that are the reasons I didn’t finish some of the tasks

Since I started writing my work log, I find myself having a clearer mind when going into a new day, by knowing the exact tasks I need to focus on for today, and nothing else. By the end of the day, I can proudly call it a day by crossing off the tasks I finished (and that feels so good).

Listing the blockers help me lists the exact things I need to continue working on tomorrow for the unfinished tasks, having a smooth handoff from day to day. Sometimes. writing down why I’m stuck in a task actually gives me insights on how to solve it. As well said, clearly writing down a problem solves half of the task.

When coming back to see my work log after some days, I know what progress I made, what I did good and what I didn’t. I would suggest not only do this for daily tasks, but also write down high-level goals and accomplishments for weeks, months, and quarters. Having a good habit of recording your work helps you get better review of the past and set forward on a brighter journey.

Hope you have a wonderful first week and ace the onboarding!

Connect with me on LinkedIn ❤️

By the way, I’m building Teamie, a conversational AI help desk that brings effortless employee support to business. It also helps business onboards employee faster, by giving them the information they need. The waitlist is now open and come check it out :)

--

--

Jeffrey Yu

Incoming SWE @ Meta | CS @ UCLA | Ex-intern @ Amazon, Paramount | Contributor of Rocket.Chat