As Software Craftsmen, we dedicate a lot of our time towards continuous learning and self-improvement. Whether that's reading blogs, watching videos or attending events together, we get the opportunity to debate pros and cons, form our own opinions and keep up to speed on what's developing in the community.
We've wanted to share more significant resources from our reading list and our events calendar with the wider community for some time. Hence this newsletter.
We're aiming to send this on a monthly basis. This may change to become more frequent if we feel that there is enough interest.
Kind regards, The Codurance Team
P.S Have you written something that you'd to share with the Software Craftsmanship community? Perhaps you'd like us to include a topic that we have yet to cover? Reply to this email and we'll try and make it happen.
Codurance: What does Software Craftsmanship mean to us?
Many people conflate Software Craftsmanship with Extreme Programming (XP) practices. It is understandable but strictly not correct. Taking a philosophical view, it is actually our innate desire as humans, to do a job well for its own sake. Software Craftsmanship is centred around the end goal of creating software that provides value for its users and the business - allowing us to support the business in a reliable and timely manner.
Just like any other craft, we value skills in tools and practices used to create software. XP provides some of those skills and practices. In fact, the values and principles associated with XP align very well with the Software Craftsmanship philosophy. However, these practices in themselves do not fully define Software Craftsmanship.
Software Craftsmanship is also about a culture of teaching and learning. In order to hone our skills, we must support each other. Our contribution to Software Development communities (especially the Software Craftsmanship communities), blogs, articles, books that aid our learning are also an important part of this philosophy.
Yevgeniy (Jim) Brikman's esoteric look at six paradigms that have changed the way he thinks about code, including references to some obscure programming languages that even had a few of us scratching our heads. Definitely worth a read.
Whilst we are already busy organising Socrates UK 2017 and the London Software Craftsmanship Community series of events, last year we had the thought 'what if we organised our own 2-day conference and invited as many top experts on Craftsmanship as we could?'. SC London is the outcome of that - you can check out the full schedule here (http://sc-london.com/#schedule) .
SkillsCast recording of David MacIver's talk on Hypothesis, a modern software testing library that probes the boundary conditions of your software based on the behaviour that you'd like to test. Given at the LSCC Talks in August last year, the talk also spends a decent amount of time looking at challenges of good software testing.
Note: You'll need to create a free Skills Matter account to watch this video.
J.B. Rainsberger's post on using Mocks as a stepping stone towards a potentially more suitable design illustrated through an example. There are caveats towards his opinion on Mocks and this generated some discussion on our team Slack for a few days.
We need to set this in context first. Most of us aim to attend at least one Socrates event in Europe during the year and whilst we're involved in Socrates UK, it's great to meet the wider Software Craftsmanship community. The lucky few that managed to get tickets to Socrates Canaries this year reported great sessions and sunshine. For those of us that didn't make it, this great write up from @eferro helped to bring us up to speed on some of the more popular sessions.