Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Plonger pour devenir un meilleur développeur ? - Brown Bag Lunch @ Deezer HQ

Plonger pour devenir un meilleur développeur ? - Brown Bag Lunch @ Deezer HQ

L'électronique et les ordinateurs n'aiment pas l'eau. Pourtant, il y a bien des points où la plongée sous-marine et le développement se rejoignent. Nous en verrons quelques extraits pendant cette présentation (je vous ai dit qu'en plongée aussi, il y avait des sujets de troll ?).
Session ouverte à tous, y compris si vous n'êtes ni développeur ni plongeur.

Christopher MANEU

April 01, 2015
Tweet

More Decks by Christopher MANEU

Other Decks in Technology

Transcript

  1. Plonger pour
    devenir un meilleur
    développeur ?
    Brown Bag Lunch @Deezer.com – 01/04/2015
    Christopher Maneu

    View Slide

  2. WTF ?
    Plongeur depuis 18 ans
    Moniteur de plongée
    depuis 9 ans

    View Slide

  3. Plongée depuis 18 ans
    Moniteur depuis 9 ans

    View Slide

  4. #1 LES TROLLS
    Microsoft
    vs.
    Apple
    Google
    vs.
    Apple
    x
    vs.
    OpenSource

    View Slide

  5. #2 LE CONTRÔLE
    Code reviews Contrôle réciproque:
    Chaque plongeur vérifie son
    matériel, ainsi que le matériel
    d’au moins un membre de la
    palanquée

    View Slide

  6. #2 LE CONTRÔLE

    View Slide

  7. #3 LA PLANIFICATION JIT
    SCRUM, Kanban,
    CMMI, LaRache, …
    Manomètre
    Tables de décompression
    Plongée au Runtime

    View Slide

  8. #4 TOUT TESTER
    Tests unitaires
    Tests d’acceptance
    Tout doubler, tout tripler

    View Slide

  9. #4 TOUT TESTER

    View Slide

  10. #4 TOUT TESTER
    maneu.net/ppcloudpatterns
    Circuit breaker pattern
    Retry pattern
    Alternate path

    View Slide

  11. #5 L’IMPREVU
    maneu.net/ppcloudpatterns
    Vous avez bien
    un exemple ? 

    View Slide

  12. View Slide

  13. #5 L’IMPREVU
    What-IF Analysis

    View Slide

  14. #5 L’IMPREVU
    What-IF Analysis

    View Slide

  15. #5 L’IMPREVU
    pluralsight.com/courses/defensive-coding-csharp
    Defensive coding
    public int Greet(string[] args)
    {
    if (args == null)
    throw new ArgumentNullException();
    if (args.Length < 1 || args[0] == null)
    throw new ArgumentException();
    Console.WriteLine("Hello, {0}!", args[0]);
    return args.Length;
    }

    View Slide

  16. #5 L’IMPREVU
    pluralsight.com/courses/defensive-coding-csharp
    Defensive coding
    public int Greet(string[] args)
    {
    Contract.Requires(args != null);
    Contract.Requires(args.Length > 0);
    Contract.Requires(args[0] != null);
    Console.WriteLine("Hello, {0}!", args[0]);
    return args.Length;
    }

    View Slide

  17. #5 L’IMPREVU
    pluralsight.com/courses/defensive-coding-csharp
    Defensive coding

    View Slide

  18. #6 DE NOMBREUX DOMAINES :)
    Mobile,
    Data Science,
    Front,
    Backend,
    … Plongée loisirs
    Plongée bio
    Plongée souterraine
    Plongée sportive

    View Slide

  19. A vous 

    View Slide