The web is full of resources related to internship interview preparations for Microsoft, Google, Facebook, and other big tech companies (just to name a few), but when I have accepted the offer for my summer Software Engineer internship at Microsoft, I was not able to find useful information about the onboarding process timeframes and general structure of the internship, in terms of expectations, contributions and approach to the team in big corporations.
In this article, I will summarize the onboarding process and core events that have to characterize my internship, reflecting also on the growth given by this experience.
Once have accepted the offer for an internship, is highly recommended to ask the HR contact when the next step would possibly happen, and what to expect in the following steps.
Is important to keep in mind that the whole HR team gives priority according to the chronological order of the start dates. This means that in case of offer acceptance during the winter, for the summer internship of the next year, before and after the Christmas breaks, the priority will be given to all the sprint interns (who will start so before you).
Is important to understand that in big corporates, multiple people even from different departments could work at the same time for your onboarding experience, and this is why is normal to wait weeks or months between each stage. Below, you will find my personal timeline of key events that occurred between the interview process and day 0.
- November 2020: interview
- December 2020: offer discussion
- March 2021: contract presentation
- June 2021: Met my manager
- June 2021: hardware or general asset received (the presence of hardware or any other asset could depend on different factors, for example, role, job location, type of work (remote or office), and benefits.
- July 2021: Internship kick-off.
Once started your internship at Microsoft, you will get introduced to your mentor, a key figure for your success. The mentor will give you context about company policies, the team, the roles of each team member, and initiate you to the initial training and what is going be the project you are going to work on.
Most importantly, the mentor will be your first and probably one of your best friends in this new work environment.
Mentors are not usually people in charge of conversion (to Full-Time employee) decisions, but they are there to fully support you during your learning process, so, it can be highly convenient in terms of personal and professional growth, to learn more about your mentor's background, asking general questions related to his/her career path, general experience and challenges faced when started in the same company, Microsoft in this case.
Especially if working remotely, the first stand-up meeting is the first occasion to meet your new colleagues and present yourself in the best possible way.
I remember spending the night before the start of the internship repeating some short but interesting presentation speeches. Honestly, I probably have never done that speech. I can’t even remember my first stand-up meeting for the roller-coaster of emotions and adrenaline level that I was experiencing.
Even if you will be braver than me, I suggest you anyway to invite all your colleagues for a 1–1 call, to properly introduce yourself and get to know better your college, their experience, and current responsibilities within the team. Especially the last factor will help you to quickly redirect iterations and questions to the right person once you will start to work on your first task.
Please, do it during the first week. While approaching new challenges, tasks, bugs, and things to learn, you could lose the conceptions of the time, easily finding yourself at the end of your first month, without haven’t had a chat with one or more team members. Not a match with your listed skill: “team player”.
Especially in big projects, like Microsoft Teams, is possible that you will need to interact with other teams focused on a different area of the project.
What you should do at the start of your internship is to:
- Go through a few of the project-related communications channels/group chat, identifying the reason why that specific channel/group is used: help needed, UI/UX focused, identification and share of a new error, Pull request review needed, etc…
- Monitor the Pull Request (PR) of your teammates. This will help you to identify a few of the most skilled people in specific areas of the project. An example: is highly possible that people that have worked from zero on functionality would review a PR that could partially alter the current behavior of that functionality.
Orientate in this way will help you in the short term to be able to communicate with colleagues working even outside of your team, being more independent from your manager, and being able to start a task investigation or Pull request submission autonomously.
A new bug or feature coming in, and now?
Even with year planning, a new product development policy or bug could come at any moment, and managers know that. But for you to give the best outcome, you should approach them as soon as possible.
Few mistakes that I have personally done lead me to the creation of the following unwritten rule that I am applying to myself:
- Work in parallel with both easy-win and harder tasks. Do not go just to one side of the medal. Eliminating the easy one immediately will not allow you to get a break from the harder one.
- A bug feature or bug investigation could lead to asking questions or fixes from other teams. This kind of iteration, especially if working with teams located in another time zone could be time-consuming. That’s why is a key factor to analyze a new task as soon as possible, to at least start a conversation with the interested team or start to elaborate on approaches to fix the problem.
The written rule for effective communication
· Make sure to know the shortcut of the newline within the product that you are using to communicate with your colleagues and follow the rules indicated in nohello.com.
“We are not hiring good software developers, but great software engineers.”
This quote has been one of the most impactful things that my manager said.
Initially, I did not understand its meaning, but during my experience at Microsoft, I have been able to give a personal interpretation to it.
Even seniors or managers do not have an answer for anything, but a good Software Engineer is not a developer with a memorized answer or flow. Instead, a Software Engineer is a figure that is able at any cost (with the appropriate needed time and resources), to hack a solution.
Software engineers are not writing code to fix a problem. Are instead writing the solution to that problem in form of code.
This means that you do not have to feel less valuable than any other team member, because really nobody has an answer for anything, but you must be able to take action to fix that problem, asking questions, doing research, and showing the appropriate research and tests done.
Proactive but also reactive learning
Even as an intern or experienced professional, I suggest you keep track of the things you have done, and on Friday evening, usually, the Friday that corresponds to the end of the sprint, read what you have done, think about how you approached these challenges and how you would have addressed them differently to achieve a better result.
You will be amazed by how many mistakes you will do and how good you will become if you apply the solutions to your self-analysis.
You should be Curious, available, ready, and happy to learn, and most importantly, you must be ready to ask questions and ask for help.
Especially remotely, nobody really knows what you are feeling and experiencing. Even your mentor does not know at which real stage you are in terms of preparation for a concept or technology used. That is why, to get the best outcome, you must openly communicate anything.
It is all for now. Another article will be shared after the end of the internship.
To my inspiring and supportive team, Catalin, Simone, Julie, Jan, Kyrylo, Elena, and the rest of the team: Thank you for your patience and support, you are the biggest source of inspiration, passion, and growth.
“It is good people who make good places.”
- Anna Sewell
- My articles
- Odoo: 6 Free business management tools for your company
- Inside a Software Engineer internship at Microsoft
- Digital amnesia: Our memory in a world where productivity and routine are driven by digital tools
- Setting up codebase standards since day 0.
- Automate data creation with Faker
- CI/CD For mobile Applications (Flutter- Github Action — Codemagic)
- API Profiling: API Performances, Errors distribution and debugging information (Part 1)
- LinkedIn creator program — A paid opportunity for content creators
- 5 things you can do to boost your career as Software Engineer
- CV Checklist for FAANG
Feel free to connect with me on LinkedIn, Twitter, Facebook, and Instagram. I will reply pretty soon on Twitter and Linkedin, so, consider getting in touch there, or, send me an email for longer questions, I will do my best to answer as soon as possible.
Visit my linktree: https://linktr.ee/davidepollicino
Try out a mentorship session for free, and decide if you wish to get mentored by me by using MentorCruise. Visit my profile!
- NordVPN keeps you private and secure online, by hiding your IP address and routing your internet traffic through an encrypted connection to a privately owned VPN server. Get NordVPN with exclusive discounts!
- Interactive Brokers (Affiliate): investing platform that I use. Use my referral link to ****earn up to $1000 of IBKR Stock for free.** Disclaimer, I am not inviting or inactivating anyone to support.
- Bondora (Affiliate): Platform I use for Peer-to-peer landing. Join with me referral link: https://bondora.com/ref/davidep62
- Mentor cruise: a platform I use to mentor people. Sign-up with my referral, or visit my profile to book a mentorship session with me.
- Amazon list **(affiliate)**I buy everything on Amazon.
- Monese (affiliate) Online bank based in London(UK), with a free monthly plan and the ability to manage multiple accounts with different currencies simultaneously. Use the code DAVID277.
- Monzo: get a 5£ sign-up bonus (affiliate) Online bank based in the UK, with a free monthly plan and Free commissions in multiple currencies;
- Revolut (affiliate) Online bank based in the UK, with a free monthly plan and Free commissions in multiple currencies;
- TransferWise (affiliate) For fast international bank transfer with 0% commissions.
- Notion: tools I use for writing, taking notes, forms and adapting CMS.
- GitHub: platform I use for project development and team collaboration.
If this post was helpful, please click the clap 👏 button below a few times to show your support for the author 👇