7&8 dec Bordeaux

nCrafts Bdx

Created by developers for developers, NewCrafts is an ephemeral learning ground for professional developers who care for quality code and bettering their practices

« I’m not a great programmer; I’m just a good programmer with great habits. »



Programming as a Way of Thinking

A conference that doesn’t affect the way you think about programming, is not worth attending!

Created by developers for developers, NewCrafts is an independent and international event on software development held annually in Paris since 2014.
Because we believe it is not enough for code to work, we wan't to challenge not only the way you develop but also how you perceive the profession and your craft.

For the first time, Bordeaux welcome a two days local edition with both english & french sessions.
First day will be a single track conference, while second day will be run as an open space unconference.

We provide place, coffee and speakers, so that you can take care of the rest.

Speakers

Meet our hosts



Nicole Rauch

NICOLE RAUCH

Software Developer and Development Coach

Nicole Rauch is an independent software developer and development coach with a solid background in compiler construction and formal methods. Her focus is on Specification by Example and Domain-Driven Design as well as the restructuring of large Java legacy code applications. Nonetheless, her secret love is for functional programming. Also, she took part in conducting a number of self-organized conferences related to software craftsmanship and agile coaching, e.g. SoCraTes conference. She is one of the initiators of Softwerkskammer, the german-speaking Software Craftsmanship community.

Arnaud Bailly

ARNAUD BAILLY

Helping teams code and deliver FP software at http://symbiont.io

Arnaud Bailly has been a researcher, consultant, agile and XP coach, architect, developer, trainer and teacher, CTO for startups... He regularly codes in Java, Haskell, Clojure, Javascript and has interest in nearly everything that touches software. He is presently Senior Software Engineer at http://symbiont.io

Christophe Demarey

CHRISTOPHE DEMAREY

R&D engineer at Inria

Christophe Demarey is software engineer at Inria, the French National Institute for computer science and applied mathematics. He works with scientists on various topics like Adaptive distributed applications and middleware, Model-Driven Engineering, reengineering of large systems, dynamic reflective programming languages. Since 2012, he is a core developper of Pharo, a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback. He has interest in software craftsmanship and devops. He set up a continuous integration service (SaaS model) for all Inria developers in 2012.

Clément Delafargue

Clément Delafargue

CTO at Clever Cloud

Clément is a functional programmer, serving as CTO at Clever Cloud, where he works on IT automation and continuous delivery. He loves discussing about FP, distributed systems and cloud architecture.

Romeu Moura

ROMEU MOURA

Reasoned Schemer

Endless conversation — with friends & compilers — on art, crafts, dialectic, paradigm jump, serendipity.

Marine Campedel

MARINE CAMPEDEL

Donner du sens

Initialement ingénieur et docteur en traitement du signal et des images, enseignant-chercheur à Télécom ParisTech pendant 12 ans, Marine Campedel s'intéresse actuellement aux neurosciences éducatives. Elle participe au laboratoire GRENE (Groupe de Recherche en Neuroscience et Education) de l'Université Catholique de l'Ouest depuis 2012 et est diplômée du Diplôme Universitaire "Neurosciences et apprentissage tout au long de la vie". Formatrice indépendante, elle accompagne des établissements scolaires dans leur découverte des neurosciences éducatives et les invite à faire évoluer leurs pratiques à l'aide de la méthodologie de recherche-action.

Michael Sperber

Franziska Sauerwein

Software Crafter

Franzi is a developer, consultant and leader active in Germany, London and Zurich. Their passions include Test Driven Development, Refactoring, XP and high-quality software development. They are always trying to improve their skills and share knowledge. Franzi uses their skills and creativity to develop software that is reliable, easy to adapt and does what it is supposed to do. As an active member of the European Software Crafter community, they love to participate in unconferences. They co-founded Queer Code London, organise European Testing Conference and speak at conferences all over Europe. They love running code retreats, open spaces, and workshops.

Michael Sperber

Michael Sperber

C*O at Active Group

Michael Sperber is CEO of Active Group in Filderstadt, Germany. Mike specializes in functional programming, and has been an internationally recognized expert in the field: He has spoken at the top conferences in programming languages, authored many papers on the subject as well as several books.

Schedule



9:15 - 10:05 - fr
Educational neurosciences, what can they teach us ?
Educational neurosciences question our beliefs, and make us wonder what do we know about apprenticeship patterns, with a little help from scientific results.

They deliver 3 main messages : 

  • equipped with biological plasticity, our brain can reconfigured itself during our whole life
  • Knowledge about how our nervous system is actually working can enhance our personal and collective choices (for exemple, lifestyle, or our relation to all kind of screens)
  • Let us all be co-researchers, so we can help all mankind
This conference will explore all this 3 messages by studying common neuromyths.
MARINE CAMPEDEL
10:10 - 11:00 - fr
Pharo, a Live programming environment

In this session, you will discover why coding in Pharo, a language and IDE Smalltalk-inspired, is so fun! Let’s think of a language with a minimal syntax, where everything is an object you can interact with by sending it messages.

