We caught up with Sandro Mancuso, author of ‘The Software Craftsman’, founder of the London Software Craftsmanship Community and keynote speaker at SCLConf, to get his thoughts on Craftsmanship and growing & supporting a community of nearly 4,000 members
Q.When did you first come across Software Craftsmanship?
I heard about it in early 2009, when the first Software Craftsmanship conference was announced. I could relate to the values straightaway and in 2010 I started the London Software Craftsmanship community, the first in Europe.
Q. What does Software Craftsmanship mean to you?
For me, Software Craftsmanship has different aspects. The first is the mindset, a more ideological way of to see our profession, the desire to do things well, and an eternal journey towards mastery. The second aspect is professionalism. The realisation that our first goal is to delight our clients, helping them to achieve whatever they want to achieve in the best way possible, establishing a productive partnership instead of client/supplier or employer/employee. And the final one is career ownership. Craftsmen own their careers, investing their own time and money to improve their craft and also taking control of their own professional destiny.
Q. What do you see being the future for Software Craftsmanship?
Although almost 9 years old as a movement, Software Craftsmanship is yet on its infancy and still trying to bring to developers more awareness about professionalism and the importance of constantly hone our skills. The good news is that more and more developers and companies are trying to adopt the Software Craftsmanship mindset in their organisations and it feels we are going in the right direction.
So far the focus of the Software Craftsmanship movement, mainly inside the communities, has been on technical practices. The work the communities around the world have been doing on teaching, learning and practicing XP practices like TDD, Pair Programming, Continuous Integration, alongside Clean Code, Refactoring, DevOps, Functional Programming, software design, and a few other things must continue. As more experienced craftsmen start mastering these practices, they should start looking forward and try new things. Good practices are only good until we find better ones to replace them and that is the Software Craftsmanship mindset. We need to detach Software Craftsmanship from specific technical practices. Our job is to always look for better ways of doing things, discover new practices, and share them with the rest of the community. This way we can guarantee our industry will evolve on solid grounds.
Besides technical practices, many companies are now realising they are (or are becoming) a technology company. They may sell clothes, they may handle financial transactions, they may book hotels, they may stream videos, but at their heart, they are a technology company. A technology company should not be managed and structured in a traditional way. The Software Craftsmanship movement, that means, craftsmen around the world, must become more connected to the business world and understand that from a business perspective, our technical practices are a means to an end and not a goal. Craftsmen need to step up and start truly collaborating with the business, providing ideas, alternatives, and solutions. But for that to happen, we also need to learn new skills. The same way we put a lot of energy to master technical practices, we should also start learning how a business is run, how companies make money, and how we can help them to be more successful. Being empowered is great but empowerment sucks if we don’t have the necessary skills and no one benefits from it.
Q. What do you think is the biggest hurdle for wider adoption of the Craftsmanship Mindset?
There are many and different places have different problems. A common one is the “it’s not my job” attitude. This can be found in all levels of an organisation including among developers. Another one is the traditional top-down command-and-control management style. In an environment like that, Software Craftsmanship won’t flourish. A small bubble (pocket) may be created in a team or department but the rest of the organisation after sometime normally crushes it when one or two people leave the company or move to another area. The inflexibility, arrogance, and religious attitude of some craftsmen when it comes to certain practices can also put people off.
The Craftsmanship mindset won’t survive in a hostile environment. The adoption of a Software Craftsmanship mindset is much easier when a company already has some sort of Agile culture: people working collaboratively, short feedback loop, inspect and adapt attitude. Without this foundation, it will be hard to change the culture and introduce new ways of working.
Q. Why did you found the London Software Craftsmanship Community?
Back then I was an active member of the London Java Community (LJC). Although I learned a lot there, I wanted to create an environment where developers with different backgrounds (Ruby, C#, mobile developers, etc.) could come along and discuss how they build software. I was not interested in language specific stuff. I was interested in the fundamentals of software development: practices, design, architecture, programming paradigms, automation, any thing that every developer need to learn regardless which programming language they use. I got to learn a few things about Software Craftsmanship from some people in Chicago and UK and I loved it. I could totally relate to it. So the need to learn more and the immediate connection to the Software Craftsmanship principles led me to speak to a very good friend of mine called David Green and together, with the support of our friends from LJC, we started LSCC in August 2010.
Q. The LSCC has grown to nearly 4,000 members. What's changed since the group first met in 2010?
It definitely got bigger. :) LSCC went through quite a few changes of the years.
From the organisational point of view, as the group grew, we had different challenges. At the beginning our meetings were small and we had them once a month at a place I used to work. They were easy to organise. As we grew, we had to decide to either make our meetings bigger or have more meetings. We decided for the latter. More meeting also brought an overhead of organisation. Although many people helped over the years, we recently decided to bring the whole organisation of LSCC to Codurance. This made things a bit easier as we can have dedicated people to make sure the meetings are scheduled and organised.
Regarding meetings, members, subjects being discussed, and community aspect, I have mixed feelings. At the beginning we were a much smaller group deeply interested in Software Craftsmanship, Extreme Programming and Software Design. We had a lot of things in common and learned tons from each other. As Software Craftsmanship became more popular, more people joined the community but not because they really wanted to get deeper in Software Craftsmanship but mostly because it is one of the many “new things” out there. That had an impact on the meetings and subjects being discussed. On one hand, LSCC continues to help many developers to learn the foundations of software development and instigate that desire to do things well. And that is awesome. On the other hand, that aspect of a small community where everyone knows each other and that feeling that we are always looking forward to see each other again to continue the conversation doesn’t exist anymore. But yes, it is still a vibrant community and it is always a pleasure to attend the meetings whenever I can.
Q. Are there any projects you'd like people to be aware of? How can people help out?
Codurance has definitely become my biggest project. For 3.5 years Mash and I have been focusing all our energy on creating a company we love to belong. It’s the first time we are running a business and we are having to learn a whole new set of skills to do our jobs. It can be quite scary sometimes. And as we were getting comfortable, we decided to open an office in another country, which brought a completely new set of challenges.
Things are settling down now, and I have plans to write one or two small books and hopefully start recording screencasts again.
Q. Where can people follow you online?
Mostly on Twitter (@sandromancuso) and the Codurance blog.