Mix-IT 2016, the debrief of our devs

This year's Mix-IT was a mixed bag.

The usual division between methodology, front-end technology, back-end technology and tools seemed less obvious to me this year. So when I saw the schedule a few days before, I couldn't help but be a little disappointed. It even happened that I chose a conference more by elimination than by desire.

Fortunately this feeling did not last long, erased by conferences and workshops that make you forget your daily worries and make you smile.

Mix-IT, the must-attend Tech event in Lyon

Mix-IT has this power: To propose conferences that touch you and that animate you, even if you don't know it when you make your choice. That's maybe why this year the organisers proposed a "random" conference. Well, it was a good idea!

The principle is to have the name of a room written on your ticket, and to go to that room during the "random" slot. Not everyone had the same room of course. So you are assigned to a room to attend a conference you didn't even choose. But why be so mean? 🙂 Well, that's how you end up listening to a subject you're already passionate about, or on the contrary, and that's rather the point, discovering a method, a tool, or a feedback that you wouldn't have chosen from the start, but which doesn't leave you indifferent, or even makes you want to do the same.

Who hasn't been fooled into thinking that a conference is going to be great based on its description? And who hasn't come across an excellent conference when the description didn't excite anyone? Not me anyway! Every year I have my "loose" conference and my "success" conference waiting for me 🙂 That's the game... And that's why the "random" slot is useful.

Some nice sessions!

A quick tour of the best conferences ContentSide has attended...

The team at the heart of recruitment

As recruiting is not an easy task (for the recruiter and the recruited), let's not do it alone! Starting from this principle and with the help of a self-organised team that this speacker, Manuel VACELETuses a rather original technique.

Cultural maintenance

Interview where the candidate assesses himself in front of a team and on a scale with 2 axes: "I want to" and "I am competent". To do this, he/she has to give himself/herself a score on each of the aspects that the team will have retained before the interview (JS, Java, Docker, Agile, XP, Discipline, ...).

This is followed by exchanges between all to confirm / modify the assessment.

Thumbs up vote

Allows you to open the discussion or to cut short the debate.

Technical maintenance

If the candidate passes the previous stage, he/she is given a technical exercise to do at home: optimal conditions for a context as close as possible to the reality of the work (Internet access, less pressure than in an unknown place, a reasonable deadline to hand in the work).

It ends with a live code review to explain his work.

Session full of good ideas. The only notable problem with this recruitment technique is the time spent (a team instead of one person). But, apparently, you can't go wrong with the candidate, as he can't go wrong 🙂

The slides

The delicate agility of the mammoth

Good time with Gregory ESTRADE who talks about agility and ... animals. Not really an "idea for now", but sentences full of meaning:

  • Developers need to see the end users,
  • They should listen to their problems and not (only) their demands,
  • Prefer to propose better solutions, rather than improvements to solutions.

The slides 

Non-Violent Communication

Nonviolent Communication is a well-known communication practice, but it is always worth remembering.

In short, it consists of proposing a method for conveying messages without judgement, without sentiment and in a factual and diplomatic manner.

To do this, your message must go through these 4 steps (source Wikipedia) :

  1. Observation (O): describe the situation in terms of a shareable observation;
  2. Feelings and attitudes (S): express the feelings and attitudes generated in this situation
  3. Need (B): Clarify the need(s) ,
  4. Request (D): Make a request that meets the following criteria: feasible, concrete, precise and positively formulated. If possible, the action should be feasible in the present moment. The fact that the request is accompanied by a formulation of needs makes it negotiable.

Try to apply it, you will see that you will be proud of your message, and surprised by its effectiveness.

Conducting a productive retrospective

Moderated by Maxime BONNET, the conference was about the development of a SCRUM retrospective and the implementation of good practices in order to make it interesting, fun and above all efficient in a concern of continuous improvement of the project.

This requires attention to :

- Let each participant feel free to speak,

