Promote team culture
I try to continously promote a culture of test driven development and testable code/system to ensure the correctness of the system is maintained
- Ensure each business logic has corresponding unit test, to ensure that the logic is maintained.
- Added automated test mechanisms for invoicing workflows, this reduces engineering effort in the long run
- Housekeeping: such as ensuring API tests and Unit test coverage to be above OE Scorecard standards.
- Improve API tests from 20 percent to 75 percent and improved Unit test coverage to be consistently above 70 percent
- Implemented test feature flags to allow testing on prod e.g. this is inline with trying to push for a testable system
Improve the processes/ operationalisation of the dev team
- Pushed for each code release to prod from a monthly basis to a biweekly basis. Since staging and production are more closely matching, the team would have more confidence to test and push code to production
- Ensured each code push is reviewed within the same day
- Promoted documentation of planning and implementations
- Promoted and coordinated release readiness data checks
Improve operationalisation/ observability of service
- add alerts via email and slack to alert if error is higher than normal
- maintain system dasboard for various metrics, such as latency, error count and percentage
- logged various classification of errors for easier root cause analysis