Pro Yearly is on sale from $80 to $50! »

Pairing is caring – How to become a better software engineer by doing nothing

Pairing is caring – How to become a better software engineer by doing nothing

2013 haben wir durch Zufall "Mob programming" erfunden. Natürlich sind schon andere schlaue Menschen vor uns auf die Idee gekommen nicht mehr allein vor dem Rechner zu sitzen. Das wussten wir damals aber noch nicht. Seitdem arbeiten wir fast alle "im Pair" oder "im Mob". Das funktioniert für uns so gut, dass wir Bücher darüber schreiben und 2018 über 12.000 Menschen zu Besuch hatten, die sich das agile Arbeiten bei sipgate mal genauer anschauen wollten. Dieser Talk zeigt dir an konkreten Beispielen aus unserem Entwickler-Alltag in einem crossfunktionalen Team, warum allein programmieren out ist und warum man gemeinsam einfach mehr erreichen kann.

3a15b4f5e737fed2ecab7b16c84aff1b?s=128

Benjamin Kluck

February 07, 2019
Tweet

Transcript

  1. How to become a better software engineer by doing nothing

    Benjamin Kluck Peter Mösenthin
  2. Wer mobbt, Wer pairt?

  3. Ben Peter

  4. 150 Mitarbeiter 583 kg Kaffee 2018 Deployments pro Tag Ø

    40 534 Server 2016 Düsseldorf Heimat »hubot party bis 02:00« Chatbot Befehl #1 95% Open Source Software 1300 Post-Its pro Tag
  5. None
  6. None
  7. Welche Methoden nutzen wir? Wie kam es dazu? Wie nutzen

    wir sie heute? Agenda
  8. 2004

  9. Headphone Programming … is the art of doing everything your

    way and only your way. You build it, you run it, you get called in the middle of the night.
  10. Tristan schubst Pixel

  11. ➔ Sei dein eigener Boss ➔ Get in the Zone

    ➔ Eichhörnchen Workflow ➔ Hör’ deine Musik Headphone Programming
  12. ➔ Stack Overflow ist dein Freund ➔ In die Hölle

    gefrickelt ➔ Bus Factor ➔ “Wer hat von meinem Tellerchen gegessen?” Headphone Programming
  13. 2010 Lean, Agile, Scrum und Kanban ziehen bei sipgate ein

  14. Wer macht Lean/Agile/Scrum?

  15. © agile42

  16. Zeiträume

  17. Priorisierung

  18. Feedback

  19. Zusammenarbeit 

  20. Pair Programming … is a technique in which two programmers

    work together at one workstation. One, the driver, writes code while the other, the navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently. (wikipedia)
  21. Zwei Pixel weiter links...

  22. UX UX

  23. OPS OPS

  24. HR HR

  25. DEV Marketing

  26. ➔ Schnelles Onboarding ➔ Knowledge Transfer ➔ Höhere Qualität ➔

    Instant Feedback Pair Programming
  27. »Du musst dringend mal deine IDE in den Griff bekommen.

    Komm wir machen das mal schnell zusammen.«
  28. »Das hab ich gestern auf der Couch gefunden. Wir sollten

    das definitiv mal ausprobieren.«
  29. ➔ Halb so viel Code ➔ Weniger Prokrastination ➔ Fehlende

    Skills werden sichtbar ➔ Menschen muss man mögen Pair Programming
  30. “When you don’t pair.”

  31. Mob Programming … is a software development approach where the

    whole team works on the same thing, at the same time, in the same space, and at the same computer. (wikipedia)
  32. 2013

  33. ratlos googelt hat eine Idee dabei hat es schon fertig

    dabei dabei
  34. ➔ Ganzes Wissen versammelt ➔ Alle sind d’accord ➔ Zusammen

    lernen ➔ Der Mob rollt immer weiter Mob Programming
  35. »Macht euch keinen Stress - ich kann das eben runter

    navigieren... «
  36. ➔ Chaos ➔ Menschen gehen unter ➔ Nur einer arbeitet

    ➔ Unangenehm für Newbies Mob Programming
  37. Fast forward 2019

  38. #10yearschallenge

  39. Wenn ihr morgen damit anfangt...

  40. Pairing station

  41. klein anfangen

  42. None
  43. Letzte Woche

  44. KB KB UX DEV DEV

  45. doing nothing doing nothing doing a little bit

  46. https://youtu.be/dVqUcNKVbYg Hunter Industries

  47. »Mein Kopf platzt gleich. Tipp du mal.«

  48. Pomodoro

  49. »Lass uns das später klären. Gerade gibt es wichtigeres...«

  50. Mathe AG Kunst AG

  51. function fetchData() { return async (dispatch) => { try {

    const data = await Api.fetchUser(); dispatch({ type: FETCH_SUCCEEDED, data }) } catch (e) { dispatch({ type: FETCH_FAILED }) } } export function* fetchData(action) { try { const data = yield call(Api.fetchUser) yield put({type: "FETCH_SUCCEEDED", data}) } catch (error) { yield put({type: "FETCH_FAILED", error}) } } Redux Saga Redux Thunk
  52. Aber mein Pairing-Buddy ist in einer anderen Zeitzone...

  53. ChatOps

  54. None
  55. Remote Pairing

  56. None
  57. Danke fürs Zuhören Quatscht uns am Stand an!