- Using an icebreaker at the beginning of the meeting to lighten the mood,

- Find a game that is fun and meaningful for everyone in order to collect as many relevant ideas as possible,

- Vary the games to increase the benefits of the meeting,

- Find appropriate actions to respond to the ideas listed,

- Conclude on a ROTI in order to improve future retrospectives.

Very good conference which allowed us to learn about new games that will be tested as soon as possible 🙂

If you want to know more about it, read the article on good practices for a retrospective by Alexandre Goislard.

Kotlin

Hadi HARIRIHadi HARIRI, developer at JetBrains, introduced us to Kotlin through a short presentation and a live-coding session. The presentation was interesting but some key features were not developed (in particular the cohabitation of Java + Kotlin), and the Java VS Kotlin comparisons were not necessarily convincing.

If you want to know more, I invite you to read the article dedicated to Kotlin written by Jonathan Lermitage.

Reactive programming: RxJava, Spring

A first session dealing with reactive programming gave us the keys to understand what are the motivations to migrate to a reactive platform, and in which cases one should not jump the gun. This presentation was given by Tomasz NURKIEWICZa developer heavily involved in the integration of Rx in the Spring Framework.

A second session, live-coding this time, introduced us to reactive programming. The examples were very close to what you learn when you start with Scala and Akka.

Crash Fast & Furious

The presentation was about monitoring, analysis and bug fixing in Android applications, led by Pierre-yves RICAUdeveloper at Square (San Francisco, United States).More than 50% of users delete the application if it is not stable.Good practices for efficient debugging:

- Provide crash logs and debugging with tools like bugsnag and leakcanary,

- Fix bugs as soon as possible,

- Try to store the UI state of the application in the logs,

- Try to reproduce bugs with available logs, otherwise ask users for more details (application status, actions - user case/story, device type and OS version)

Code examples and techniques :

- How to inject debugging functions,

- Replace the "crash" window with a custom popup,

- Use defensive and offensive programming.

The presentation was very interesting 🙂

The slides : https://www.slideshare.net/pyricau/crash-fast-furious-61290968

Go, from Zero to Hero

The quick introduction to the Go language and its history, led by Peter BOURGONdeveloper at Weaveworks. A backend language, Go has a strong team of engineers and members who contribute in open source.

It is easy to maintain, the presenter showed examples of production ready code containing only a few lines. Live coding of microservices!

Some organisations using Go: Docker, Dropbox, BBC, CoreOS, CloudFlare, ...

Angular 2: a framework to govern them all

Olivier COMBEdeveloper at Holimetrix, presented the new features and benefits that come with Angular 2. In general, the framework is much more efficient than its first version, less complicated and very well integrated with modern technologies like JavaScript ES6, Web Components and Multi-platform.

There is a possibility to migrate code from Angular 1 to Angular 2 more or less automatically, with the help of tools such as ngForward and ngUpgrade.

The session was well prepared with a good level of knowledge of the subject. It was interesting to see the new code structure with examples.

The slides : https://slides.com/ocombe/mixit2016#/

Xanpan

Xanpan is a mix between XP and Kanban methodology, created by Allan KELLY. The aim of the presentation was to present this methodology and above all not to hesitate to create your own method. Generally speaking, there is not only one way of conceiving agility and this one depends especially on the team. The team is the central point of the Xanpan method. The more stable and homogeneous it remains, the easier it is to use the liabilities to estimate the tasks to come. The more the team works and progresses together, the more accurate the estimates are and the better the team performs. On the other hand, try to maintain a constant flow of work for the team with short and very routine iterations. Of course, one should not forget quality, which is also one of the fundamental axes of the method. Interesting presentation and presenter.
The slides
Author's article on the subject: https://dzone.com/articles/xanpan

Thanks to the organisers

Here is our feedback on this annual event. We leave satisfied. Make way for the ROTI internal ... 5/5! 🙂

Are you interested in this topic?

CONTACT US