Retrospective - My first year at PeerWell
Personal retrospective from the time I joined PeerWell (end of Apr 2020) till now (Jul 2021).
Overall, a very positive outcome.
Liked
Some things I contributed that I remember and am proud of (in no particular order):
- Speed up CICD pipeline from >1h to ~18min. Keys for improvement were:
- parallel acceptance tests (independent scenarios by design)
- parallel integration tests (spawn an in-mem DB server for each test worker, to tackle non-independent legacy scenarios)
- Big refactor to replace problematic queue with crash-proof eventual consistency
- New microservices, including service boundary with a DDD approach
- Partner API - a pull-only API designed for automatic integration of corporate systems with PeerWell
- OAuth2 client credentials grant, A2A auth schema with PKI
- Introduced BDD, TDD and agile
- Introduced openapi
- Promoted continuous delivery and trunk based development
- Monitoring & alerting
- K8s migration - Refactor apps as per 12factor principles for scalability and maintainability (eg: stateless services with externalized config)
- Big refactor to move from coffeescript to js to use best-of-breed tools
- Solved some hard to diagnose bugs and system issues involving all software components
- Dashboard 2 - For workerscomp corporate and care team users
- Patients self registration
Learned
Gained experience in:
- js and ts, FP, clean code and architecture
- eventual consistency, DDD
- k8s
- CICD with jenkins
- Monitoring & alerting
- helm - I hadn’t used before
Loathed
- Lack of transactions in AWS version of mongoDB
- A bit of coffeescript
Longed for
Things that I’d like to improve:
- Frontend - I’d like to do more
- GraphQL
- Personal projects - Find a little time to move them forward
- Haven’t read much CS books this year, just some parts of Composing Software (Eric Elliott) and Agile Coaching (Rachel Davies) - Though I’m glad I’ve been heavily applying concepts from previous readings like Continuous Delivery (Jez Humble), Building Microservices (Sam Newman) or Clean Architecture (Robert C. Martin).