I’m a computer science student who became deeply interested in compilers after realizing how much happens between writing a line of code and seeing it execute. Since then, I’ve been exploring systems programming, LLVM internals, operating systems, and backend architecture.
I prefer understanding fundamentals over chasing trends. If I use a tool, I want to know how it works internally. If I rely on an abstraction, I try to rebuild a smaller version of it myself.
- compiler design (lexing → parsing → IR → optimization → code generation)
- LLVM internals and intermediate representation
- operating system concepts
- systems programming
- backend and distributed systems
- mathematics for computer science
C C++ Rust Haskell Assembly
Clang / LLVM
GDB / LLDB
CMake / Ninja
perf / valgrind
QEMU
Linux tooling
- build a small but complete compiler from scratch
- understand operating system internals deeply
- design efficient backend systems
- contribute meaningfully to serious open‑source projects
- read books and real source code
- reimplement core ideas in small projects
- measure performance and analyze trade‑offs
- write structured notes
- repeat until it truly makes sense
trying to understand computers from silicon to software