So I am a new grad @ Microsoft doing generic web development but I just find it so damn boring. My CS lectures were so much more interesting than my day-to-day work here. I was thinking maybe I should switch to a Windows/Xbox kernel team or something developer tooling (compilers, VSCode, .NET, etc.) related for more mental stimulation. The only thing I am not sure about is how either one of those would look on my resume or if I would be pigeonholing myself in the long-term. Thoughts?
Draw your career path - will you be able to brand yourself as kernel developer which is transferrable to other companies, other than Apple? I think it’s much easier to brand yourself to be C++ optimization expert where you can transfer it to almost everywhere. Just it can be quite boring as well
Basic web dev is trash and boring, but there’s room there to make cool stuff. If you want to do things _well_ in web dev it’s a different ballgame. That being said, try both. Grass is always greener imo. It’s unlikely that you’ll be implementing “cs lecture stuff” as either kind of engineer.
What's that different ball game
Well, web perf for one thing is very hard compared to “centering a div” and “make these colors pop”. Have you ever used a website that had cascading menus and if you try to move the mouse from one item to another the menu disappears because you hooked up visibility to hover? Doing shit like this right is much harder than the naive approach.
I am a software engineer. I don't believe in these technology specialists.
This is a bit of a bad take. OP wants to do a specific job within software engineering, and those jobs often require specific backgrounds. They don't just let any random "software engineer" get in. Ex. Compilers. I know very few compiler devs that are just generic "software engineers," or people that transitioned from being a fullstack web dev SWE. Most are "software engineers that specialize in {compilers, runtimes, optimizations, etc}," and have prior job or academic experience in it. Also whats wrong if someone enjoys a specific part of SWE? Its not always about just doing the job for money.
Unless you are a very specific specialty and you happen to be top of the field of that specialty, then being a specialist (i.e. ruby dev, react dev) is mostly detrimental to your career. Especially since technology changes so quickly. Likewise, if you are limited to just a single language/skill, only low paying companies will hire you. And you will probably be managing a legacy system. I agree there are expections to this rule but these exceptions typically apply to the phds or those deep in research and literature.
It's a small job pool and people in it are there by choice. You can definitely grow into it but you are better off just being very good at C++ and leetcode.