I got the job!
.
The unofficial offer came in a bit ago, but it took time to sort everything out and announce the change to my current team. They said they’re gonna miss me; I’m sure going to miss them. Fortunately, my new building is just a few blocks away, so I’ll be able to bother my friends whenever I need a good break.
I’m proud to announce that I’ll soon be a member of the .NET developer division, working on products like the C# language, Visual Studio, and C# Dev Kit for VS Code.
I am ecstatic.
I first applied to Microsoft after my junior year of college. I wanted to be an intern, but they never responded to my application. I thought I had a pretty good resume, oh well. I started dating a friend who was a Microsoft intern, and when I applied around September 2019, she referred me. I always wonder whether I truly deserved that first round of interviews, but I was honest, and they had every opportunity to realize I was a silly boy. They offered me a job in October 2019 and I took it: it was to be my first job out of college. When covid hit, my mom was worried they’d rescind the offer. Don’t get me wrong: I heard from acquaintances who did indeed have offers from other companies rescinded. But I was confident, and Microsoft didn’t renege, so I started in August 2020.
My first project was finishing up an intern’s work. The last Teams message before I joined was from the intern, thanking everyone for a great time. He had left on Friday. I started the next Monday. My onboarding buddy has since become one of my best friends, though it was certainly a rocky start due to the whole “I was not a nice person” situation. We’ll get there. I read the TypeScript handbook, added a formatter to our repo, and listened in on a lot of design meetings as we prepped for a December release. We made great progress, and I started reviewing accessibility in November. We allocated 2 days. It took 3 weeks. I cried over Thanksgiving, a holiday I spent alone that year, because I felt I was failing all our users who needed these fixes in the site. It’s the only time I’ve cried about work. We released on a Saturday in December, as scheduled, and it was smooth. I was prepared for something like that to happen every month: working several hours on a weekend, doing whatever it took to get things done. That was the only Saturday I ever logged on.
Then we finished up some closely related reworks, and planned to release in April. That turned to May, June, July… eventually I was moved to work on a new initiative, with the promise that other engineers would join me soon. That turned to August, September, October… I was a new college hire in charge of a few vendors, doing my absolute best to ensure high code quality, design clarity, and progress transparency. Then I had a cancer scare. I didn’t have cancer. But I did freak out, and I had my first and only no-call, no-show in late October. Fortunately, I had scheduled a doctor appointment 40 days earlier, and it was for a few days after that major mental breakdown. In early November of 2021, I started fluoxetine again and took two months off work. I am forever grateful that my manager encouraged me to do this: that was a life-saving decision.
In January I returned, slowly ramping back up to full time, and working on… something, probably. We returned to office in February, which felt like a treat, as I always told myself “working in an office will be like a promotion in itself!” The first day back, my manager pulled me aside and told me I had been promoted. That was pretty neat, to say the least.
By April, we had hit another huge milestone, and then the website I helped build had its first major outage. The CDN we relied on went down due to some actions by a third party (not even someone affiliated with Microsoft!), and our site was inaccessible for a few hours. We moved away from CDNs pretty soon after that, and our site hasn’t been down for more than a few planned minutes since.
I really did try my best to be a nice person. However, my benchmark for interpersonal relationships was my parents. They are awesome people, but they also screamed at each other a lot. So when the worst I did was yell at others for rolling back a transitive dependency, I felt like I was doing OK.
That was not OK.
My manager was amazing from the beginning, and continually counseled me on how to, like, be a nice person. Assume the best intentions. Take deep breaths. Be patient. Write things down and accept that you’ll need to send reminders. These are not little things he rattled off, these are lessons I learned from many detailed conversations I had with him. He heard me out, he acknowledged my concerns, and he offered excellent advice.
My onboarding buddy talked to my manager about me a lot. She was rightfully frustrated with how evil I was being. She counseled coworkers to be extremely patient with me, not take things personally, and work with our manager if things got out of hand.
My team lead quit, almost certainly because of how rude I was. He got a job at Google though, he’s OK.
A few months after I came back from my disability leave, I gave a lightning talk about how mean I had been. My boss’s boss’s boss was happy with it, so that was neat.
It took more than a year after that, though, for my onboarding buddy to start to see me as a potential friend. Which is awkward, because she drove me to work every day. But now she’s a great friend of mine, so my Dark Mark era is finally over.
I won’t review my entire career in detail. Not today, at least. Because today, we’re looking forward!
Or, we would, if I had any clear idea what I’ll be working on! I don’t even know the real name of my team, I just say ”.NET DevDiv” for fun. I’ve been telling my friends “if you have a problem writing .NET code, I’m the guy that’s gonna fix it!” It’s a Herculean task. The main repo, dotnet/roslyn, has over 5,400 open issues as of writing. The team is extremely tenured: 30 years, 22 years, and 17 years were the tenures of the first three people I’d checked. That’s tenure on this team specifically! People seem to like it here.
And the team’s work is primarily open-source, which is amazing. Everyone will be able to read, inspect, copy, download, re-upload, and use the software that I build with minimal restrictions. I’ll share my work with all my software friends when I want to bother them. I’ll work with thousands of external collaborators on anything and everything problematic in our system, and I’ll fix things in broad daylight!
I’ve always called this the dream job. I never thought this team would have an opening, and I’m sure I’ve already written that I jumped out my chair when I saw the word “Roslyn” on the job posting. I never thought I’d be a genuine candidate, or a strong candidate, or the one to get the offer. Even back in January, before I started looking for a new role, I reflected and decided that my life was about as good as it’d be able to get. Ever since I got this offer, I’ve been trying to imagine a better job. It’s taken until just now for me to realize it’d be kinda neat if this job was fully remote, but otherwise I haven’t been able to think of any improvements! I can’t believe it. I’m not even exaggerating when I say this is the dream job. It’s just a magnificent opportunity, and I went for it, and I got it, and it’s all still sinking in.
I’m 100% on the Employee Learning team right now, just as I’ve been 100% on the Employee Learning team for the past five years. But soon, I’ll be 100% on the .NET DevDiv team, living the dream.
If you want any interview help, you know where to find me! 🤓
2026-03-30: Minor grammar updates and rewording for clarity
See also Blog - markwiemer.com