// cohort 01 — enrollment open

C++ that is fast
on purpose.

A project-based course in systems-grade C++ for working developers. Own the memory, master the cores, measure everything — and ship software that outruns the garbage collector by design, not by luck.

  • 0modules
  • 0projects
  • 0hours
  • 0capstone

[01] — why premshire

Performance is a skill,
not a compiler flag.

Most C++ material teaches you syntax. This course teaches you the machine underneath it — and the habits of engineers who make latency budgets, not excuses.

Memory, owned

Stack frames, heap arenas, RAII, smart pointers and hand-rolled allocators. You will know where every byte lives — and why it lives there.

Concurrency without fear

Threads, atomics, memory ordering and task queues — taught through failure modes first, so the deadlocks happen in class instead of in production.

Measured optimisation

Profilers before opinions. You will learn to find the hot 3% with perf and sanitizers, and to leave the other 97% readable.

Modern standard, idiomatic

C++17 and C++20 as a single coherent language: move semantics, constexpr, ranges and coroutines used where they earn their keep.

Undefined behaviour, defined

The sharp edges get named, demonstrated and fenced off. Sanitizers and warnings become part of your muscle memory, not an afterthought.

Projects over puzzles

No toy katas. Every module ends in a component you could defend in a code review — allocators, thread pools, an engine core, a network server.

[02] — what you build

Four components worth
a place in your portfolio.

P_01

Arena & pool allocator

A fixed-size pool allocator with a benchmark harness that pits it against malloc — the same pattern game engines and exchanges rely on.

  • memory
  • benchmarks
  • c++17
P_02

Concurrent log pipeline

A multi-producer, single-consumer pipeline that ingests millions of events through bounded queues without dropping or blocking the hot path.

  • threads
  • atomics
  • queues
P_03

Entity-system engine core

A cache-friendly entity-component store with a fixed-timestep update loop, profiled and tuned until the frame budget holds.

  • data layout
  • ecs
  • profiling
P_04

Async TCP echo & metrics server

An event-driven server that holds thousands of sockets on a single thread, with latency histograms you generate and read yourself.

  • networking
  • async i/o
  • metrics

[03] — the toolchain

The professional bench,
installed in week one.

g++compiler
clangcompiler
cmakebuilds
gdbdebugger
perfprofiler
valgrindmemcheck
asan/ubsansanitizers
gtesttesting
clang-tidylinting
gitversioning
dockerenvironments
compiler explorercodegen

[04] — curriculum

Eight modules,
one ascent.

Self-paced, strictly ordered. Each module closes with a build assignment reviewed against a written standard — over 80 hours in total.

module_01The machine & the toolchain6h
  • How source becomes a binary: preprocessing, compiling, linking
  • A reproducible setup with CMake on Linux, macOS and Windows
  • Types, value semantics and const-correctness from day one
  • Warnings-as-errors and the first sanitizer run
module_02Pointers, lifetimes & the heap8h
  • Stack versus heap: cost, layout and lifetime
  • Raw pointers, references and ownership discipline
  • new/delete and every way they go wrong
  • Reading a leak report and fixing the design, not the symptom
module_03Classes that survive review9h
  • Constructors, destructors and the rule of five / rule of zero
  • Inheritance, virtual dispatch and when to refuse both
  • Operator overloading with restraint
  • Designing invariants instead of documenting them
module_04Templates & the standard library9h
  • Function and class templates without the folklore
  • Containers by cost model: vector, map, unordered_map, deque
  • Iterators, algorithms and ranges
  • Writing your first custom allocator
module_05RAII & smart ownership7h
  • unique_ptr, shared_ptr, weak_ptr — and the cost of each
  • Resource guards for files, sockets and locks
  • Exception safety: the basic, strong and noexcept guarantees
  • Breaking reference cycles by construction
module_06Concurrency & memory ordering10h
  • std::thread, mutexes, condition variables — and their failure modes
  • Atomics and the memory model, explained with experiments
  • Thread pools and task-based design
  • When lock-free is worth it, and when it absolutely is not
module_07Profiling & optimisation10h
  • Cache lines, data locality and why arrays keep winning
  • perf, flame graphs and benchmark methodology
  • What -O2 actually does to your code
  • A vectorisation primer: letting the compiler use the SIMD lanes
