Live data from Hacker News

Ask HN: Has anyone here worked on the Windows kernel?

news.ycombinator.com

131–140 of 174 posts

Re: Ask HN: Has anyone here worked on the Windows kernel?

#131
post #37

I think I can count the number of kernel changes I've submitted on one hand, but I work on core virtualization that involves a lot of pretending to be hardware and (these days) a lot of poking directly at hardware registers. I 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 ch…

poking directly at hardware registers Such luxury! I just spent a couple weeks getting FreeBSD booting in the Firecracker VM and most of my debugging was performed by inserting hlt instructions into the FreeBSD kernel and looking at whether virtual CPU halted or hit a triple fault.

> whether virtual CPU halted or hit a triple fault

Ah, I see the gentleman works directly in binary.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#132
I have worked on a Windows-compatible kernel. Not at Microsoft, but within the ReactOS Project. And I can affirm that even after 15 years of low-level development, nowadays mostly within various Rust projects, it doesn't get boring. Can't imagine going back to high-level while there is still so much work to do on the underlying foundations..

Congrats on your kernel development offer from Microsoft! I imagine these to be very scarce these days, considering that today's Microsoft seems to be more into services and less about low-level software development.

If you like to chat more about this, just drop me a line. Always interested to hear from low-level devs and aspiring ones. My website/e-mail is in my HN profile.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#133

Microsoft 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…

Ah, so it is true: https://www.androidpolice.com/wp-content/uploads/2021/07/08/...

The original link: https://bonkersworld.net/organizational-charts

Re: Ask HN: Has anyone here worked on the Windows kernel?

#134
post #17

Definitely 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

Do you care to contextualize this? Did you work for Microsoft and or on Windows? For how long?

Sure. I've worked at Microsoft primarily, and I'm not speaking for all teams but I have a sibling on another team in another org and he has the same issues

Microsoft is incredibly siloed. Each team is essentially their own mini company and they're mainly guided by large top line metrics but there's no top down overall vision on what something should look like. It's like those party games where everyone has to draw a portion of a drawing. It comes out looking like a disaster even if every individual portion is good. This also means that product management doesn't work with any particular team either. You essentially get some random big metric and are told "make this metric better" without any context. Everyone is duplicating work and there's nowhere to learn from

Microsoft Teams is a disaster in so many ways. In the most obvious way, it's very very slow and a pain to use. This subtly hinders teamwork because no one wants to use teams. In other ways, there's no global search so finding stuff in other orgs is impossible. The teams "channels" are essentially shitty forums that are unintuitive to use. You'll never get a channel about hobbies and stuff and even if you did it's hard to find and they're usually dead. Everyone uses private group chats including each team but these have zero discoverability. What this means is you'll never have a golang channel or something where people share and chat about stuff. Most people have a facebook group where they chat about stuff (wild).

Every team has their own onboarding down to what hardware you should get. In theory this allows for some flexibility but what this actually means is that no one has any idea how you should be onboarded and you essentially are sent to flounder until you pick stuff up.

Everyone is doing everything. Every person is their own product manager, scrum master, manager, and also programmer. There's so much duplicated process overhead it's wild.

They have not handled remote well. They insisted on trying to send me a desktop computer. I asked for a laptop and they couldn't give it to me and they instead sent me a used intern laptop. They gave my sibling a used surface tablet. This is a 2 trillion dollar company and they're unwilling to shell out 2k for a basic workstation computer with 6-8 cores and 32gb of ram. Not a huge ask. Also some stuff is only accessible through a direct hardline in the office. Whether you want to use a desktop or not is irrelevant. It's mainly how cheap they are when it comes to hardware.

EVERYTHING has to be Microsoft software for the most part. If you think nih syndrome is bad at your company, imagine you're at a company where they've been making mostly mediocre versions of other software for the past 30 years. Yeah. I'm not a huge splunk fan but trust me when I say the azure equivalent is much shittier.

The pay isn't top notch. In fact it's pretty bottom barrel for a big company and if you can pass the microsoft interviews you can pass somewhere else. Their interview process is also a nightmare. I went through 4 different recruiters and it took me 2 months between passing to get an offer letter. The whole thing was insane. They initially offered me such a paltry amount it made me laugh.