Pharo is a live programming environment: you can inspect any object with views dynamically adapted to the object kind, you can interact with the object and get an immediate feedback. Last but not least, you will get an amazing debugging experience: no more fear to debug an application.
Pharo debugger is your friend. You will see that Smalltalk, back to 80s, inspired a lot of languages like Java, Ruby, Objective-C but also encourages best coding practices like TDD.

After a brief introduction to the Pharo language, you will get immersed into a live Pharo coding session. To end the session, you will discover amazing projects that are coming to Pharo in a next future.

Christophe DEMAREY
11:25 - 12:15 - fr
The systemic of the Liskov substitution principle

The Liskov Substitution Principle: the least known and most frequently violated of all S.O.L.I.D.!

Let’s explore together what it is, why you should care, how to detect violations, how to stop violating, what is co-variance and contra-variance (What is the In/Out of C#, the Super/Extends of Java, the +/- of Scala).

But above all: Let’s see that the essence of Liskov is the essence of Object Orientation itself: Systemics.

Let’s learn to see our codebase as a System.

Romeu MOURA
13:30 - 14:20 - en
From Front to Back: Homomorphic Event Sourcing

Event Sourcing is a way to structure a business domain model, where influences from the outside world are regarded as Commands ( “Buy a ticket for a concert”) that internally trigger Events which are the system’s response to the corresponding Commands ( “Concert ticket was bought by ...”).

At each point in time, the state of the system can be fully reconstructed by looking just at the Events. This approach, coupled with CQRS and other Domain-Driven Design techniques, has a number of advantages: It yields a clean separation of state, interactions and storage; it establishes a direct way to express business domain concepts in terms of interactions; it is composable...

On the other hand, events have always been at the core of User Interfaces, which typically consist of an event loop that pumps events from the underlying system and injects back requests to redraw parts of the GUI. Modern UI frameworks like React/Redux or Elm are actually built on this abstraction: In Elm, Commands trigger an effect on the system, and the resulting Events update the state.

This session proposes to fully embrace Event Sourcing in both front-end and back-end. It shows how to bridge the gap between both worlds by applying morphisms between the language of the front-end and the language of the back-end. We will demonstrate this integration on a small game built with a React UI and a Haskell backend, and in the process show how this approach fits nicely with Functional Programming languages.

Nicole Rauch & Arnaud Bailly
14:25 - 15:15 - fr
All my team is using rust. HALP!

Something strange happened at Clever Cloud: everybody has started using rust, little by little. Many greenfield projects are using rust. That's not to say we've stopped using scala, java, or ruby (and even a bit of go and haskell). As a CTO, how do I keep complexity and language diversity in check? How do I choose which language to use for projects? Do I let others choose?

Clément Delafargue
15:40 - 16:30 - en
Refactoring mount doom, tackling legacy code

We’ve all had that nightmare where you are try to get to your destination, and keeping moving, trying different things, but for various reasons, you never arrive. Some refactorings are like that - you extract methods, name constants, increase readability… In short, you spend a lot of time cleaning up - but you never get to a good place with the code. In this talk, I will show you how to refactor for the right reasons and the right methods to use your time efficiently. Let’s make working with that code easier in the future.

Franziska Sauerwein
16:35 - 17:25 - en
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 & Michael Sperber
9:15 - 9:45
Market place

During the marketplace, all ideas are gathered, exposed and scheduled in the available slots.

Arnaud Lemaire
10:00 - 12:20
Open space sessions

Each session is 40mn long.

  • Whoever comes is the right people
  • Whenever it starts is the right time
  • Wherever it is, is the right place
  • Whatever happens is the only thing that could have, be prepared to be surprised!
  • When it's over, it's over
13:40 - 14:10
Market place

During the marketplace, all ideas are gathered, exposed and scheduled in the available slots.

Arnaud Lemaire
14:20 - 17:30
Open space sessions

Each session is 40mn long.

  • Whoever comes is the right people
  • Whenever it starts is the right time
  • Wherever it is, is the right place
  • Whatever happens is the only thing that could have, be prepared to be surprised!
  • When it's over, it's over
9:15 - 12:20
Discovering event storming

Let's explore a fictious business domain using the event storming approach, made famous by Alberto Brondolini.

Maxime SANGLAN-CHARLIER
13:40 - 17:30
Kebab kata: Fight the system making your code sad!

Try to create a code you will not consider "legacy". I'll play the role of your client and use around 20 techniques to make you fail. You will fail. We'll then discuss what techniques I have used, how they happen in real life, how to fight them in your project. All languages welcome. Bring your own laptop with your environment. We'll split into small teams.

Romeu MOURA

Register to nCrafts Bordeaux now!



GET YOUR TICKET

Sponsors

companies that makes this event possible



More to be announced...

Location

The event will take place at Cap Sciences — Hangar 20, Quai de Bacalan, 33300 Bordeaux



Cap Sciences

  • Hangar 20, Quai de Bacalan — Bordeaux
  • info@ncrafts.io
  • 9:00 - 18:00

How to get to the venue?

Direct Shuttle from the airport to the train station

Tram from the train station to Cap Sciences

  1. Tram C from Train station (Gare St Jean) to Quinconces (direction> Gare de Blanquefort) (15 minutes)
  2. Change tram lines
  3. Tram B from Quinconces to Cité du vin (10 minutes)


You can get more info and prepare your itinerary with public transports at the TBM website.
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.