5 & 6.oct.2017London, UK

Software Craftsmanship Conference

It's a mindset

SCLConf is for people with the mindset of a Software Craftsperson
and for whom delivering software on time simply isn’t enough.
Passionate about Clean Code & Extreme Programming?
Want to increase the adoption of the Craftsman mindset?
Pragmatic in your approach to software development?

Then immerse yourself in this 2-day conference, and get an insight into the mindsets of some of the greatest thinkers and doers in the Software Craftsmanship world.

Speakers

Industry leading experts, thought leaders and Software Crafts(wo)men who shape and drive forward the craftsmanship community.



Sandro Mancuso

Co-Founder of Codurance, author of The Software Craftsman, and founder of the London Software Craftsmanship Community.

Rachel Davies

Author of the first “Agile Coaching” book and an invited speaker to software conferences worldwide.

Kevlin Henney

Renown speaker, writer, trainer, and consultant on dev patterns, programming, practice and process.

Michael Feathers

Founder/Director of R7K Research & Conveyance, an experienced consultant and the author of Working Effectively with Legacy Code.

Nat Pryce

An early adopter of XP, co-author of Growing Object­Oriented Software Guided by Tests, and contributor to several open source projects.

Steve Freeman

Consultant with Zuhlke Engineering, agile development pioneer, and co-author of Growing Object­Oriented Software Guided by Tests.

Hadi Hariri

Lead Developer Advocate at Jetbrains. Creator of many things OSS with a passion for Web Development and Software Architecture.

Mashooq Badar

Co-Founder of Codurance, a pragmatic software craftsman, and founding member of London Software Craftsmanship Community.

Johan Martinsson

Craftsman with a passion for design in code, helping teams adopt XP Practices, and co-organizes the Grenoble coding dojo.

Samir Talwar

CTO of Prodo.AI. Consulted for number of companies on software quality and automation with Codurance and as an independent.

Alex Bolboaca

Polyglot programmer, and experienced trainer and coach at Mozaic Works. Frequently facilitates coding events accross Europe.

Nicole Rauch

Co-founder of Softwerkskammer, experienced software developer and coach, with a keen interest compilers and formal methods.

Michael Sperber

CEO of Active Group, internationally recognised expert in functional programming, authors many papers and books on the subject.

Paul Blundell

Head of Engineering at Novoda. Authored Learning Android Application Testing. Passionate for craftsmanship and clean code.

John Stevenson

Developer, author, conference organiser and speaker. Loves Clojure, Spacemacs, Cats, Cycling and Agile development.

Joe Schmetzer

Team leader and XP coach, and event wrangler for the Extreme Tuesday Club.

Be a part of Software Craftsmanship London!

Take advantage of the Early Bird Ticket Price.



Tickets

Schedule



8:30 AM
Registration and Breakfast
9:15 AM
Welcome
9:30 AM
Software Craftsmanship - 8 years

The software craftsmanship movement started 8 years ago. What happened since? Has anything changed? Where is this movement? What is Software Craftsmanship anyway? In this session Sandro will be talking about the past, present and future of the Software Craftsmanship movement and how it is changing the way developers and companies think about software.

