10 ms·
Ask HN: Has anyone here worked on the Windows kernel?
Or any other kernel, professionally?
I've been offered a position at Microsoft to do kernel development work. This would be a big transition to me, coming from a services background (backend only).
The job's main draw to me is doing low-level work. I did some in my very first job, but for the past 10+ years, due to a number of circumstances, I've been in the services world. I really liked being a C programmer and I've kept an eye on things over the years, and did some hobby projects (on x86 and some embedded stuff as well).
There's a lot about my current job that I treasure, despite the work itself not being interesting to me about 99% of the time. It's a remote job, the work-life balance is stellar, and I get 25 days of vacation a year (this is in the US), which allows me to spend a lot of quality time with my wife.
However, I'm considering leaving because I've been having significant motivation and performance[0] issues for the last two years. Through a lot of soul searching and even help from a therapist, I've identified that the source of my issues is the nature of the work itself. Building services is just something that doesn't give me a sense of accomplishment, and I'm not attracted to the stuff at all. Some issues I've identified are:
1. Infrastructure complexity, especially since moving to Kubernetes. I refuse to touch it at this point.
2. Debugging exclusively via metrics and logs, since I can't just attach a debugger to a running server.
3. Designing systems in general. Some people love the challenge of distributed transactions, eventual consistency and all that jazz, but it just rubs my brain the wrong way. I'm not interested at all in that problem space [1].
4. The insane amount of work required to stand up even the smallest microservice: infrastructure provisioning, certificates, security reviews, GDPR compliance, etc.
5. Anything I build will end up paging some poor soul at 3am some day when something is down or under heavy traffic.
So, what I'm wondering is: what are the things that would make me say "ugh" on the day-to-day as a kernel developer? Is there a chance I'll be happier, or would I just be trading one miserable set of problems for other equally miserable problems?
I tried asking that to every person who interviewed me, but I only got somewhat vague answers like "the build can take a long time depending on what you're doing", etc. Someone complained about windbg.
[0] Even though my reviews have been good, I know deep inside I'm not doing even 10% of the good work I could do before.
[1] Ironically, I've acquired a ton of knowledge about it and I'm one of the "go to" people within my org.
- mandeepj 4y agoSharing because it might give you some Windows history at MS https://www.amazon.com/Old-New-Thing-Development-Throughout/dp/0321440307/ref=nodl_?dplnkId=42c92c1d-85ba-4de0-a6c5-a4b9102042ca# https://www.amazon.com/Old-New-Thing-Development-Throughout/... Also read - Showstopper
- localhost 4y agoWhat level (title is fine)? What team? I can try to help point you at some folks in Windows though it's been a while since I worked in that org. You can reach me via contact info in my profile if you don't mind decloaking.
- jacobsenscott 4y agoI've managed to just to full stack rails apps for years so I've been avoiding most of those issues. But I feel you on the GDPR, and whatever other regulation is there or coming down the pipeline. It really sucks the fun out of programming. I used to be a systems programmer, and was just thinking the other day that would probably be more fun then building web apps these days.
- sys_64738 4y agoDefinitely got for it for no other reason to say that you tried it as you'll always regret it if you don't. The only thing worse than not doing it is leaving such a team for the outside world and realizing that's the biggest mistake of your working life.
- dboreham 4y agoSeriously? You have to ask?? if (offered_nt_kernel_job) accept_right_away() You can always quit if it doesn't turn out well.
- danrocks 4y agoI envy you. I would probably pay money to give up my Sr. Manager position at FAANG managing multiple teams doing critical infrastructure work (or rather, trying to) to become an IC embedded developer.
- kramerger 4y ago