Newsletter - January 2018


This month we've taken a look at Global Day of Code Retreat, Etsys' (excellent) Debriefing Facilitation Guide and takeaway lessons from a failed Tetris AI experiment.

The Codurance Team

P.S Missed our last newsletter? Catch up here.

Our Opinion On ...

On 18th November last year, we celebrated the Global Day of Coderetreat (GDCR), both in London and Barcelona. It’s an annual event in which Coderetreats take place simultaneously around all the world as a globally coordinated effort to improve software developer’s skills. In this case, 136 events were held in cities all over the globe.

For those people who never attended a Coderetreat, it's a full day event where we try to solve the same problem with different constraints. It's a way to practice and improve our craft, through experimenting, sharing and learning new things.

Coderetreats started in 2009, with the current format emerging in 2010 after sharing experiences from previous event. We acknowledge the work of those who are responsible for the organization of the GDCR year after year, and in particularly those who were there at the beginning: Corey Haines, Gary Bernhardt, Nayan Hajratwala, Patrick Welsh, Alex Bolboaca, Maria Diaconu, Erik Talboom, Adrian Bolboaca, Jim Hurne, Martin Klose and Alissa Conaty, to name a few.

Several weeks before GDCR, we hosted our first Legacy Coderetreat. We were encouraged by the high turnout for both of these events and continue to be inspired by the contribution made from the folks that attend. We’ll continue working with this format of practising, because it breaks comfort zones when facing problems in a different way, as well as it helps to grow the community. See you in the next Coderetreat!

About the author

Raquel discovered her profession when she was 12 years old, when playing with databases and DOS commands in the back office of a computer shop. She keeps as a treasure her notebook with a computer architecture and how data were stored in a diskette among other things. Raquel is a constant apprentice who strives for common sense, pragmatism and simplicity, and also enjoys sharing her knowledge and learning from others.

Learning JavaScript Design Patterns

This book is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language. Available for free online or as a physical copy, to help support the project.

DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together

Part of @herbertograca series of post on Software Architecture, this post explores how these concepts can be put together under what he has named 'explicit architecture'.

SC London 2018 | Super Early Bird Tickets On Sale

SC London 2018 tickets are now sale! Learn more & book your Super Early Bird Tickets Here ( .

Next year is special. Our conference coincides with the 10th anniversary of the Software Craftsmanship movement. In 2008, a number of aspiring software craftspeople met in Libertyville, Illinois with the intent of establishing a set of principles for Software Craftsmanship. We believe this is a wonderful opportunity to celebrate the moment that started the Software Craftsmanship movement.

The Attraction of Complexity

How is complexity distributed through a codebase? Does this distribution present similarities across different projects? Post by Minnen Ratta.

Ten Musings on AI Risks

William Hertling's musings cover a range of ethical questions, definitions and perceived challenges with AI.

10 years of professional blogging – what I’ve learned

We believe that blogging is an important part of deliberate learning. The reality is that committing ones experience or ideas to 'paper' isn't straightforward. A useful read for those that have been procrastinating on their ideas.

What's next for agile? -- interview at Agile Prague

Video interview with Gojko Adzic from Agile Prague in 2016.

Shrinking Haskell Docker images using multi-stage builds

Liam Griffin-Jowett explores Docker's new multi-stage build feature.

An introduction to user story mapping

Jim Bowes' post on how to translate a vision for a product or service into a collection of user stories.

How to set up and run your own Architectural Katas

Video from Neal Ford, explaining the ground rules for building software architectures.

Etsy’s Debriefing Facilitation Guide for Blameless Postmortems

A useful guide for helping to facilitate retrospectives.

Tetris - Failed Experiment: Next Steps

Dan Cohen reflects on his latest AI experiment with Tetris, and how he plans to move forward with future experiments. Part of a series of blogs exploring AI.

Applicative Functors and data validation, part II

Second part of Carlos Morera de la Chica's series, this post goes through an exercise to show how to use Functor and Applicative Functors to perform input data validation.

Where to Store JWTs - Cookies vs HTML5 Web Storage | Stormpath

'Stormpath has recently worked on token authentication features using JSON Web Tokens (JWT), and we have had many conversations about the security of these tokens and where to store them.'

Looking back at Rust in 2018

Interesting post written as a retrospective of potential progression within the Rust community this year.

Properties of Code: Safe refactoring without tests

In algebra there are certain transformation of a function that are mathematically equivalent. You may remember names like “The Associative Property” or “The Commutative Property” of equality.

Our Chance to say 'We're Hiring'

We're hiring Software Craftspeople that share the same values of Professionalism, Pragmatism and Pride in Software Development that we do. If you're ready for autonomy, mastery and purpose in your career, then click here