Software Development
Software development is somewhere between an engineering discipline and an art form. What makes "good software" is hard to quantify and somewhat subjective.
Here are some best practices that we have learned over the decades to build high-quality software as a team:
- Code readability: Use descriptive names for variables, parameters and functions and break long pieces of code into individual functions. Remember that writing code is relatively easy compared to maintaining it over time.
- All development happens on feature branches. Once a feature is ready (including test coverage that passes the build), create a pull request that is reviewed before merging into the main branch.
- Have a plan. Don't just start coding. Think about how your feature or ticket fits into the overall architecture of the software. What can be reused? What needs to be changed? Make sure you understand existing modularity boundaries and how your code fits into those. Where should this code live?