Posts

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 can be foun…

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: Netflix Death Star Architecture
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 scale?Is it a matter of getting things done? W…

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 foundhere.

Big Mountain Data & Dev Conference

On 10-11 November 2017, I had the opportunity to speak at Big Mountain Data & Dev Conference (aka Utah Code Camp) in Salt Lake City, Utah. I gave 3 talks across the 2 days.

Code Review - 10 November 2017
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 - 11 November 2017
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.

An Architecture for Autonomy - 11 November…

OpenWest

On 13 July 2017, I had the opportunity to speak at OpenWest in Salt Lake City, Utah on An Architecture for Autonomy.

An Architecture for Autonomy
In the 5 years that I have worked as an architect at Pluralsight, we have grown from one team of 4 engineers to over a dozen teams totaling more than 100 smart, professional software craftsmen. During this time, we have also acquired more than half a dozen companies and disassembled a single monolith 40+ bounded contexts with hundreds of independent microservices. Come to this talk to learn how we integrated .NET, PHP, Python, NodeJS, Ruby, Elixer, Scala and soon Go into a single, functional product offering. Come to this talk to learn how we have embraced team autonomy to create an architecture that allowed us to deliver more than 60 new user experiences over the last year.

Info about the conference can be found here.
An updated version of the slides for An Architecture for Autonomy can be found here.

Desert Code Camp 2017.1

On 14 October 2017, I had the opportunity to speak at the Desert Code Camp in Phoenix, Arizona. I gave the following two talks:

An Architecture for Autonomy
In the 5 years that I have worked as an architect at Pluralsight, we have grown from one team of 4 engineers to over a dozen teams totaling more than 100 smart, professional software craftsmen. During this time, we have also acquired more than half a dozen companies and disassembled a single monolith 40+ bounded contexts with hundreds of independent microservices. Come to this talk to learn how we integrated .NET, PHP, Python, NodeJS, Ruby, Elixer, Scala and soon Go into a single, functional product offering. Come to this talk to learn how we have embraced team autonomy to create an architecture that allowed us to deliver more than 60 new user experiences over the last year.

What is Lean?
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 every…

FL PyCon

On 7 October 2017, I had the opportunity to give the morning keynote at the inaugural Florida PyCon in Orlando. I choose to speak about Professional Software Craftsmanship.

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 conference can be found here.
Slides for the talk can be found here.