Johan Martinsson

Johan Martinsson is a freelance developer and craftsman that is passionate, amongst other things, about design in code. He has spent many years helping teams adopt XP-practices, in particular TDD and advanced coding. One of Johan's primary skills is the ability to contaminate almost anyone with at least a few craftsman practices.

Johan favorite way of making his point in conferences is by showing code.

Johan organized the first code retreat in France, organized the first ever Legacy Code Retreat with JB Rainsberger. Since 2009 he co-organizes the Grenoble coding dojo. In 2016 it was at its 130th session! He also co-organizes France's biggest agile event: Agile Grenoble.

NewCrafts 2018

Bug Free, by Design

  • Talk
  • Design
  • Architecture

Get rid of whole families of bugs for good with 21 tricks to reduce the space available for bugs.

Bugs are not a fatality, they appear whenever the design allows for it. Learn how to fix the root-causes and how to give an intrinsic quality to your code.

You'll look at static and dynamic typing in a different way. Learn about NoPrimitives, coupling & cohesion, if-less. We'll talk about the feedback-funnel and how it all scales from micro design to micro-services and to macro-design.

Loads of concrete examples and some live coding

Room: Dijkstra - Time: 5/18/2018 10:45:00 AM

BugsZero Kata

  • Hands-on
  • Design
  • Architecture

Bugs are optional, they get their way into our code much thanks the design choices we do or quite often fail to do.

You'll practice reading code, looking for parts where it is likely that a developer would create a bug if he extended the code. Whenever you've found such a weakness in the design your challenge is to strengthen the design in order to make that kind of bug very unlikely, or even impossible!

You'll practice the procedure of

  1. Identify a weakness in the design
  2. State what the potential bug is before explaining your solution. This is important, simply saying another solution is better avoids thinking of why it is actually better.
  3. Explain or refactor the code to show the new design.

Room: Engelbart - Time: 5/18/2018 2:45:00 PM


NewCrafts 2017

Usable software design

  • Talk
  • Design/Architecture

Did you ever think of the user of your code? Not the one using the application, but the developer that has to change the code after you. Does that person have a good tool for the job, i.e. is the code usable?

What can we learn from other domains where the power of user-centric design was discovered decades ago and led to a win-win situation? Expert designers always repeat that

You're not your user!


It's not the users fault, it's the designs fault.

Why? What does that mean in our world of code, architecture and team practices? You can expect plenty of code illustrating general principles of design and ergonomics. You'll go home with simple but powerful tools.

Room: Hopper - Time: 5/18/2017 9:30:00 AM


Code of conduct

Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.