A guide to developing code as a software engineer working in a team
Design of Implementation
- Will you implement this according to an established approach used already in the application, or do you need to think about possible implementation approaches?
- It’s better to spend time on design up-front than to develop some code then have to change it at the review or QA stage.
- Do you need to do any research, or spike some approaches before starting the code that will be used for production?
- Write the code following agreed conventions for style and design.
- Run the code through a linter, such as RuboCop, before committing it.
- Ensure there are tests that cover the positive as well as negative scenarios.
- If there are multiple variables and possible outcomes, ensure there is test coverage for these possibilities.
- Manually test the feature you are developing on your development branch before opening a Pull Request or Merging code into the origin branch.
- Where appropriate, run the entire test suite for that project before opening a Pull Request.
- Communicate any uncertainties and blockers with the team.
- If a task becomes very complex or raises unexpected issues, then speak to the team about splitting the ticket into multiple tasks.
- Try not to extend the scope of the ticket, but it may be appropriate to redefine what the focus of the scope is.