This document discusses the process of redesigning the Mendeley API. It began as a monolithic codebase that had grown organically over 7 years, making it difficult to work with. The API team went through stages of denial, anger, bargaining, and depression before accepting that the code needed to be redesigned. They took on the challenge of tackling the monolith and splitting it into independent microservices. This led to the birth of API version 1, which focused on consuming clients, quick deployments, versioning, and other improvements. The final thoughts emphasize focusing on the long term, making services disposable, recognizing when codebases grow too large, and understanding client pain points.
2. World of Researchers
2
5
Build institutional
Reputation
showcase
Impact
find & win
Grants
Promote
research
expand
Institutional
network
Fulfil
Administrative
duties
Imposing researchers with many challenges & KPIs
Doing Research
But how about my PASSION?
11. 11
Problems
7 years organic growth
No independent release cycles
Inconsistent standards
Eternal version 1
API != product
API with no client
Privileged citizens
15. Reality
Your first client will hate you
You wont make them care about the new API
You will compromise on design
Your client will have specific behaviour
You will feel REST symmetry pain
You will feel that its never ending
15
19. Final Thoughts
Focus people on the long term
Software is not an asset
Make services disposable
Recognise when its too big
Recognise client pain
19
20. Final final thought
K端bler-Ross model of grief
Its fine. Its not too bad
Who can I blame?
Maybe we can live with it
Its too big a problem. Doomed
Might as well get on with it
20
denial
anger
bargaining
depression
acceptance