Systems
I love all things computer systems, here's a bunch of areas I intend to work on:
✦ Compilers, Language Tooling, & Developer Infrastructure ✦
I really like working on programming languages, with Rust and OCaml being my favorites. I want to build practical, well-engineered developer tools. I'm interested in compiler design, parsers, virtual machines, and IDE infrastructure. I believe they are the invisible foundation that makes programming possible and even fun. I want to develop the next generation of build systems and design awesome type checkers that provide excellent error messages. I've always wanted to work on beautiful profilers and debugging infrastructure, implementing JIT compilers, writing bytecode interpreters, and self-hosted supercompilers.
✦ Database Systems, Storage Engines, & Caching ✦
Building high-performance distributed databases and caching layers that power critical AI infrastructure is the path I am most likely to take. I like designing storage engines, implementing indexing strategies, and optimizing query execution on the database side. I'm a huge back-end person, so working on things like building high-availability multi-tenant platforms that scale automatically with diverse workloads, minimizing tail latency in caching systems, implementing clever eviction policies, and debugging performance issues at the assembly level represents the kind of deep systems work I crave.
✦ Backend engineering & API design ✦
I want to build back-end systems that runs at planetary scale with uncompromising reliability and serve millions of users. I want to work on serverless platforms, distributed runtimes, and reactive back-ends that handle millions of requests with sub-millisecond latency. I'm drawn to the challenge of designing systems that gracefully handle partial failures, implementing consensus algorithms in production, building load balancers and reverse proxies, and creating observability infrastructure that makes debugging distributed systems tractable. I want to master the art of capacity planning, understanding queuing theory, implementing backpressure mechanisms, and designing APIs that are both ergonomic and performant. The challenge of achieving five-nines availability while shipping features fast, building multi-region architectures with consistent replication, and debugging production incidents at 3am with only logs and metrics is where I have fun.
✦ Infra: Compute, Orchestration, & Observability ✦
It's no secret I love the infra behind the internet and always curious on how cloud infrastructure work. This includes understanding and debugging kernel-level network latency spikes in containers, developing task schedulers that optimize for locality and fairness, and tuning garbage collectors to minimize pause times in latency-sensitive applications. I want to work on orchestration engines that manage millions of containers, block storage systems that provide consistent low-latency access at scale, and compute services that abstract away the complexity of distributed systems while providing the performance of bare metal.
I'd love to work on optimizing container runtimes for GPU workloads and exploring HPC network architectures that push the limits of interconnect bandwidth. I'm fascinated by high-performance storage systems like Weka and Ceph. Designing load-balancing algorithms to optimize serving efficiency, breaking (and fixing) the CUDA compiler, and enhancing virtual machine performance for cloud-native ML workloads are some of the other interests I wish to pursue.
I also want to deeply understand the real engineering trade-offs involved in building systems that handle billions of customers. I'm drawn to the problems of building high-performance network stacks (DPDK, kernel bypass, RDMA), implementing custom protocols, and understanding the performance characteristics of modern networking hardware. I want to work on the hardest problems that distributed systems has to offer.
✦ Operating Systems Kernels & Hardware Architecture ✦
There's something magical and enchanting about understanding how computers actually work at the lowest level. On the career side, I want to work on things like implementing schedulers, writing device drivers, building file systems optimized for specific access patterns, and understanding memory management deeply enough to debug the most subtle performance issues.
I'm fascinated by io_uring and async I/O primitives, eBPF for observability, container runtimes and their interaction with cgroups/namespaces, and the challenge of building systems software in Rust that matches C in performance. Projects like contributing to Redox OS and implementing a custom hypervisor represent the depth of systems understanding I aspire to achieve.
I'd love to put my EE degree to use—particularly in FPGA engineering with OCaml (à la Jane Street), chip floorplanning with deep reinforcement learning, and microprocessor architecture design. I'm drawn to building machine learning accelerators like Google's TPU and Groq's LPU, understanding how custom silicon can achieve orders of magnitude better performance-per-watt than general-purpose GPUs. I'm equally fascinated by consumer hardware engineering—products like Apple's AirTag that combine ultra-low power design, precision timing, and elegant hardware-software integration.