Learning Paths¶
Track-specific roadmaps for progressing from Explorer to Senior Contributor. Each path is organized by month with concrete goals.
Python Track¶
Prerequisites: 1+ year Python, familiarity with NumPy
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Understand project structure, run tests | Build from source, run ctest, run Python test suite |
| 2 | Fix a documentation or typo bug | Submit a PR updating docstrings or README |
| 3 | Write a Python test | Add test coverage for an existing feature |
| 4 | Add a simple CLI flag or option | Modify CLI tool, update docs, write test |
| 5 | Implement a new Python binding | Wrap a C function in bindings/python/ |
| 6 | Own a Python module | Take responsibility for one module in bindings/python/SneppX_ALG/ |
| 7+ | Review Python PRs | Provide code reviews as a Senior contributor |
Key Resources¶
docs/STYLE_GUIDE.md— Python section (PEP 8, Black, Google-style docstrings)bindings/python/— existing bindings as referencetests/python/— test patterns and fixturesdocs/API.md— full API reference
C/C++ Core Track¶
Prerequisites: 2+ years C, familiarity with CMake, memory management
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Build from source, read ARCHITECTURE.md | Understand kernel/ layout, build all targets |
| 2 | Fix a kernel bug with a test | Identify bug in kernel/, write reproduction test, submit fix |
| 3 | Implement a new tensor operation | Add function to kernel/tensor/, expose in header, test in C and Python |
| 4 | Document a kernel module | Write developer docs for kernel/autodiff/ or kernel/memory/ |
| 5 | Optimize an existing kernel | Profile, optimize, measure speedup, document approach |
| 6 | Own a kernel module | Take ownership of kernel/tensor/ or kernel/optimizer/ |
| 7+ | Review C PRs, mentor | Provide thorough code reviews emphasizing memory safety |
Key Resources¶
docs/ARCHITECTURE.md— full system designdocs/STYLE_GUIDE.md— C style rulesdocs/DEVELOPMENT.md— build and testing workflowinclude/neural_core/kernel/— public API headerskernel/— existing implementations
Security Track¶
Prerequisites: 3+ years in cryptography/security engineering
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Build from source, read security/ READMEs | Understand S0-S9 layer architecture, run crypto tests |
| 2 | Implement test vectors for an existing cipher | Add Known Answer Tests (KATs) for Kyber, Dilithium, or SPHINCS+ |
| 3 | Audit a security module | Review a module for constant-time correctness, submit findings |
| 4 | Add a new cipher wrapper | Wrap a standard algorithm, implement interface in security/crypto/ |
| 5 | Conduct a full threat model | Write STRIDE analysis for a subsystem |
| 6 | Own an S-layer | Take responsibility for one security layer (S0–S9) |
| 7+ | Mentor security contributors | Guide contributors through crypto-audit process |
Key Resources¶
docs/ARCHITECTURE.md(Security Layers section)docs/security.md— security overviewSECURITY.md— vulnerability reportingsecurity/— all S-layer implementationstests/security/— test suites
CUDA Track¶
Prerequisites: 2+ years CUDA C++, GPU architecture knowledge
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Build CUDA backend, read CUDA kernels | cmake -B build -G Ninja -DSNEPPX_BUILD_CUDA=ON, run cudatestsuite |
| 2 | Optimize an existing CUDA kernel | Profile with ncu, optimize occupancy/memory, measure speedup |
| 3 | Implement a new CUDA kernel | Write a fused kernel (e.g., bias+activation+GEMM), benchmark |
| 4 | Add CUDA kernel documentation | Document kernel strategy, grid/block sizing, shared mem usage |
| 5 | Extend test coverage for CUDA | Add edge-case tests (empty tensors, alignment edge cases) |
| 6 | Own a CUDA module | Take ownership of kernel/cuda/attention_cuda.cu or similar |
| 7+ | Review CUDA PRs, mentor | Provide reviews focused on warp divergence, memory coalescing |
Key Resources¶
docs/ARCHITECTURE.md(CUDA Accelerated Optimization section)kernel/cuda/— existing CUDA kernel implementationstests/cuda_test_suite.cu— CUDA test patterns- NVIDIA CUDA Best Practices Guide
Algorithms Track¶
Prerequisites: ML theory, linear algebra, probability, statistics
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Understand algorithm pipeline | Read docs/ARCHITECTURE.md (HSS, SER, ARC, NPE, FM sections) |
| 2 | Run algorithm tests | Execute all algorithm tests, understand failure modes |
| 3 | Implement a new feature for an algorithm | Add a new routing strategy to SER or a new defense to ARC |
| 4 | Write algorithm documentation | Document mathematical formulation, parameter choices, trade-offs |
| 5 | Benchmark algorithm performance | Create benchmark scripts, compare against baselines |
| 6 | Own an algorithm module | Take ownership of HSS, SER, ARC, NPE, or FM |
| 7+ | Propose new algorithm extensions | Write design docs for new algorithm variants |
Key Resources¶
docs/ARCHITECTURE.md— full algorithm descriptionsalgorithms/— source code for each componentdocs/DESIGN.md— design decisions and trade-offsdocs/GLOSSARY.md— terminology reference
Documentation Track¶
Prerequisites: Technical writing ability, English proficiency
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Read all existing documentation | Identify gaps, outdated sections, missing examples |
| 2 | Fix documentation issues | Submit PRs fixing typos, broken links, unclear explanations |
| 3 | Write API documentation | Document a module's API with examples |
| 4 | Create a tutorial | Write a step-by-step guide for a common workflow |
| 5 | Revise architecture docs | Update docs/ARCHITECTURE.md with new components |
| 6 | Own documentation quality | Maintain docs/ index, review doc PRs, enforce standards |
Key Resources¶
- Existing docs in
docs/directory docs/STYLE_GUIDE.md(Documentation Style section)- Python source files (docstrings)
- C header files (API comments)
Infrastructure Track¶
Prerequisites: Build systems (CMake), packaging experience
| Month | Goal | Deliverable |
|---|---|---|
| 1 | Understand build system | Read CMakeLists.txt, understand presets and targets |
| 2 | Optimize build times | Profile build, identify bottlenecks, implement ccache/distcc |
| 3 | Containerize the project | Write Dockerfile for development and testing |
| 4 | Automate release process | Script the release workflow (version bump, changelog, publish) |
| 5 | Improve test infrastructure | Expand ctest suite, add sanitizer targets |
| 6 | Own infrastructure | Take ownership of build system, packaging, scripts |
Key Resources¶
CMakeLists.txt— build configurationscripts/— build and development scriptscmake/— CMake modules