“Welke boeken lees je zoal in ons vakgebied?” Deze vraag wordt vaker gesteld. Nu ben ik iemand die graag meerdere boeken tegelijk lees en veelal er langere tijd over doe om een boek goed te doorleven. In mijn huiskamer slingeren meestal een tiental boeken rond die nog aandacht behoeven. (Mogelijk ben ik voor iemand die vroeger te weinig las, dik aan het inhalen)…
Op dit moment ben ik ook weer met een uiteenlopende set bezig. Hier een overzicht van de boeken en waarom ik ze interessant vind.
Modern Software Engineering van David Farley
David Farley is o.a. de co-auteur van het boek Continuous Delivery, kanaalhost op Youtube en natuurlijk software engineer. In dit werk geeft hij een mooie onderbouwing waarom Software Engineers goed moeten zijn in het omgaan met complexiteit en experts in leren moeten zijn.
Pragmatic Thinking & Learning van Andy Hunt
Andy Hunt heeft meerdere goede boeken geschreven. In dit werk staat leren centraal. Daarmee mooie relatie met het boek van David Farley. Wat dit werk erg interessant maakt is dat Andy heel mooi beschrijft hoe het model van Dreyfus toegepast kan worden. Dit model gebruiken we ook graag in onze eigen praktijk. Tipje van de sluiter:
Domain-Driven Design Distilled van Vaughn Vernon
Vaughn beschrijft op een heel laagdrempelige manier DDD. Dit boekje lees je snel weg en geeft een goed basisinzicht wat DDD te bieden heeft. Na het lezen van dit boek snap je de waarde van het begrip Bounded Context.
Team Topologies van o.a. Matthew Skelton
In dit werk wordt ingegaan op de inrichting van een organisatie. Volgens mij het eerste werk dat echt goed de relatie legt tussen organisatievorm en software architectuur. Zeker het eerste werk dat dit goed aan DDD relateert. Zie ook mijn posting over Bounded Context en de relatie met organisatievorm.
<< Uitstapje, onderstaand Venn-diagram wat we binnen Sogyo hanteren voor de inrichting van software organisaties is hier mooi aan te relateren>>
Practical Process Automation van Bernd Ruecker
Bernd is de lead engineer achter Camunda: The Universal Process Orchestrator (zoals ze het zelf omschrijven). Nu hebben we de afgelopen 20 jaar meerdere Process Orchestrator (PO) implementaties gehad en zien falen.
Wat dit werk interessant maakt is dat Bernd een echte software engineer is. Naast dat hij beschrijft wanneer je een PO vooral niet moet gebruiken, repecteert hij heel mooi de Bounded Context. Aldus zijn eigen woorden.
Een andere mooie opmerking: tuurlijk kun je een proces ook in code beschrijven, maar een visualisatie is voor andere sneller te begrijpen. Interessant om over na te denken.
Data Mesh van Zhamak Dehghani
Ja, ik moet hieraan nog beginnen. Wat hem zeer interessant maakt is dat de wereld van data ook het begrip Bounded Context omarmt in de Data Mesh.
We kennen de Data Lake voorbeelden wat swamps geworden zijn. Hoe met grote hoeveelheden data om te gaan en hier nog steeds de juiste betekenis aan te geven is het topic van Data Mesh. De komende jaren gaan we dit op ons in mogen laten werken.
Accelerate van o.a. Nicole Forsgren
Nicole heeft voor haar PhD onderzoek gedaan naar de performance van software delivery binnen organisaties. Ze heeft ruim 2000 unieke organisaties betrokken. Daarmee een zeer rijk inzicht verkregen wat “high performing teams” maakt en welke context hierbij past. Ze laat dit mooi zien door goed het vergelijk met “low performing teams” te beschrijven.
Het leuke van deze boeken is dat ze ingaan op (code) design. Hoe om te gaan met complexiteit. Het vinden van de juiste modulariteit. Ontwerp principes die ons fundamenteel kunnen helpen. Daarbij ook veel relatie leggen met de context die we als software engineering teams nodig hebben. Inspirerende werken waar we als industrie nog wel even zoet mee zijn.
<< Uitstapje, en dan hebben we nog niet gesproken over de beruchte uitdrukking: “It is all about the Machine that builds the Machine” 🙂 voor een volgde keer dan maar.. >>