Sandro Mancuso
10:15 AM
Short Break
10:20 AM
What we talk about when we talk about software (Software, metaphor and Conway's Law)

I will explore the use of metaphors in software development. We often use deliberate figurative metaphor to introduce novel designs. I will relate this creative aspect of metaphor to cognitive metaphors that have been investigated by George Lakoff et al. Lakoff's research posits that the only way we can think and communicate about abstract concepts is to relate them, by metaphor, to our physical environment. And you don't get much more abstract than software! We usually do not even notice the metaphors we are using when describing software. However, careless use of metaphor can hinder the process of designing software, communicating about software design and organising ourselves to collaborate on software development. If we cannot avoid metaphor we must use it to our advantage and avoid its pitfalls.

Nat Pryce
11:05 AM
Coffee Break
11:15 AM
The Novoda Craftsmanship University

The journey of a craftsperson is difficult and never-ending, full of hard work, sweat, and tears but it is also a journey of joy, discovery, knowledge acquisition, and professional growth. We’ve created Novoda Craftsmanship University (NCU) so that employee's can take this journey together. In this talk Paul Blundell will show how you can apply principles of craftsmanship to complex & iterative mobile Android & iOS products and how mobile craftspeople develop together and share knowledge at Novoda.

Paul Blundell
12:00 AM
Coffee Break
12:05 PM
TDD, as if you meant it

One of the difficulties of developers starting to apply Test Driven Development (TDD) is letting go of preconceived notions of design and allowing themselves to evolve it. I have successfully used TDD As If You Meant It as a way of showcasing how design grows when doing TDD. TDD As If You Meant It is a set of constraints created by Keith Braithwaite that forces developers to let go of their set blueprints and allow the design to evolve. I've noticed in code retreats and dojos that the technique is very difficult to get right. In this session, I will explain how to start correctly, how to apply all the rules and how it shows the evolution of software design.

Alex Bolboaca
12:50 PM
Lunch
13:30 PM
Get Kata

Coding katas are a way that programmers can kick the tires of their programming languages, paradigms and practices. Typically anchored in a TDD cycle, katas are typically simple problems that give programmers the opportunity to exercise deliberate practice and explore different approaches, whether programming style, pair programming or test-first programming. But the simplicity can be deceptive, with many programmers tiring of these katas too soon, missing out on some of the more mind-bending and paradigm-expanding opportunities on offer. This session will pick on a couple of katas and dig deeper into TDD, lambdas, language(s), (dys)functional programming and Alcubierre drive.

Kevlin Henney
14:15 PM
Coffee Break
14:20 PM
Usable Software Design

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 like ergonomics, usability and in general design of objects, where the user has been in the center of the design process for decades? Well first of all it tells us what are the weaknesses of all designers, even the greatest and how to remedy that. Secondly you'll learn why "It's not the users fault, it's the designs fault" and how to remove sources of bugs using BugsZero design. You'll get a fresh new perspective on Clean Code, difficulties in TDD and what's the power of DDD. Last but not the least, you'll discover how "Usable Software Design" naturally gets a lot of traction where TDD and Clean Code meet resistance.

Johan Martinsson
15:05 PM
Coffee Break
15:15 PM
WebOps for the Overloaded Developer

At lightning speed, this talk will cover the bits that aren’t code that make up a working web app. These include servers, monitoring, deployment mechanisms, logging, alerting, secret management, recovery mechanisms… you get the idea. Material will be provided afterwards so you can try everything out on your own and really cement the concepts for yourself. Topics include: How to set up a web server on Linux, deploying changes to a web server with minimum downtime, keeping an eye on your server to make sure things are working, tracking down production bugs, and secure communication over HTTPS.

Samir Talwar
16:00 PM
Coffee Break
16:05 PM
Confessions of a developer community builder

A community starts by finding another person who shares the same interest and when found this greatly increases your learning potential as a developer. Communities can be formed inside your company or across the wider developer community, in person or online.
But how do you do that and how do you encourage more people to get involved? And how do you maintain a welcoming community which people want to remain part of? Just how big is a community anyway, is it 3 people or 3 million?
I'll share my community building experiences from a diverse set of developer events; from brown bags, meetups, mentoring, dojo's, workshops, hackdays and conferences. These experiences range from the happy to sad, exhilarating to exhausting and many very nervous moments in between.
By the end you should have lots of ideas and more confidence in starting and growing your own communities, appreciating how you can build a community without a huge amount of effort.

John Stevenson
16:50 PM
Drinks Break
17:05 PM
Panel Discussion - State of the Industry

The panel will discuss the state of software development in the industry.

Kevlin Henney, Nat Pryce, Sandro Mancuso, Alex Bolboaca
17:50 PM
Party
8:30 AM
Registration and Breakfast
9:15 AM
Welcome
9:30 AM
Understanding Understandability

Believe it or not there was a time when many people in the industry felt that OO was too hard for the average programmer. Yet here we are taking an industry plunge into functional programming and tooling that would’ve tested the limits of what people could tolerate just ten years ago. We underestimate ourselves and we do it over and over again because we conflate cultural understandability with cognitive understandability. In this talk, Michael Feathers will talk about what we know about computational understanding and where we might end up if we accept that it changes over time.

Michael Feathers
10:15 AM
Short Break
10:20 AM
Go-ing there and back again

This talk is another reminder that tests are code too and need care and feeding. It describes an experimental spike that we ran on a complex Go project to make the integration tests faster and more readable. We showed how not to rely too heavily on the testing framework and to refactor test code to represent the domain better. We also showed that teams have to move at their own pace, and that teams have to take into account the “House Style” of coding.

Co-authored with Winna Bridgewater, software engineer at Pivotal

Steve Freeman
11:05 AM
Coffee Break
11:15 AM
The day after tomorrow: Let the machine do the coding

Programming means suffering - today. The programmer needs to do the typing herself (except for the trivial code snippets that Eclipse can bang out), the machine's job is to nag and reject when there's an error. In particular, a modern type system can be very good at pointing out errors, but the human still needs to tinker with the program to make it shut up. This is in spite of the fact that most of the domain knowledge is already contained in the type definitions and method signatures: Program by Design shows how this can work. Now, if we specify a little bit more, shouldn't the computer be able to write the code? The future of programming or just pipe dream? A new generation of programming languages and IDEs gradually turns this dream into reality: These tools are slowly becoming partners in software development. They make programming more fun, and can cut down dramatically on the error count. In the process, they liberate developers from implementing recurring patterns over and over. Developers can focus on the individual aspects of the software, on properly modelling the domain and on the user experience.

Nicole Rauch and Michael Sperber
12:00 PM
Coffee Break
12:05 PM
Craft Thinking

We choose to think of Software Development as a Craft. Usually when we associate Software Craftsmanship with Code Quality and Agile (more specifically XP practices). That is a very narrow view. In fact Craftsmanship is about our innate desire to do a good job - there is a craftsman or craftswoman in all of us. This leads me to the question, what is the general philosophy behind craftsmanship and what does it mean specifically to software developers? In his book, The Craftsman, Richard Sennet takes a philosophical view of craftsmanship through the ages in order to understand what happens when people try to do a good job. I will attempt to relate this view to Software Craftsmanship in particular. There are many lessons to glean from studying the history and philosophy of craftsmanship to answer the many questions that are relevant to our craft. For example; the struggle between practical and perfect, how do we achieve the right balance, the concept of "fractured skill" where we become only specialised in only a subset of the skills necessary to create the whole, the role of failure in learning, choosing the right tools and skills to learn? I will try to wet you appetite for exploring craftsmanship from a different perspective so that we can better understand Software Craftsmanship.

Mashooq Badar
12:50 PM
Lunch
13:30 PM
Panel Discussion - Present and Future of Extreme Programming

The panel will discuss the current state of XP, modern XP practices, and the challenges of bringing XP to organisations.

Steve Freeman, Rachel Davies, Mashooq Badar, Michael Feathers
14:15 PM
Coffee Break
14:20 PM
The importance of syntax in clean code

We speak about clean code so often, focusing on things such as Single Responsibility Principle, Separation of Concerns, and all the other TLA's we can think of. We talk about clean code in both Object Orientation and Functional paradigms. We show examples of clean code in a variety of programming languages, and we say it doesn't matter what language you use, clean code is essential. But the truth of the matter is, language plays a bigger role in clean code than we might think, if by clean we understand code that is concise, comprehensible, readable and does not have a lot in the ways of redundancy and noise. In this talk, we're going to look at the case for Kotlin, a language that in appearance is very similar to Java and C#, and only adds what some consider a few dashes of "syntactic sugar" here and there. We'll see whether combining these small nuggets, it adds value to what we could consider more concise, readable, and consequently maintainable code.

Hadi Hariri
15:05 PM
Coffee Break
15:15 PM
Learning, Communication, Quality, and Craftsmanship

Culture is difficult to describe, but it has a huge impact on the successful adoption of new techniques. What cultural factors allow successful change? This talk explores growth mindset, mutual learning, communication patterns, and quality focus as enablers to the adoption of craftsmanship.

Joe Schmetzer
16:00 PM
Coffee Break
16:05 PM
Closing Keynote

An ending is an opportunity for a new beginning. As we bring SC2017 to a close, you’ll have picked up new tools and techniques that you’re keen to try out and connections you want to explore. How will you get value from our time together and share that value with others? In her closing keynote, Rachel will inspire you to pause, evaluate, and begin afresh

Rachel Davies
16:50 PM
Closing

Tickets

Get yours whilst they are still available



Super Early Bird
£250
  • SOLD OUT!
Early Bird
£325
  • June 1st to August 31st
Hot!
Full Price
£400
  • September 1st to October 5th

Prices do not include VAT and Booking Fees


Buy now

Sponsorship Opportunities

Sponsors If you are interested in sponsoring Software Craftsmanship London, take a look at our Sponsorship Brochure. Software Craftsmanship London aims to bring together 150 attendees from the London Software Craftsmanship Community and wider European Craftsmanship communities.



Find out more ...


Our sponsors


Supporting Communities


Location

  • CodeNode, 10 South Pl, London EC2M 7EB
  • info@skillsmatter.com
  • +44 (0)207 183 9040