Posts

Episode 019 - Sustaining Communities

There are many benefits to having communities of practice, so long as the community continues to exist. In this episode, special guests Jon Turner and Neil Sorensen discuss what they've learned over their many years attending and facilitating the Utah Software Craftsmanship group ( http://utahsc.org/ ). Listen here:  https://crafting-code-podcast.github.io/episodes/019-sustaining-communities.html

Episode 018 - Searching for Simple Tools

Allan published the latest episode of our podcast. Matt, Allan, and I talk about complexity in software development systems. You can find it here: https://crafting-code-podcast.github.io/episodes/018-searching-for-simple-tools.html

Utah .NET Meeup

On 13 June 2019, I had the opportunity to speak at Utah .NET Meetup in Salt Lake City, Utah. Code Reviews (Don't have to Suck) - 13 June 2013 According to a 2016 survey by Smart Bear Software code reviews are the #1 way to improve code quality. Come to this session to learn the benefits of reviewing code, as well as different tools and techniques for conducting code reviews. Surprise twist; the best way to code review is to pair or mob, so we had a small group mob on a kata for the last 20 minutes. Info about the meetup can be found  here . The slides for Code Reviews can be found   here .

Flow Factor 2019

On 11 June 2019, I had the opportunity to speak at Flow Factor in Salt Lake City, Utah. I one workshop and the closing keynote. What is Lean?  - 11  July 2019 When we talk about any tool, technique or practice that we like, we can fall into the trap of thinking that “Everything good is X” and “X is everything good.” If we truly want to understand a concept, we need to know what it includes and what it does not. After this session, we will have a clear understanding of what Lean is, how we might apply it to software development, and when we would and wouldn't want to. This session includes several hands on activities that drive the content home. Professional Craftsmanship  - 11  July 2019 As our profession grows and matures, it becomes more and more important for us to develop a sense of what it means to be a software professional. Analogies to existing professions are easily drawn. Precision and analytical problem solving are essential. So are we engineers? Creativity and wil

OpenWest 2018

On 7-9 July 2018, I had the opportunity to speak at OpenWest in Salt Lake City, Utah. I gave 2 talks across the 3 days. Code Reviews (Don't have to Suck)  -  7 July 2018 According to a 2016 survey by Smart Bear Software code reviews are the #1 way to improve code quality. Come to this session to learn the benefits of reviewing code, as well as different tools and techniques for conducting code reviews. Professional Software Craftsmanship  - 8  July 2018 As our profession grows and matures, it becomes more and more important for us to develop a sense of what it means to be a software professional. Analogies to existing professions are easily drawn. Precision and analytical problem solving are essential. So are we engineers? Creativity and willingness to try things we’ve never done are core to success. So are we artists? We are a new breed of professional that draws on but is unique from what has come before. Info about the conference can be found  here . The slides for Code Reviews

Architecture at different levels of abstraction

Image
This week I am attending the O'Reilly Architecture Conference in NYC with my team and I had the pleasure of attending a two day training on Building Evolutionary Architectures presented by Neal Ford and Rebecca Parsons . During this session, on of the things we talked about extensively was coupling. We looked at dependency maps for different architectural styles including the big ball of mud . We saw something like the following and almost everyone agreed, "That is a bad architecture." Big Ball of Mud This reminded me of something I has seen elsewhere before, and after a quick search, I found it: Amazon and Netflix Death Star Architectures The ball of mud is considered obviously wrong by most architects, but the death star seems to be held up as an ideal by just as many and likely most of the same architects. Why is this? Are afferent coupling (inbound dependencies) and efferent coupling (outreaching dependencies) only important at a certain sc

The SLC .NET User Group

On 8 February 2018, I had the opportunity to speak at The SLC .NET User Group in Draper, Utah. Professional Software Craftsmanship   As our profession grows and matures, it becomes more and more important for us to develop a sense of what it means to be a software professional. Analogies to existing professions are easily drawn. Precision and analytical problem solving are essential. So are we engineers? Creativity and willingness to try things we’ve never done are core to success. So are we artists? We are a new breed of professional that draws on but is unique from what has come before. Info about the meetup can be found  here . A version of the slides for Professional Software Craftsmanship can be found   here .