Attributes
Hard Skills
Nine domains of software engineering, each scored against a written rubric rather than a feeling. Self-audited October 2026 — the shape is the honest part, not any single corner.
How a level is earned
- 0UnexploredNever touched it. Named here for honesty.
- 1ReadRead around it. Could follow a conversation, not join one.
- 2TaughtCoursework and exercises. Works when the problem is set for me.
- 3BuiltBuilt something of my own with it that worked.
- 4SustainedCarried something real through debugging, rewriting and reading the spec in anger.
- 5TeachingOthers ask me. I know where the sharp edges are and why they are there.
The domains
- Compilers & Systems4/5
LLVM IR analysis and transformation passes, and enough C++ to follow a program down to the assembly it becomes.
- Parallelism & Concurrency3/5
Threads, locks and work splitting from coursework. Still learning where a memory model bites back.
- Hardware & Architecture3/5
Embedded C on constrained boards: timers, interrupts, and the slow discipline of reading a datasheet properly.
- Networking & Distributed2/5
Protocol fundamentals from coursework. Little built on top of them yet.
- Security2/5
Threat-model literate and comfortable with crypto primitives. Nothing offensive or defensive shipped.
- Data & Storage3/5
SQL schemas designed around the questions asked of them, and Python pipelines over genuinely messy data.
- Machine Learning3/5
Training and evaluation from coursework. The maths is comfortable; deployment is not.
- Agentic Systems2/5
Daily driver of LLM tooling, this site included. Have not yet built an agent that runs without me.
- Algorithms & Data Structures4/5
Coursework plus steady practice. The standard interview battery holds no surprises.