“The fault…is not in our code, but in ourselves.”
A while back, a colleague and I were lamenting the lack of a strong ‘craftsmanship’ ethos across the field of embedded software development. In other software development fields, we were aware of a growing Software Craftsmanship movement that reflected the historical mindset of artisans that would take a great pride in the quality of their work that went far beyond a simple monetary exchange.
How, then, to bring this philosophy to the embedded space? We were looking to blend the theoretical learning of these concepts with hands-on practice, the communal act of helping to lift each other up with the personal growth of individuals. This led us to begin experimenting with the idea of a “Software Craftsmanship Club”. With some trial-and-error, as well as the help of other interested developers, we landed on a recipe for success that we began repeating on a bi-weekly cycle:
- The club selected appropriate learning materials like a book chapter, blog post, or podcast episode.
- Each member independently reviewed the materials.
- The club came together to discuss the ideas and help each other to understand the materials better.
- The club selected a practice coding problem in which the concepts could be applied.
- Each member tried the coding problem on their own in a programming language of their choice.
- A partner, using the same language, reviewed the code and assisted in applying the conceptual learning.
- The club got back together to highlight successes from the practice problem.
We found this to be a win for both our employee-owners and our clients, while also fitting nicely with DISTek’s values. At an individual level, the practical peer mentoring shortened the learning curve for junior developers, while our senior developers helped us all stretch towards new horizons, driving the exchange of innovative ideas and quality engineering practices across our teams. Not only did we find ourselves taking even more pride in the quality of our work, but perhaps counterintuitively, these practices have been shown to increase the speed of delivery while also reducing the number of defects.
Where do we go from here? That’s an easy question for a 100% employee-owned company that has building community, growing leaders, and achieving a legacy of shared success encoded deep into its DNA. We decided to invest further time and resources into scaling this up from an experiment into an official, organizationally supported Software Craftsmanship Club program. Employee-owners can now sign up and DISTek will assist with the formation and ongoing support of this network of self-directed clubs. If you are a developer looking for an organization that is pushing the boundaries of embedded software, or if you work at an organization that is looking for a long-term partner that takes as much pride in what they develop as you do, then contact us today!