My road to becoming a Senior Software Engineer at Microsoft
I started my vacation last week with some awesome news: I got a promotion! In September I'll officially be a Senior Software Engineer at Microsoft. In the interest of my fading long-term memory, I want to document how I think I got to this moment.
Namely, I want to share some of the highs and lows of each step of my professional journey and what I think was transformative for me in each of those roles. I won't include every detail or all of my work at each level, but I hope there's enough information here that curious folks feel like they can reach out to learn more.
Ever since I knew I was going to be a software engineer, I have wanted to be a engineering manager. In every single conversation I have about my career, no one is confused about where I am going: management. I am passionate about creating great software, but I am more passionate about building great engineers. There have been many times throughout my career folks have told me I sound a little too ambitious for saying it so often, but... I want to be an engineering leader.
OUT for Undergrad Tech Conference (2015)
In 2015 my friend Anthony practically begged me to apply for the OUTC 2015 conference. He had attended the business conference and thought the technology conference would be a good match for me.
It was at this conference that Goldman Sachs got ahold of my resume and reached out to me about interviewing. To be honest, when they first reached out I had no idea what they wanted with me. I knew they were a bank, but that was about it.
- I stepped way outside of my comfort zone.
- I made friends that I still keep in touch with today.
- Landed an internship with Goldman Sachs!
- Travelling alone at that stage was still new to me.
- I felt really anxious & insecure meeting new people.
- I put myself in an environment that I was unfamiliar and uncomfortable with, and I had to sit with that.
- I learned that while it's easier to avoid discomfort, there's benefits to putting yourself out there.
- I met a community of LGBT folks who are passionate about technology, and some of them have become great friends.
Goldman Sachs Internships (2016 & 2017)
I spent two summers working for Goldman Sachs. I worked in the offices that were located in New Jersey, right across from the World Trade Center in Manhattan. I have a lot of fond memories of the people I met there, and the work that we did.
Anyone who's had the opportunity to ask knows that New York City and I did not get along. I was dealing with a lot of depression while I was on the east coast. I was offered a full-time job & relocation with Goldman Sachs but I had to turn it down because I knew I wouldn't be happy there.
- The people I worked with were some of the most impressive people I've ever met.
- The work was challenging but I was given leadership opportunities to deliver our intern projects.
- First time I was able to develop full-stack (web client, service & database) applications and deliver multiple working solutions.
- Dealing with massive depression and spending the summer separated from friends and family.
- Not being able to see a future with the company.
- Before my internship, I didn't think of myself as a software engineer. I knew how to code, but I'd never been forced to think about building & delivering products.
- Working for a White Shoe investment firm honestly made me feel impressive. It was honestly fun telling people where I worked, and seeing their reactions.
SAP Concur, Software Engineer I (2018 - 2019)
I graduated from WSU in December of 2017 without any major job prospects. I'd interviewed with Google and Amazon and failed to secure offers at either of those companies. I was still incredibly depressed my last semester of college and didn't have the energy to apply to more jobs.
I struggled to find work for the first few months. I'd interviewed with multiple companies and several startups and nothing really seemed to pan out. Eventually, I was able to interview with SAP Concur (which I did not succeed with until my 2nd round) and landed my first full-time software engineering role.
- My first code contributions into a production environment.
- Learning to write code that is maintained by a team of 5-8 engineers.
- Seeing how software products run in a production environment.
- Forcing myself to learn new technologies and contribute reliable & testable code.
- Working with brilliant engineers & engineering leaders.
- Being frustrated with early learning curves and time-to-deliver new code.
- Feeling insecure about how long it took to become productive as a new team member.
SAP Concur, Software Engineer II (2019)
After working on a few projects on my first team (Small Medium & National Onboarding) I began working with the team building the new web interface for the SAP Concur's expense platform.
My team's responsibility was to fix some papercuts for our more experienced users. We were building something that was going to replace a legacy application that had been used for years; that many corporations relied on every day.
- Working within a larger team of about 20 engineers to deliver features for an high-business impact product.
- Delivering more complicated features that required a lot deeper understanding of multiple packages and codebases.
- I never felt like I really understood what I was working on, there was a lot of confusion on my part due to a lack of understanding the domain.
- Highly-customizable enterprise software is really hard to confidently test and change when you're not familiar with the domain.
- Technical debt presented challenges to delivering features quickly, engineers had conflicting opinions on how to move forward.
- Felt disconnected from the rest of the product and the company, never really understood the "big picture" of the engineering organization.
Microsoft, Software Engineer II (2019 - 2021)
After a little more than a year with SAP Concur one of my best friends told me about an opportunity to come work in her organization. I wasn't interviewing elsewhere at the time, and I even said I wasn't sure I wanted to interview... but I ended up saying yes.
On the day of my actual interview I was recovering from a really bad cold, and even walked in the doors thinking "welp, at least I have a job!" but I really enjoyed all of the conversations I had; and clearly it all worked out!
- Led a proof-of-concept project that was showcased to then EVP of CSEO Kurt Del Bene and hearing him call our work "mind-bending".
- Primary engineering point of contact for several projects that put me in the drivers seat for customer discussions. Including one project that supported Microsoft's on-site vaccination clinic for COVID-19.
- Lots of room to develop my skills as an engineer and a leader, working directly with our customers to write software that reduces the time they spend performing manual tasks.
- I gained higher visibility into how Microsoft's internal infrastructure works and how the software I write fits into that world.
- Mentoring a ton of folks through senior design projects, internships & inclusive hiring programs.
- Initial struggle to understand my role within the team & the products we were responsible for.
- Agile ceremonies started out unpredictable and sprints were hard to plan until we worked together as a team to better our sprint ceremonies.
- Higher learning curve for learning the network engineering domain and learning how to build full-stack applications & services on Azure.
- Tensions from the digital transformation from an organization that delivers networks to Microsoft to an organization that delivers software to engineers who run the network.
- When I stepped into this role, I did not understand the domain or the business. Over time, I've developed a fairly thorough mental model of the problem space I am delivering in. This role has helped me understand the kinds of information you need to seek to better serve your customers.
- I've been working hard to find a balance between blindly pushing my own ideas and listening to others. At the heart of "driving" initiatives is making sure you arrive at the destination. It's very easy to be consumed with your own ideas and steamroll others' voices.
- I remember the first few meetings where I felt like I had earned a "seat at the table" when it came to planning projects and discussing them with leadership. At those points, I had to find a way to community these very technical concepts in a way that leaders who didn't live and breathe them would understand.
- When I first started building these products, I had a low tolerance for ambiguity. I expected someone else to do the work of getting me the answers I needed so that I could build the tool. I quickly learned, that's not how things work. I learned to be comfortable with a little bit of ambiguity, and take responsibility for answering those questions.
Microsoft, Senior Software Engineer (2021)
It's been almost 4 years since I graduated college and I wasn't able to capture even 10% of the experiences I've had in that amount of time. I truly do love what I do for a living, and I try my hardest to bring in bright people who are just looking for an opportunity.
In the next few years, I am looking to grow as an engineer and continue to help shape the product that my team is creating. As the pandemic recedes, I am looking to get more involved in community organizations and build relationships with engineers throughout the world.
What I'm excited for most:
- I work with some amazing people, and I'm excited to see what we deliver as a team. In the last 6 months we've grown into a highly collaborative organization building systems to solve complex problems for the business.
- Our team is growing and I cannot wait to meet the folks who join our team and be a part of their introduction to Microsoft and help them grow as engineers.
What am I most anxious for:
- In my own personal growth, I am going to work harder to seek feedback from peers and mentors and incorporate it into my daily life. I've gotten more critical feedback in the last few months than I've gotten in the last few years.
- I strive to be the most friendly & helpful person in the room (and sometimes fall very short of that). Anytime an opportunity pops up, I'm the first to say yes. Recently, it's been hard to maintain all of my commitments at the quality I strive for. It's going to be hard to pass on opportunities, but it's necessary.
- As I am working to help grow the folks around me, I can unintentionally take up more space than I need to (either by talking at length or volunteering to lead). I'm going to be intentional about creating space for others, and being more cognizant about when I choose to speak.