Systems & Programming Languages — Skills Plan
Planned skill map for Systems & Programming Languages. The curriculum will be developed and released in stages.
Compare language-specific paths in C/C++, Go, Rust, and Kotlin while learning memory, ownership, concurrency, build tooling, and systems debugging.
Potential roles: Systems Engineer · Go Developer · Software Engineer
Before you start
- Programming fundamentals
- Terminal, Git, and build tools
What you’ll build
- CLI utility
- Concurrent network service
- Cross-language systems component
Prerequisites
PLANNED- Programming fundamentals
Build the Programming fundamentals knowledge needed to follow the Systems & Programming Languages foundations.
- Terminal, Git, and build tools
Build the Terminal, Git, and build tools knowledge needed to follow the Systems & Programming Languages foundations.
Foundations
PLANNED- C and C++ syntax
Explain how C and C++ syntax works and where it fits in the Systems & Programming Languages learning path.
- Memory, pointers, and ownership concepts
Explain how Memory, pointers, and ownership concepts works and where it fits in the Systems & Programming Languages learning path.
- Go packages and error handling
Explain how Go packages and error handling works and where it fits in the Systems & Programming Languages learning path.
- Kotlin and JVM foundations
Explain how Kotlin and JVM foundations works and where it fits in the Systems & Programming Languages learning path.
Core Skills
PLANNED- Data structures and standard libraries
Use Data structures and standard libraries to implement a working capability and verify its behavior in Systems & Programming Languages.
- Concurrency and synchronization
Use Concurrency and synchronization to implement a working capability and verify its behavior in Systems & Programming Languages.
- Go goroutines and channels
Use Go goroutines and channels to implement a working capability and verify its behavior in Systems & Programming Languages.
- C++ RAII and resource management
Use C++ RAII and resource management to implement a working capability and verify its behavior in Systems & Programming Languages.
- Rust ownership and borrowing
Use Rust ownership and borrowing to implement a working capability and verify its behavior in Systems & Programming Languages.
- Kotlin coroutines
Use Kotlin coroutines to implement a working capability and verify its behavior in Systems & Programming Languages.
Advanced / Production
PLANNED- Profiling and performance
Evaluate Profiling and performance trade-offs against the performance, reliability, and safety needs of Systems & Programming Languages systems.
- Networking and service development
Evaluate Networking and service development trade-offs against the performance, reliability, and safety needs of Systems & Programming Languages systems.
- FFI and interoperability
Evaluate FFI and interoperability trade-offs against the performance, reliability, and safety needs of Systems & Programming Languages systems.
- Build, test, and release workflows
Evaluate Build, test, and release workflows trade-offs against the performance, reliability, and safety needs of Systems & Programming Languages systems.
- Reliability and secure coding
Evaluate Reliability and secure coding trade-offs against the performance, reliability, and safety needs of Systems & Programming Languages systems.
Real-World Projects
PLANNED- CLI utility
Deliver a working outcome with CLI utility, then test it against the project requirements.
- Concurrent network service
Deliver a working outcome with Concurrent network service, then test it against the project requirements.
- Cross-language systems component
Deliver a working outcome with Cross-language systems component, then test it against the project requirements.
Career / Interview Preparation
PLANNED- Memory and concurrency reasoning
Explain your approach to Memory and concurrency reasoning, defend key trade-offs, and discuss what you learned.
- Language trade-offs
Explain your approach to Language trade-offs, defend key trade-offs, and discuss what you learned.
- Systems debugging
Explain your approach to Systems debugging, defend key trade-offs, and discuss what you learned.
- Project walkthrough
Explain your approach to Project walkthrough, defend key trade-offs, and discuss what you learned.
Discussion
0Have a better approach? Found something outdated? Share it — your knowledge helps everyone learning here.
