If MS or any FAANG wants to hire you for a kernel dev position, go for it; they clearly see a lot of potential in you that maybe you don't see yourself. I want to point out a couple of things that you should be prepared for: > 2. Debugging exclusively via metrics and logs, since I can't just attach a debugger to a running server. You often can't do this in kernel/OS development work either. Serial printf logging is o…
Can you no longer use windbg to attach to a running kernel on a remote box, and debug the remote box from your development machine? I believe that's how kernel debugging is generally done.
Ask HN: Has anyone here worked on the Windows kernel?
31–40 of 174 posts
Re: Ask HN: Has anyone here worked on the Windows kernel?
#32Microsoft is a friggin dumpster fire, dude. Some teams are great to work for, but a LOT of them are little crews of treacherous rogues who're only looking out for themselves and always ready to stab someone in the back. You'll run into a lot of the same issues on the Windows kernel that you're getting irritated with in service development land. A lot of infrastructure is already out there, but figuring out how to use…
This is documented in Zachary's Showstoppers book:
https://www.flyingpigbooks.com/book/9780759285781
It appears that performance and architecture improvements are very hard to get accepted (and the kernel suffers for it):
https://blog.zorinaq.com/i-contribute-to-the-windows-kernel-...
It is a great piece of engineering, but it is likely for a developer that is more comfortable making small changes within the hierarchy than for any revolutionary ideas (unfortunately).
If Cutler hadn't found his way to Microsoft, then they probably would have ended up on a BSD kernel, as Apple did. As it was, Microsoft sold their Xenix business around the time of Cutler's arrival.
Re: Ask HN: Has anyone here worked on the Windows kernel?
#33I think you are coming at this from the wrong perspective. Rather than thinking about how to avoid work you DON'T like, think about what you DO like and then decide if the new job would offer more or less of that.
Personally, I've found that every five years I end up sick of working on the same kind of problem and I have to go work on something completely different. Maybe that's where you're at.
Re: Ask HN: Has anyone here worked on the Windows kernel?
#34Kernel code is amazing, especially the parts written by the early members like DaveC, MarkZ and others.
For me the biggest part was working with a group of extremely smart people who were very nearly the best programmers in the world.
I really miss that outside of Microsoft. I would imagine that you can get the same experience if you worked with the Linux kernel dev team or some of the other few places in the world like FAMGA where you can work.
My suggestion is to go for it. After leaving MS I found peace by working with the open source community and open source software.
Hope that helps, happy to discuss further.
Re: Ask HN: Has anyone here worked on the Windows kernel?
#35Re: Ask HN: Has anyone here worked on the Windows kernel?
#36Definitely do not join Microsoft and definitely do not join any windows related teams. Microsoft is hell. Every team is fully siloed. Culture wise it’s a wasteland and teams as a communication platform is awful
The culture in games is very healthy from my experience and one of the best compensation in the games industry.
Re: Ask HN: Has anyone here worked on the Windows kernel?
#37I would say James Mickens sums things up nicely in "The Night Watch[0]." For example, you mention debugging with logs and metrics -- this snippet came to mind:
“Yeah, that sounds bad. Have you checked the log files for
errors?” I said, “Indeed, I would do that if I hadn’t broken every
component that a logging system needs to log data. I have a
network file system, and I have broken the network, and I have
broken the file system, and my machines crash when I make
eye contact with them. I HAVE NO TOOLS BECAUSE I’VE
DESTROYED MY TOOLS WITH MY TOOLS. My only logging
option is to hire monks to transcribe the subjective experience
of watching my machines die as I weep tears of blood.”
Mind you, I absolutely _love_ working on low-level stuff, and I wouldn't trade the time I get to spend actually doing that for anything. That said, the complexity of modern operating systems, CPU architectures, interconnects, and peripherals creates opportunities for frustration and confusion that honor no bounds of reasonability or decency.[0]: https://www.usenix.org/system/files/1311_05-08_mickens.pdf
Re: Ask HN: Has anyone here worked on the Windows kernel?
#38The main thing I'd consider in this is the work/life balance. Will it allow the same stellar level of that? People vary in their priorities. For some it's interesting/fun problems to solve, for some it's impact, but for me it's work/life balance, presuming of course that the work side isn't a hateful stressfest. No amount of remote work or flex schedule will make up for absolutely hellish work environment, and I had something like that once. (I ended up taking a 30% pay cut that I could just barely afford and got the heck out)
So I'm sorry that I can't speak to the kernel work itself, but instead the framework for making the decision. If the work/life balance will remain constant then you're only risking the possibility that the work won't be any better, and hopefully no worse. If the work/life balance for the new job is also uncertain then (for me) that would be a bigger risk consideration.
Finally, you should consider the worst case scenario: The work is worse, the work/life balance is also worse. How easily can you shift to something better? If you have the chops to work on the Windows kernel then I'd wager that if you hit the worst case scenario you could get out of it without too much trouble, but you're the only one who knows whether or not that's true.
Best of luck to you, sláinte, and may the wind be always at your back.
Re: Ask HN: Has anyone here worked on the Windows kernel?
#39Definitely do not join Microsoft and definitely do not join any windows related teams. Microsoft is hell. Every team is fully siloed. Culture wise it’s a wasteland and teams as a communication platform is awful