Struggling to come up with a project idea? No problem! These are a few ideas for goals we can set and how we'll get there. As we learn, you'll generate ideas of your own to pursue, no problem.
| Learning Goal | Project |
|---|---|
| Deploy a Virtual Machine with Terraform | Learn how to research your cloud's Terraform providers, and how to build out systems, relating the web-based UI to Terraform's concepts. |
| Configure your Virtual Machine using Ansible | Configuring programmatically means you can build a thousand of the same system, quickly |
| Learning Goal | Project |
|---|---|
| Shell Pipelines | pipelines and the strengths of viewing data as text streams vs a data structure. Write simple shell aliases and customise your terminal workflow |
| Scripting | Write shell scripts that operate on text streams, files, and output captured from commands, learning control structures and good script hygiene. |
| Processes and how they use the kernel | Build a chroot jail, using various system tools to see what breaks and fixing the issues |
| Interacting with the Web from the CLI | Using curl, we'll interact with web APIs and parse the data |
| Interacting with the Web using Go | enough go to retrieve data from web APIs and parse it |
| Containerisation Basics | Use docker (popular, commercial) or podman (less frequently seen, but open source) to build containers |
| Container Implementation Details | Review the fundamental primitives exposed by the kernel to make a container, and build one without docker or podman |
| Learning Goal | Project |
|---|---|
| Github Actions Binary Release | Set up github actions to build, test and release QA binaries and tags for releasing official builds |
| Jenkins Setup | Set up a self-hosted build server, and learn how to interact with it through the UI and programmatically |
Get in touch and let's chat about what you'd like to learn. We'll talk until the right path is clear.