"Principal backend engineering intelligence for C++ systems and performance-critical services. Actions: plan, design, build, implement, review, fix, optimize, refactor, debug, secure, scale backend code and architectures. Focus: correctness, memory safety, latency, reliability, observability, scalability, operability."
Resources
1Install
npx skillscat add prakharmnnit/skills-and-personas/backend-principle-eng-cpp-pro-max Install via the SkillsCat registry.
This skill provides principal-level guidance for developing C++ backend systems and performance-critical services, focusing on correctness, memory safety, and predictable performance. It helps developers plan, design, build, review, and optimize backend code and architectures while addressing issues like undefined behavior, latency, reliability, and observability. Use it when designing or refactoring C++ backend services, reviewing code for safety and performance, building high-throughput systems, or responding to incidents and performance regressions.
Backend Principle Eng C++ Pro Max
Principal-level guidance for C++ backend systems, low-latency services, and infrastructure. Emphasizes correctness, memory safety, and predictable performance.
When to Apply
- Designing or refactoring C++ backend services and infrastructure
- Reviewing code for memory safety, concurrency, and latency regressions
- Building high-throughput networking, storage, or compute systems
- Incident response and performance regressions
Priority Model (highest to lowest)
| Priority | Category | Goal | Signals |
|---|---|---|---|
| 1 | Correctness & UB Avoidance | No undefined behavior | RAII, invariants, validated inputs |
| 2 | Reliability & Resilience | Fail safe under load | Timeouts, backpressure, graceful shutdown |
| 3 | Security | Hard to exploit | Hardened builds, safe parsing, least privilege |
| 4 | Performance & Latency | Predictable P99 | Stable allocs, bounded queues, zero-copy where safe |
| 5 | Observability & Operability | Fast triage | Trace ids, structured logs, metrics |
| 6 | Scalability & Evolution | Safe growth | Statelessness, sharding, protocol versioning |
| 7 | Tooling & Testing | Sustainable velocity | Sanitizers, fuzzing, CI gates |
Quick Reference (Rules)
1. Correctness & UB Avoidance (CRITICAL)
raii- Own resources with RAII and deterministic lifetimesno-raw-ownership- Raw pointers only for non-owning referencesbounds- Validate all indices and sizes at boundariesinvariants- Assert core invariants and state transitionstime- Use monotonic clocks for durations
2. Reliability & Resilience (CRITICAL)
timeouts- Explicit timeouts for every external callbackpressure- Bounded queues; apply load sheddingshutdown- Drain in-flight work with deadlinesbulkheads- Isolate thread pools by dependency
3. Security (CRITICAL)
safe-parse- Validate untrusted input; avoid unsafe string opsharden- Compile with stack protection, PIE, RELRO, FORTIFYsecrets- No secrets in logs or core dumpsleast-priv- Drop privileges and sandbox when possible
4. Performance & Latency (HIGH)
allocs- Minimize allocations in hot pathscopy- Prefer move or views; avoid unnecessary copiescache- Improve locality; avoid false sharingio- Use async I/O where appropriateprofiling- Measure before optimizing
5. Observability & Operability (HIGH)
logs- Structured logs with request and trace idsmetrics- RED/USE plus business KPIstracing- Propagate trace context across threadscrash- Symbolized crash reports and core dump policies
6. Scalability & Evolution (MEDIUM)
stateless- Externalize state, enable horizontal scalepartitioning- Shard by stable keysversioning- Protocol and schema versioninglimits- Explicit limits on payloads and queue sizes
7. Tooling & Testing (MEDIUM)
sanitizers- ASan, UBSan, TSan in CIfuzzing- Fuzz parsers and protocol handlerstests- Unit, integration, and load testslint- clang-tidy, clang-format, warnings as errors
Execution Workflow
- Clarify latency/SLOs, throughput, and cost budgets
- Map data flow, thread model, and failure modes
- Define interfaces and memory ownership contracts
- Implement with bounded queues and explicit timeouts
- Add observability and crash diagnostics
- Validate with sanitizers, fuzzing, load tests
- Review risks and publish runbooks
Language-Specific Guidance
See references/cpp-core.md for toolchain defaults, concurrency patterns, and hardening.