- Article: Dr. Alan Kay on the Meaning of Object-Oriented Programming
- https://en.wikipedia.org/wiki/Alan_Kay
- read: Carl Huwitt
-> learn erlang to learn paradigm for better OO
Video: The art of destroying software - Greg Young
Greg Young - The art of destroying software
Paper: waterfall - Winston Royce You should read the original waterfall pater. it describes agile paper describes waterfall on the first page then goes on to say it does not work “waterfall is the optimal way, but it does not work”
Paper: Big Ball of Mud “this is inevitable” “this is optimal” you need to create small pockets
Optimise from the beginning to delete code
Erlang combination of small programs never change code, only rewrite
refactor = change code keep tests = change tests keep code
refucktor = change code and tests
rule of thumb microservice < 1 week of rewrite otherwise: flag = high risk area of code
technical debt is not bad debt is not bad if technical debt starts acumulating, delete it
“microservices” done right read: alan K read: Carl Huwitt
NO 18 month prohect try a 1week project - better estimation - better velocity
1970 write small maneagable
philosophy - unix - erlang - actors - microservices - soa
go learn Erlang
cowboy/fireman hat “wear the hat when working on prod issues” someone comes along to ask you something
challenged teams every time you add an abstraction create an options-pricing model on that abstraction and forecast the probability that someone actually needs it and i want you to measure yourself and then compare to the null-hypothesis not much better than dartboard
Q&A small amount of state for each program
can be in same database
avoid integration through data when possible trade-off: - nasty coupling - performance
weak schema hybrid schema -> some required fields + weak
protobuffs