Blog
Get started by reading our blog or diving into some of the best practices that we use everyday to write better software.
Git
Keep track of code changes, making collaboration and code sharing easy.
Unit testing
Testing makes your code robust and gives you the confidence for doing refactorings.
Virtual environments
Using virtual environment makes your setup reproducible and easy to install.
CLI
Doing stuff with the command line interface (CLI) makes you feel like a hacker!
Clean code
Read Uncle Bob's masterpiece on writing clean and well-structured code.
Design patterns
Why not use established solutions to your solve your problems?
Packaging in Python
Package your code into a Python library, making the installation effortless.
Data structures and algorithms
Mastering the basics gets you 10x further than learning shiny new frameworks or hyped methods like machine learning.
Autodocs with Sphinx
Let the code document itself with tools like Sphinx, generating beautiful websites from code.
Stepwise refinement
Use a top-down approach to break up your problem into manageable pieces.
Cloud
Develop and run your code in a public cloud to scale your workflows.
Configuration files
Instead of hard-coding values in your code, use configurations files to track them.
Containers
How cool would it be to have a shipable version of your system and code? Containers!
Container Orchestration
Deploy your simulations everywhere and let them scale automatically.
CI/CD Pipelines
Automatically test and deploy your code changes with a CI/CD tool like Gitlab.
Infrastructure as Code
Define your cloud infrastructure as code,
making it easy to reproduce.
Code review
Giving or receiving feedback on code accelerates your learning.
Design docs
Learn how to structure your ideas in a concise document, making them easy to share.
IDEs
Gone are the days of writing code in a simple text editor. Today's IDEs work magic!
Frameworks
Extend your toolkit by learning frameworks tailored to your type of development.