Discover more from High Growth Engineer
7 Tips to Crush Your Onboarding from An Apple Staff Engineer
Guest post by Staff Engineer at Apple, Akash Mukherjee
Hi everyone 👋, Jordan here.
I’m excited to feature , Staff Engineer at Apple and author of Leadership Letters, a newsletter growing you into a better leader in < 10 minutes each week.
Akash onboarded at Apple one year ago and Google before that. He’s made mistakes that have bitten him hard. Today, he will teach you how to avoid those mistakes and what you can do to have a successful onboarding when joining a new team or company.
Hi High Growth Engineers, Akash here 👋
How do you feel when you sign an offer letter for your next role? It’s exciting, right!?
There’s a promise of growth, more compensation, and a new beginning.
But joining a new company can be frightening. You left a lot of knowledge behind.
All the familiar codebases, tools, PEOPLE! It’s all new and unknown now.
One year ago, I left behind my comfortable life as a TL at Google, where I had spent the last 4 years, and started at Apple as a Lead (equivalent to Google L6/Staff). Despite having a great team, my onboarding was challenging.
When you switch companies, you remain the same, but everything else changes: new tools, systems, people, and, above all, a new culture.
And the pressure: “I need to make a great first impression.”
After onboarding at Google and Apple, I've picked up ways to do it wrong, and ways to do it right.
This post will give you 7 techniques I learned to make your onboarding smoother.
📋 1) Draft an Onboarding Plan
Your onboarding begins before you sign the offer.
Your chances of quickly ramping up depend on how prepared you are. But I’m not talking about being a master of the tech stack.
Start writing a plan when you sign the offer to join your next company. When I started at Apple last year, I created a 30/60/90-day plan. It doesn’t have to be anything fancy. Here’s what my plan looked like:
Yours might look a little different. It depends on the company you’re joining and your starting level. The first 90 days is an excellent reference for creating a 30/60/90-day plan. There are a few things to keep in mind when creating a plan:
Align with your manager and skip manager. This will set the right expectations and exposure.
Don’t over-promise and under-deliver. It’s always better to do it the other way around.
Own your journey. Show passion and seek feedback regularly.
If you take charge of your onboarding, it fosters trust with your manager.
🎁 Grab the free 30/60/90-day template I shared above.
🎯 2) Set a Daily Goal
Feeling imposter syndrome during onboarding is common. This was true for me everywhere I started, especially Google. The best tip I got from a senior engineer was:
“Make at least one code contribution a day”
It stuck with me. During onboarding, I’d go through thousands of lines of code every day. Occasionally I’d find:
Minor bugs like typos and outdated comments
Code structure issues
Documentation bugs
Irrespective of how minor the fixes were, it made me feel productive. As I started making daily contributions, I began to:
Feel part of the team by making things better for everyone
Familiarize myself with the process by making real changes
Engage with others outside my team in code reviews and discussions
It was one of the best tips I’ve received. Improving documentation, fixing a bug, and making any small change will psychologically make you feel part of the team.
🤝 3) Find an Onboarding Buddy
An onboarding buddy is your tour guide into the new organization.
This is common across companies today. But if you aren’t automatically assigned, work with your manager to find someone. I prefer someone outside my team. It’s helpful because you feel safer, not being judged from a performance point of view.
Here are tips to make the most of your relationship:
Ask tons of questions. I’d come with questions like:
How to do x, y, z
How decisions are made in the organization
Meet with your buddy at least once a week
Get constant feedback. It’s your secret to faster growth.
Take a tour not just of the office, but their workflows, tools, etc.
Set up pair programming sessions. It will help you ramp up in the codebase.
Your onboarding buddy is your greatest asset. Partner with them closely and soak in all their knowledge like a sponge.
👤 4) Get a List of “Important” People
Your success in your new role depends heavily on how well you network.
Onboarding is the best time to forge important relationships. The “importance” is based on your chances of interacting with them in your first year.
If you’re like me, it can be hard to send messages to strangers. A short introduction and asking for help has worked well for me.
For example:
Hey <X>, my name is Akash, and I recently joined the <Y> team. Your name came up in a conversation with <my manager>. I’d be interested in learning more about your work and introducing myself. Would you be open to chatting sometime?
Your goal in these 1:1s is to get as much information as possible. Take notes. A lot of what you learn won’t make sense to you. My recommendation is to listen and ask questions. As a new person, you are missing a lot of context. Some technical decisions might seem suboptimal to you, but respect past choices. You’ll get the opportunity to challenge and contribute when it's time.
Prioritize asking questions with curiosity rather than challenging the status quo.
I learned this the hard way. While onboarding at Apple, I shared my opinions on past technical decisions made by the team. This created a barrier when I was trying to build relationships. So, before offering feedback, prioritize building relationships.
After one year of building context, I realized the decisions I opposed made sense. Remember, there are always trade-offs in software engineering. Don’t rush into decisions and opinions.
Don’t “me me me!”
💡 5) Find a Mentor
A mentor’s role is to help you grow in a long-term relationship.
Wait at least 1 month before finding one. Unlike your onboarding buddy, a mentor will help you in a focused area.
Depending on where you’re at in your career, you can have multiple mentors. Your mentor is often someone you aspire to be or want to grow in a specific area. Humans are great at imitating. You’ll learn from their expertise.
Mentorship is a mutually agreed relationship. To find a good mentor:
Find someone at the next level. They’ve seen the problems you’re going to see.
Pay attention to the people you talk to. Is there someone who inspires you?
Be objective and clarify what you want to get from this mentorship.
Remember, just because someone is smart, doesn’t mean they can be great mentors. Get your manager’s input before finalizing.
Once you find a mentor, check this article to make the most of your relationship.
🍎 6) Embrace the Culture
When I joined Apple, I experienced a culture shock coming from Google.
My biggest mistake while onboarding at Apple was being critical about the shift.
Humans often perceive change as a threat. I fell for the trap of noticing small differences and calling them out which prevented me from building strong relationships quickly.
Stefan Mai, an ex-L7 Senior Manager at Meta talks about this common mistake in Senior engineers here.
Jordan also wrote about this last week as a lesson from his mentor, Taha. Taha told him, “Don’t give off your allergic reactions to the existing system, or else your team views you as the allergy.”
It took me a while to realize this myself. Once I embraced the culture, I unlocked my ability to make an impact.
Here’s a final memorable quote from The First 90 Days on this topic:
Joining a new company is akin to an organ transplant—and you’re the new organ. If you’re not thoughtful in adapting to the new situation, you could end up being attacked by the organizational immune system and rejected.
🌐 7) Network Outside Your Team/Org
Participate in as many networking opportunities as possible.
Don’t limit yourself to meeting people within your organization. Most companies now have “Coffee chats” or “Lunch conversations” programs. Take advantage of those programs and meet new people. You can always find people based on shared interests if one doesn't exist.
I’m introverted, so meeting someone completely new is awkward for me. But I can’t stress enough how insightful these conversations can be. You can “target” individuals from specific areas outside your org. For example:
An internal customer of your team
Teams that own common infrastructure/tools your team uses
Having conversations outside your team will lead you to learn more about:
How key individuals operate within your org
Culture and collaboration within the company
Understanding customer issues and priorities, helps you build a roadmap for your team
Finding the right questions to ask can be difficult if you're like me. Depending on who you’re speaking with, you can start by asking:
“How long have you been here?”
“How can I support you best?”
“What hidden tricks have you picked up here over the years?”
“I was fascinated by the technology your team works on, can you tell me more?”
“What do you enjoy when you’re not working” or “Are you a reader? What’s the last book you read?”
📖 TL;DR
Onboarding as a new employee is challenging. First impressions matter.
Optimizing your onboarding will help you:
Accelerate your career growth
Feel productive, reducing your imposter syndrome
Setting you apart from the rest and establishing you as a strong engineer
You can improve the efficiency of your onboarding by focusing on 7 practices:
Draft an onboarding plan
Set a 30/60/90 day plan and get alignment with your manager
Own your journey and show bias toward action
Don’t over-promise and under-deliver
Set a daily goal
Make at least one contribution a day
Even small contributions will boost your productivity
Find an onboarding buddy
Ask lots of questions
Meet with your buddy at least once a week
Pair program with your buddy to ramp up in the codebase
Get a list of “important” people
Set up 1:1s with people you’re likely to interact with in your first year
Take notes and ask lots of questions
Listen more, don’t rush into passing opinions
Find a mentor
Find someone at the next level
Decide on the outcome you want before choosing your mentor
Embrace the culture
Avoid showing your allergic reactions to your new home.
“Resist the temptation to fall back on what you know best”
Network outside your team/org
Meet with internal customers of your team
Understand how key individuals in your org operate
🙏 Thank you to Akash
Jordan here again 👋
Thank you to Akash for the fantastic article with tons of practical onboarding advice. Since I onboarded at Pinterest 1 month ago, I’ve seen how Akash’s advice rings true and has played a role in my success thus far.
If you’d like to see more from Akash, check his newsletter,
.📣 Shout-outs of the week
How this Googler got the highest rating twice by
and on — Akash is apparently on fire 🔥 this week with another guest post! Loved his story and lessons learnedHow to get more done when things are crazy by
on — 3 Practical tips on getting more done and nice visualizations of them in action.Become a Great Engineering Leader in 12 months by
on — Crazy good roadmap and resource list for anyone looking to grow in leadership, system design, and developing a product mindset.
Finally, a quick shout-out to the folks I met at Vercel Ship this Thursday!
I had an opportunity to meet Lee Robinson from Vercel, Arpan from Quastor (System Design Newsletter), Suraj from Pointer (Top articles in tech each week), and Josh from Josh tried Coding (Awesome frontend tutorials). So glad I attended!
Thank you for the growth to 63k+ subscribers and the 30+ paid subscribers since last week 🙏
P.S. Here are some other things that may interest you:
Newsletter sponsorships: Feel free to reply to this email. New sponsorship page here!
Guest posts: I like featuring interesting stories that help other engineers grow. If you have a story to tell, check out my guest post guidelines and respond to this email.
Did you find this issue valuable? If so, there are two ways you can help:
You can also hit the like ❤️ button at the bottom of this email to help support me or share this with a friend to get referral rewards. It helps me a ton!
since I haven't seen it mentioned anywhere in the article, the original artist for the brain comic (https://www.instagram.com/p/CgyShBxusuM/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==) is Hannah Hillam. You might want to check her Instagram here https://www.instagram.com/hannahhillam/
Good one 😊