module_08Capstone: a system under budget12h
  • Design a service against an explicit latency budget
  • Integrate allocator, pipeline and async I/O work from earlier modules
  • A full profiling and optimisation pass with before/after evidence
  • Final review against the Premshire engineering standard

[05] — why c++

When the budget is measured
in microseconds.

 C++JavaPythonRust
Compiles to native codeyesJITnoyes
Manual memory controlfullGCGCfull
Zero-cost abstractionsyesnonoyes
Pause-free latency profileyestuningnoyes
Existing systems codebasesvastlargesomegrowing
Games / HFT / embedded reachdefaultrarerarerising

Rust is excellent company — but the industries above run on decades of C++, and they hire people who can maintain and extend it.

[06] — pricing

One course. Three ways in.

Premshire is a subscription: every tier unlocks the full eight-module curriculum for as long as it runs. Cancel anytime, no minimum term, and a 14-day money-back guarantee on your first payment.

Solo

$19

per month · cancel anytime

  • Full 8-module curriculum
  • All exercises & starter repos
  • Community forum access
  • Certificate of completion
  • Always the newest content
Choose Solo

most chosen

Professional

$39

per month · cancel anytime

  • Everything in Solo
  • All 24 build projects & capstone review
  • Profiling toolkit & benchmark harnesses
  • Private community & monthly Q&A
  • One 1-on-1 code review every month
  • Interview preparation module
  • Always the newest content
Choose Professional

Team

$79

per seat / month · 5+ seats

  • Everything in Professional
  • Progress dashboard for leads
  • Private cohort & monthly live workshops
  • Quarterly architecture review call
  • Invoicing & volume discounts
Choose Team

Billed monthly. Cancel anytime — access runs to the end of the paid month.

[07] — included materials

The reference shelf.

Field notes & cheatsheets

Printable references for containers, smart pointers, move semantics and the C++17/20 additions — the pages you will actually keep next to the keyboard.

Interview drill kit

A bank of systems-flavoured interview questions with model answers, plus whiteboard patterns for memory and concurrency discussions.

Pattern library

Audited, reusable implementations: arena allocator, thread pool, scope guard, bounded queue. Copy them into real work with a clear conscience.

Library field guide

A curated tour of the ecosystem — testing, logging, serialisation and build tooling — with honest notes on when each earns a dependency.

[08] — faq

Fair questions.

Do I need prior C++ experience?

No — but you should already program in some language. If loops, functions and basic data structures are comfortable, module one will meet you where you are.

How much time does it take?

Plan for 6–8 focused hours per week; most people finish in 10–12 weeks. Everything is self-paced, so a slower cadence loses you nothing.

Which operating system do I need?

Linux, macOS and Windows are all supported. Setup guides cover each platform, and the toolchain (CMake, clang/gcc, VS Code) is identical across them.

How does the subscription work?

Premshire is a membership. Pick monthly or annual billing: both unlock everything in your tier — the curriculum, the projects and the recurring perks, like a code review every month on Professional. There is no minimum term; cancel whenever you want and your access simply runs to the end of the period you already paid for. Annual billing costs ten months, so two months come free.

Is there a refund policy?

Yes: 14 days, full refund, no questions. Email support@premshire.com within two weeks of your first payment. The details are in our Refund Policy.

How is this different from free tutorials?

Free material teaches syntax in isolation. Premshire teaches an engineering practice: ordered modules, reviewed projects, profiling evidence and a standard to hold your code against. The difference shows up in your pull requests.

Will this help me get hired?

The Professional tier includes an interview module, and the four portfolio projects are chosen to hold up in technical screens. We promise preparation, not placement — anyone promising placement is selling something else.

C++ or Rust?

Learn the one your target industry runs on. Games, trading, embedded and engines remain overwhelmingly C++ codebases — and the concepts here (ownership, layout, ordering) transfer directly if you pick up Rust later.

Can my team take it together?

Yes — the Team tier adds a shared dashboard, a private cohort and live workshops. Use the contact form below and we will set it up.

[09] — contact

Questions before you commit?

Write to us — a human reads every message, usually within a day. Or email support@premshire.com directly.

// ready when you are

Write the fast version first.

Enroll in Premshire →