Everyone is a lifer because anyone else has left. Imagine talking to your boss about docker or talking to him about IntelliJ and he's never heard of it because he's been at Microsoft for 20 years.

There's a lot of weird "not racism" but might as well be where certain ethnic groups have taken over certain orgs and speak in their primarily mother tongue despite being in the US in a US based company. It makes teammwork really hard.

You need a separate laptop to log into any production resource. Production resource is a loose term because that also includes int environments and anything on azure. I have 2 laptops and a desktop that I'm forced to remote into it's insane and so slow.

There is no one to talk to about anything. You literally cannot find what anyone is working on or what's happening. Discoverability at this company is literally 0

HR processes are like actually completely broken down to me not receiving healthcare for 3 weeks after I joined forcing me to pay some very big expenses out of pocket that would have been 0 after the fact. Getting reimbursed doesn't work because after the fact those expenses only applied to my deductible which wouldn't have been the case if I paid initially with my healthcare.

Most things are a huge heaping pile of legacy crap that absolutely cannot be changed for backwards compatibility. Imagine working on a c++ code base with no local environment, no unit tests, and the only way it can be changed is to make a change and upload it to a build server (1hr + build times) and then deploy it. Yeah. There's no room to improve things because it's all so delicate.

There's simply so much. Thankfully I'm leaving but it's been ass

Re: Ask HN: Has anyone here worked on the Windows kernel?

#135

Bad stuff: 1. There will be a lot of infrastructure complexity in the kernel, just prepare yourself for that. Even worse bugs! You'll be fixing a lot of bugs, or looking at a lot of bugs, and most of these bugs are from other teams who are interacting with your component! Just order a copy of Windows Internals and get yourself familiar with how thing work. 2. Old ass engineering systems. Just as the interviewers said…

> Windbg is actually great and I will die on this hill Came here to say this. (Actually kd, but lots of overlap.)

How did you learn it? I use it occasionally to debug memory dumps after an application crash but I know that WinDbg can do so much more than show me the stack just as the application crashed.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#137
post #68

Earlier quoted context omitted.

As an aside: James Mickens is a treasure. If anybody reading this hasn't read any of his articles or watched any of his talks before stop now and do it. You won't be sorry. https://mickens.seas.harvard.edu/wisdom-james-mickens

Reading this man's homepage he comes across as a insufferable egotist. I couldn't find any trace of didactic value among the self aggrandizing rhetoric not possible to convey with infinitely greater humility and persuasion as well as concision. Edit: reference source decades of being quite intolerable myself. Takes one to know one. And by my experience incredible good fortune and more decades to repent.

Dude. How can you read "I’ve been a legendary hacker for 98% of my life, but there was a brief period when I did not possess the sum totality of human knowledge." and not realize this is self-parody?

Re: Ask HN: Has anyone here worked on the Windows kernel?

#138

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…

  Serial printf logging is often required
This reminded me using "printk" in an incorrect place in an operating system course assignment. It was actually printk itself that was hanging the kernel!

Re: Ask HN: Has anyone here worked on the Windows kernel?

#139

The Windows Kernel is a quite well-maintained and well-written piece of software. I would say one thing that can be frustrating is that the NT kernel simply does a ton of stuff, and breaking compatibility with all of that stuff is not an option. I once had a one character fix in NLS, that turned into two separate 500+ line AppCompat shims It leads to code being Complicated, and a lot of Kobayashi Maru situations wher…

"Write once, run for 20 years" is a strong value proposition. I dabbled in web dev and it's rare for third party libraries and services to go a year without breaking interface changes. Meanwhile a program written for Windows XP will likely still run on Windows 11 even without a recompile (perhaps the source code was lost). In the worst case you might have to run the binary in XP compatibility mode.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#140
post #37

I think I can count the number of kernel changes I've submitted on one hand, but I work on core virtualization that involves a lot of pretending to be hardware and (these days) a lot of poking directly at hardware registers. I 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 ch…

[deleted]
Post reply on HN