Aggregate Roots, Entities, and Deliberate Practice
Manage episode 280080712 series 2840081
Summary
Rob plans some activities again in a world that slowly opens up, and shares his frustrating experience booking tickets for Universal Studios. JD is thinking about his summer vacation, and has decided to take a full three weeks off to recharge from the stress. It'll probably be a motorcycle vacation in Germany. The two chat about the cultural differences when it comes to holidays, especially between the US and Sweden.
Then JD gives an update on his project, reflects on his approach, and describes how he shifted from a "getting things done" to a growth mindset to enjoy the work more. This has helped push him forward exploring DDD, which the two discuss in depth. With the lessons he learnt, JD rewrote the initial version of his domain model and is making much more progress than before. One insight in particular helped redesign the domain:
Aggregates turned out to be one of the most difficult patterns to apply. There was an over-emphasis on access rules within aggregates (nobody can hold a reference to things within an aggregate apart from the aggregate root). A much more useful view at aggregates is to look at them as consistency boundaries for transactions, distributions and concurrency.Progress is still slow though, which prompts JD to reflect on his expectations on software development and open source. Do other people really write side projects in one weekend? Were popular projects open source projects really created in a day? Or is it a sign of practice and experience? And what role play frameworks in this? Do they support the projects, or do they hide too much complexity for learning? JD argues that he's been too focused on executing, and has not payed enough attention to deliberate practice.
Stay in touch
Website: https://www.devnlife.com
Jan David: https://twitter.com/0x6a64
Rob: https://twitter.com/RobPando
32 episodes