At PingCAP we love the Go and Rust programming languages. They are the
languages with which we write the databases TiDB and TiKV, respectively.
They have empowered us to build these fast and reliable distributed systems from
the ground up, and iterate on them quickly and confidently.
These languages are the future of systems programming.
We expect a lot from ourselves — our engineers need to be, or to quickly
become, experts on both databases and distributed systems, and to be comfortable
expressing that knowledge in these modern languages. The products we
develop are on the cutting edge of distributed systems, storage technology,
software design, and programming language theory, and yet there are few
opportunities for students to gain hands-on experience with this intersection of
At PingCAP we are committed to mentoring the next generation of systems
programmers, those who are beginning their careers in a world that is quickly
adopting next-generation systems languages.
To this end, PingCAP is creating a series of training courses on writing
distributed systems in Go and Rust. These courses consist of:
Practical Networked Applications in Rust. A series of projects
that incrementally develop a single Rust project from the ground up into a
high-performance, networked, parallel and asynchronous key/value store. Along
the way various real-world and practical Rust development subject matter are
explored and discussed.
Distributed Systems in Rust. Adapted from the MIT 6.824
distributed systems coursework, this course focuses on implementing important
distributed algorithms, including the Raft consensus algorithm, and
the Percolator distributed transaction protocol.
Distributed Systems in Go. A course on implementing implementing
algorithms necessary in distributed databases, including map reduce, and
parallel query optimization.
Today they are in an early state, but we would appreciate if you give them a
look and help us improve them over at our PingCAP Talent Plan.
A fully-managed cloud DBaaS for predictable workloads
A fully-managed cloud DBaaS for auto-scaling workloads