>though I was thinking it would be mecessary to go back and do a masters. It's interesting that that might not be required
Well, there are no universal rules
Sometimes it could make your life easier, sometimes it wouldnt change anything.
It's kinda luck dependent - what companies you apply for, what hiring manager needs at particular moment, etc.
But if your masters program is same length as mine (1.5 year) then if you feel like doing it, then I recommend it because 1.5 year will pass quickly and you'll have decent paper (and hopefully experience, knowledge, skills and networking) :p
I've been working full time for like 3 yrs as C# dev + doing higher edu at weekends at the same time and I was about to decide thesis topic.
I've been searching for something challenging and found some very random post on programming forums about how compilers are hard etc and decided to give it a try.
I had kind of advantage that I accidentally had some significant amount of experience with handwritten parsers (at first job we were doing custom-markdown-like-language renderer as PoC or even when doing apprenticeship in high school I was rolling out csv parser instead of using libs, because... I'm not sure why, I probably didnt know how to use package manager or something)
I started reading about it a lot like dragon book (but it wasnt that useful tbh, too much math heavy)
And after year of jumping into it from time to time I've implemented small, custom-lang to LLVM IR to webassembly (via LLVM) compiler.
Then I had to find new job (we were very poorly paid) and I was interested in semiconductors industry because it was gaining traction (e.g chip war book) and it felt way more engineering oriented unlike web dev. Web dev tech decisions felt for me very religious, like fancy-conferences/blogposts oriented.
And since semiconductor industry often touches compilers, then that was opportunity for: better salary, interesting projects and in future transition to compilers
I've joined semico company as C# dev and then due to project cancellations/lay offs I managed to join compiler team and stress hard during first months since I had to learn new lang, new ecosystem, tools, approaches, techniques (e.g debugging) and only familiar thing was LLVM, which I was very beginner at.
but after that initial shock things were better, but I feel like I still need to improve my knowledge related to modern hardware, modern computer architecture, etc.
Debugging is very, very useful, cross-stack skill :)
>The people contributing to LLVM probably know everything down to assembly generation. they're truly incredible.
Not really. I was webdev who then switched into compilers job with LLVM being foundation
LLVM itself is huge, it is not trivial to be familiar with every it's areas/mechanisms, but writing not-complex passes, bug fixing, regression fixing does not require some fancy knowledge
>Modern sites are extremely complex. BASH, Docker, Kubernetes, Python, Varnish, NGINX, Postgres, Cassandra, Elastic, Redis, Celery, CSS/Sass, Typescript. Observability, logging, build systems, testing, backups, CI, and a consistent design system. That’s all just to get to HTTP 200 “hello world”.
A lot of fancy keywords, but
1) It's the stack that you decided to put your services on, your HTTP 200 could be also served by nginx + 1 html file
2) You can make empty video multiplayer game which will sound as fancy as that HTTP 200 hello world
yields are constantly improving on monthly basis, according to executives around 7% per month, so the capability is definitely there, but yields still needs some time
Sounds like bullshit, I'd rather bet that Microsoft wanted to make some Cloud OS, web friendly thing and expected it to be as successful as Visual Studio Code
Also, I don't think that integrating react app into Windows is trivial
Well, there are no universal rules
Sometimes it could make your life easier, sometimes it wouldnt change anything.
It's kinda luck dependent - what companies you apply for, what hiring manager needs at particular moment, etc.
But if your masters program is same length as mine (1.5 year) then if you feel like doing it, then I recommend it because 1.5 year will pass quickly and you'll have decent paper (and hopefully experience, knowledge, skills and networking) :p