These days I run engineering at Lido and noticed something really strange.
We’re working on a spreadsheet OS in the browser. It’s all JavaScript, but…it’s just systems engineering. We write drivers to provide a common interface for I/O. We have system calls (Spreadsheet formulas) and a kernel (written in JavaScript). We plumb data, have to worry about race conditions, and all the other fun stuff. Even though its not “C” or dealing with hardware, or managing threads, it’s all the same ideas.
My last job they were building backups for flash storage. Again there was a “kernel” (written in C++), and system calls (HTTP API) that could be called with a higher level language.
Before that, I did billing systems and again, the design was a kernel layer (java) + system calls (HTTP API).
I’ve always thought of it as generalist ideas that persist, but now I’m starting to think this is really called systems engineering.
Traditionally I thought systems engineering dealt with hardware and the raw cons…