Notes
Reads I have enjoyed. Resources I’ve found useful. Or interesting quotes.
Test-Driven Development (TDD) & Dependency Injection (DI):
- Uncle Bob’s Bowling Game Kata (PPT, alt.): TDD by example, and in constrast with the “Big Design Up Front” approach.
- Google Guice’s Motivation wikipage: Dependency Injection using concrete examples.
- Misko Hevery’s guide to Writing Testable Code (alt.): excellent set of best practices, recipes & examples (& counter-examples) to write well designed and well tested code.
Distributed Systems:
- Designing Data-Intensive Applications by Martin Kleppmann.
Levelling: Career levels can be thought of as rails going from point
A
to pointB
:A --> B
- At L4 (Software Engineer level), you are given
A
,-->
, andB
, and need to drive successfully fromA
toB
. - At L5 (Senior Software Engineer level), you are not given
-->
, and need to decide how to get fromA
toB
in the best possible way. - At L6 (Staff Software Engineer level), you are not given
-->
andB
, and additionally need to define where we should be going. - At L7 you are given nothing, and you need to create structure for your world, from scratch.
- At L4 (Software Engineer level), you are given