4 ms·
Some context: during my part-time masters degree, which took 3 years to complete, I wrote the following from scratch: a MIPS and ARMv4 CPU in FPGA, an emulator
by 10x-dev 5y ago
Some context: during my part-time masters degree, which took 3 years to complete, I wrote the following from scratch: a MIPS and ARMv4 CPU in FPGA, an emulator for ARMv4, an assembler for it, a compiler for C89, an OS kernel with a shell, a 3d game, and several websites, webapps and mobile apps.
A job at Google won't bring you even close to be able to learn all of that on the job. The real world version of most of such projects are orders of magnitude more complicated, take years to develop and have tens to hundreds of people working on them.
Since you lack both the theoretical and practical knowledge of writing a kernel, for example, you will not be designing the solution for it at Google. At best you will learn to implement a piece of it, and it will take years (think of working on Fuchsia with no prior kernel experience).
A (master's) degree isn't an automatic ticket to becoming the lead developer on Fuchsia, but it gives you the chance to learn the theoretical portion of the domain and apply it in a controlled environment, at an accelerated pace, under the guidance of a person who specializes in teaching (not jaded Joe who's waiting for his RSUs to vest), so you have a large foundation on which to build the real world practical skills on the job.
Even if you switch teams every half, you will still not be able to cover the breadth of the material in a master's program on the job, not to mention having to perform to get a good enough rating to stay employed, while having essentially no prior knowledge of the topic.
You could supplement by taking some courses or reading books after work, but this would essentially be a diy masters without access to experienced professors, that would take much longer and be several times more stressful and inefficient.
- deleted 5y ago[deleted]
- cepher 5y agoThat sounds like an interesting curriculum. Would you mind sharing what program that was?
- 10x-dev 5y agoI went to Harvard Extension School. At the time, about half the classes were shared with the engineering school's undergrad program and those tended to be the most fun courses with projects that I mentioned previously. In many classes I chose what project to work on and I chose to push myself to work on difficult projects (e.g. I could have chosen to implement a basic stack machine with a small instruction set, instead I chose to implement an ARM CPU, which lead to many overnighters to meet the deadlines; the 3D game was my choice as well - I could have picked to implement an easy visualization in opengl). In all honesty some of the intro courses were not worth the price tag, but the advanced ones I'd consider taking again just for fun. If your employer covers the tuition, then I'd say that any course taught by instructors at SEAS (Harvard's engineering school) is absolutely worth taking.