Skip to main content

Tools and Practice


This section addresses the tools and practices which are part of the everyday habits of being a Software Engineer at Truss. If you'd like to get a sense for how Trussels solve problems, take a look at the 🔒interview solutions repo. If you haven't already, post your solution!

Truss aims to find a balance between giving the autonomy and tools to make the best choices in any given situation, but to also avoid revisiting the same questions again and again. The latter is especially true when the question is not material or core to how we do business. In some cases, we have strong opinions about which questions are not valuable as a cause for debate, e.g. Tabs vs Spaces.

Generally, our approach should be "if there is a suggestion or answer in these pages, follow it until you have a compelling reason not to". Once you have a compelling reason to change the practice document it by adding to or updating these pages.

Note on Default Branches

Where possible the documents here should refer to the Default Branch instead of using the word master. Where this is not possible try to use the default branch name main. In links to repos in GitHub please also attempt to get the reference to main and not to master.