Episode 15: Surprise.
21 days after the MSFT interview I lost my patience and politely DMed
the hiring manager. I figured that I didn't fail the interview, because otherwise I'd already get a
NO by now (
timing attack). I asked if the process is slow because he is hiring a
team, so hiring decisions are
interdependent. Or was it a job:level mismatch? I happy to help with .NET too.
His response was that I did "extremely well", to the point that they were worried about job:level mismatch. In the past weeks they gained a better understanding of Go toolset role and eventually decided there is not going to be enough scope for "my capabilities". Apparently his boss has been looking for another job for me in the .NET org since the interview and someone will reach out soon.
Wow, a plot twist! Flattering, but I wish they didn't keep me in the dark for 3 weeks! Their comms are so broken. Well, looks like I am overqualified for Go again, now in another company 🥲. I tried... Alright... Golang just ain't gonna happen.
On day
27, I met with a different hiring manager and we exchanged emails afterwards. The role is to own all of
.NET performance, working with customers (Bing, M365, Azure) and various .NET teams to improve perf of their libs; be accountable for perf infra and still write code. I asked "if someone complains to
Scott Guthrie about .NET perf, will I be responsible to handle this?", she said yes — that's a big responsibility. Re growth: I can have a strong mentor and I'd be working with the .NET performance architect. One downside: have to manage 5 engineers.
This gave me a new hope: .NET perf is on the critical path of Azure's success: higher perf => lower Azure costs => lower prices for customers => faster business growth. MSFT builds their own services on .NET, and they continue to invest in it. This role has enough importance and scope to justify paying good money. Optimizations are generally rewarding work. I also learned that .NET Core and ASP.NET Core are the most loved frameworks for 3 and 2 years in a row, respectively (
2019,
2020,
2021).
I asked
Jaana to connect me with
David Fowler and he described the role from his perspective, as a customer. I synced with one of my
interviewers who recently became a manager and he shed some light on his manager experience, how far he is from coding, etc. He also named 3
Partner architects in .NET: Jan Kotas (runtime), Maoni Stephens (GC) and Stephen Toub (libs) — I assume I'd get to work with them. BTW, I read
Maoni's articles on GC maybe 10 years ago, glad she is still there. Interesting role... has everything: large scope, ties to business, coordination across many teams, infra work, writing code and diving deep to optimize perf. Sounds like a good role to figure out my strengths and go further in that direction.
The main missing info are level and TC — nobody said anything and I could only guess. Level 66 don't get paid what Amazon offered. Level 68 is way too high: the hiring manager is less than 68, so a 68 wouldn't report to her. The only level possibly satisfying these requirements is 67.
After that burst of activity, came another phase of excruciating silence. On day 28, my recruiter connected me with a different recruiter who specializes in Principal hires. I thought "Oh, she must be just like my Amazon recruiter who is not bogged down with hundreds of candidates! It will go much faster now!". Yeah, right... didn't receive
anything from her to this day 😑
On day
34, I lost my patience again because of
zero communications, figured MSFT is unlikely to offer more $$$ than Amazon, so to avoid wasting time on offers that I'd decline anyway, I emailed them what Amazon and Google offered. On day 35, I received "appreciate your patience, we are working hard, blah blah" without any sense of time frame/ETAs.
To be fair, I am partially to blame here: I applied to a low-level job and their hiring process broke down, but even with that everything seems
extremely slow. I don't understand how can one succeed in business without ETAs/deadlines.