To be more accurate, more like five and a half years but I was slow to write this so let's round down.
I really can't believe it's been five years. Microsoft was my first job out of undergrad, so five years at Microsoft also means I've been out of college for five years. (Yikes, I feel old).
Work #
Over these five years at Microsoft I've changed titles and responsibilities a few times. (I know the titles are confusing...)
- Windows Networking Support Engineer (SE)
- Phone support
- Learned all about TCPIP
- Learned how to drive a call
- Fond days spent in Netmon
- Windows Networking Support Escalation Engineer (SEE)
- A lot like the previous role
- More time spent performing network debugging of docker and other container technologies
- Windows Directory Services Escalation Engineer (EE)
- This was a huge change
- Learning about C & C++
- Debugging with WinDbgX
- Tons about Windows Internals
I cannot stress enough that so much of the past five years has been spent on learning. Every day I've learned something new and interesting and I've loved every second of it. It's been a wonderful combination of both technical (debugging, network trace analysis, development) and non-technical (scene control, empathy, leadership). If you told 2018 me that I would be basically learning full time, I would have said "F that. That sounds boring" but I was young and naive.
Over these years there have been a few support issues that stick out in my mind. Some good, some bad and some ugly.
The Good #
- Windows Network Status Connectivity Indicator (NCSI) failing the active probe from an expensive proxy.pac file with OpenDNS causing DNS queries to artificially fail leading to the active probe believing their was no internet connectivity
- Crazy fun, lot's of mysteries along the way
- I still don't like OpenDNS (now a part of Cisco Umbrella)
- Windows Hyper-V VMSwitch dropping packets with Receive Side Coalescing (RSC) when containers are leveraging an overlay network
- Really into the nitty gritty of network virtualization in Windows
- The first test-app I work to prove a point of failure
- Windows Local Security Authority Subsystem Service (LSASS) was intermittently crashing due to attempting to draw a UI in session 0 (A big no-no)
- First case as a Windows EE
- Tons of time spent debugging this
- Even more time trying to explain the importance of this to the relevant development teams
The Bad #
- During a slow file copy performance due to 3rd party Anti-virus blocking necessary XML packets with Deep Packet Inspection (DPI)
- Had to take a war-room bridge of adults and ask for verbal confirmation that we were all on the same page
- If someone joined the call I had to ask if they were present earlier to prevent getting caught in the weeds
- I was explaining how Distributed File System Namespaces (DFS-N) worked to a customer and cited public documentation
- The asked for a phone call to ask questions
- Spent the entire time saying "uh huh. Yeah yeah"
- At the end of the call they asked for an email on it
- Copy and pasted the text from the public doc into an email and sent it out
- Customer called in reporting that their public website was down
- The forgot to pay their DNS registrar
- Their website was redirected to
pending-deletion.com
- Had to explain that they need to pay their bills and there was nothing I could do for them
The Ugly #
- Many of these critical situations (CRITSITs) there is no relieve until the next engineer gets online
- With regions coming online that may mean working 3-4 hours after my shift ended
Overall I'm grateful for these experiences and seldom have had any sort of apprehension about going into work. I love puzzles and these roles have presented me with more and more puzzles.
The next five years #
Over the next five years I want to be a part of broader changes. Solving an individual problem is good. Solving the problem category is better. Much of this has turned into fleshing out my development skills and polishing off my business acumen.
Here's to the next five years and wherever they may lead me.