It didn’t come as a surprise when I switched my career interest from customer-facing web/mobile development to systems level engineering last year – as a child, I’v always pondered and fancied how our complex operating systems and firmware work (R4DS, iOS jailbreak, Android custom ROM, PSP & Wii homebrew, BackTrack3, WindowsXP/7 Hackintosh). After all, they are like the founding father of every program we run. They are the mediator, the manager of a computer’s resources, and essentially the ultimate ruling king of a computer.
Despite some confusion with the role “systems administrator”, I now aspire to begin my career as an algorithmic systems engineer, one who deeply understand the low-level fundamentals of computing, yet articulating algorithmic constructs and principles inside-out to be able to optimize for the best software performance and cleanest code. Though my end goal one day may still be to build the best software for customers, for now I believe that a strong understanding of what makes computers computers over the years, at least working from a historical perspective, is critical to sniffing the future trends and frontiers of computer technology.