This document is a collection of "start here" kind of links for common topics we encounter on our team. One of the aims of this document is to equip the engineer to get easily started with a specific domain. The domain covers everything that FP Complete works on i.e. Rust, Haskell, Kubernetes etc.
If you don't have access to any of the internal materials linked below, contact Michael or Sibi to get the relevant access.
Rust
- Michael's video course on Introduction to Rust
- Michael's video course on Intermediate Rust
- Rust book by Steve Klabnik and Carol Nichols.
- Begin Rust book by Michael and Miriam in PDF.
Terraform
- Practical guide to use terraform for different cloud vendors
- Official doc: Motivation behind terraform
Kubernetes
- Official Kubernetes tutorial
- Video course on Scaling Microservices with Kubernetes
Logging best practices
Generally, we follow the 12 factor app's recommendations on logging. A basic overview:
- Logs should be sent to either stdout or stderr.
- DevOps is responsible for capturing that output and ingesting into a logging system.
- Use best-in-class libraries per-language. In Rust, for example, we recommend using the
tracinglibrary. - What to log
- Anything that might potentially be useful to know
- Don't be afraid to add
debuglevel output - If you're not sure if you should log it, log it
- Limiting factor: logging should not be the bottleneck of the application
Haskell
- Michael's video course on Introduction to Haskell
- Michael's video course on Intermediate Haskell