C++ Roadmap

Most companies prefer strong critical thinking and basic knowledge over extensive knowledge and medium critical thinking, because software development needs constant learning. So its important to be really cracked at modern C++ language features and the standard library.

I suggest the following critical path, a chronological sequence of resources that have helped me quickly come upto speed in a short span of time :

C++

Fundamentals.

Specialized books.

Generic programming.

Memory Management.

Concurrency and asynchronous programming.

Functional programming.

Computer Architecture

Operating Systems

  • Earth and Grass OS - The goal is to build an undergraduate-level OS in C under 2k lines of code, that runs on QEMU. The basic scaffolding is already provided and you need to fill in the bits. Most OS concepts stick when you implement something yourself.

Cheatsheets

Technical Interviews

  • getcracked.io - One of the best collections of clever C++ interview puzzles maintained and updated by CodingJesus that truly test C++, OS and computer architecture concepts at deeper-level.

CppCon talks

  • CppCon videos - My suggestion is to cultivate a daily habit to watch two CppCon videos each day.
  • h/cpp - Educational C++ videos categorized and tagged.

Blog-rolls worth reading