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

Reflect & Refactor

Reflect & Refactor

As developers, we’re constantly learning: whether it’s figuring out how to solve new problems and bugs, or focusing on new skills and knowledge to apply to our work. Often when we talk about reflecting and refactoring, it will be about the way we work in our teams or how we can make our code better – but why don’t we apply the same method to ourselves?

This talk looks at how to constantly reflect and refactor your own skills and values, creating your own idea of a “good” developer. It will examine the psychology of creating new habits, the different motivations of why we are developers, and how we can each define the type of developers we want to be.

A13eca524f245fc8a1c162aae23433f7?s=128

Melinda Seckington

May 03, 2017
Tweet

Transcript

  1. @mseckington Melinda Seckington reflect refactor &

  2. What do I want to be when I grow up?

    @mseckington
  3. @mseckington

  4. 10 years later: computer science @mseckington

  5. 15 years later: what do I do now? @mseckington

  6. Things are always changing @mseckington

  7. Learning to adapt @mseckington

  8. How do we figure out what’s next? @mseckington

  9. @mseckington FutureLearn

  10. Collaborative multidisciplinary agile teams @mseckington

  11. Reflect Refactor & @mseckington

  12. Reflect Refactor @mseckington &

  13. human equivalent of technical debt @mseckington

  14. How to create our own best practices @mseckington

  15. Reflect Refactor @mseckington

  16. Reflect @mseckington

  17. @mseckington

  18. Make time for reflection @mseckington

  19. Personal retrospectives @mseckington

  20. @mseckington Throw away your assumptions

  21. Take notes and revisit them @mseckington

  22. Find a time when you are in the right mindset

    @mseckington
  23. Don’t wallow in the world of what if @mseckington

  24. 5 retro formats @mseckington

  25. What motivates you? 1 @mseckington

  26. Focus on why @mseckington

  27. Drive Daniel H. Pink @mseckington

  28. Autonomy Mastery Purpose @mseckington

  29. Autonomy @mseckington

  30. Tasks Team Technique Time @mseckington

  31. Understand your autonomy needs: Tasks, Time, Team, Technique @mseckington

  32. Mastery @mseckington

  33. Why do you want to master writing code? @mseckington

  34. Understand what skills you want to master and why @mseckington

  35. Purpose @mseckington

  36. @mseckington

  37. Understand what impact you want to have on the world

    @mseckington
  38. What motivates you? @mseckington

  39. What are your six objects? 2 @mseckington

  40. six objects @mseckington

  41. Focus on what @mseckington

  42. Write down what you do @mseckington

  43. How would you represent that as an object? @mseckington

  44. Example: My objects @mseckington

  45. Example: My objects @mseckington

  46. Define your six objects @mseckington

  47. What are your personal values? 3

  48. What values matter to you? @mseckington

  49. Focus on how @mseckington

  50. Define your values @mseckington

  51. @mseckington Candidness Courage Efficiency Empathy Imagination Inspirational Playfulness Be candid

    Be courageous Be efficient Be empathetic Be imaginative Be inspiring Be playful
  52. @mseckington Candidness Courage Efficiency Empathy Imagination Inspirational Playful

  53. understand your strengths & weaknesses based on your values

  54. What would you tell your past and your future self?

    @mseckington 4
  55. How have you changed over time? @mseckington

  56. Write a letter to your past self @mseckington

  57. What would your past self write back to you? @mseckington

  58. Write a letter to your future self @mseckington

  59. Understand where you come from and where you’re going @mseckington

  60. What have you done recently? What do you celebrate? What

    do you change? @mseckington 5
  61. Examine recent events @mseckington

  62. Examine a shorter period (day, week, month) @mseckington

  63. Celebrate what you’ve achieved @mseckington

  64. Learn from what you have done @mseckington

  65. What went well? What didn’t go well? What do you

    have questions about? @mseckington
  66. What went well? What did you learn? What was unusual?

    Who helped you? What was your main strength? What inspired you? What went less well? What did you fail at? What would you change? Who did you help? What was your weakness? What still puzzles you? @mseckington
  67. @mseckington candid? courageous? efficient? empathetic? imaginative? inspiring? playful? What did

    I do that was:
  68. Follow up question: What action could you do next time?

    @mseckington
  69. Celebrate and learn from what you have done @mseckington

  70. 3 2 1 @mseckington 4 5

  71. Define tangible goals @mseckington

  72. Do your research @mseckington

  73. Approach your goals like a new city @mseckington

  74. Reflect @mseckington

  75. Reflect Refactor @mseckington

  76. Refactor @mseckington

  77. Why do we refactor code? @mseckington

  78. To avoid technical debt @mseckington

  79. • Maintainability • Extensibility Improving the design of the existing

    codebase: make it easier to add new features and capabilities make it easier to fix and change things @mseckington
  80. Code smell Refactor Tests pass Refactoring @mseckington

  81. Code smell Refactor Tests pass Refactoring @mseckington

  82. Code smell Refactor Tests pass Refactoring @mseckington

  83. Code smell Refactor Tests pass Refactoring @mseckington

  84. Code smell Refactor Tests pass Refactoring @mseckington

  85. Why should we refactor ourselves? @mseckington

  86. Improving the design of ourselves: make it easier to add

    new behaviours or skills make it easier to change existing behaviours or skills • Maintainability • Extensibility @mseckington
  87. How do we make it easier to change or add

    new behaviours or skills? @mseckington
  88. Code smell Refactor Tests pass Refactoring @mseckington

  89. Sign we need to do something Do the thing Celebrate

    Refactoring @mseckington
  90. The Habit Loop @mseckington

  91. The Power of Habit Charles Duhigg @mseckington

  92. Cue Routine Reward 1 2 3 The Habit Loop @mseckington

  93. every goal can be broken down into HABITS @mseckington

  94. Adapt existing loops Create a new loop with an existing

    cue Find new cues and new rewards @mseckington
  95. Adapt existing loops @mseckington

  96. Example: Flossing more regularly @mseckington

  97. Cue Routine Reward 1 2 3 The Habit Loop My

    teeth feel icky My teeth are clean! Brush my teeth @mseckington
  98. Cue Routine Reward 1 2 3 The Habit Loop My

    teeth feel icky & floss! My teeth are clean! Brush my teeth @mseckington
  99. Example: Finding time for learning @mseckington

  100. Cue Routine Reward 1 2 3 The Habit Loop Calendar

    reminder to read Learnt something new! Read book @mseckington
  101. Cue Routine Reward 1 2 3 The Habit Loop Time

    to pick up a new feature to work on Shipped a feature! Implement the feature Reading time? @mseckington
  102. Cue Routine Reward 1 2 3 The Habit Loop Time

    to pick up a new feature to work on Implement the feature @mseckington Shipped a feature! Read for 30 minutes!
  103. What are your existing habit loops? @mseckington

  104. Which one of them could you adapt? @mseckington

  105. Create a new loop with an existing cue @mseckington

  106. Example: Disconnect before sleeping @mseckington

  107. Cue Routine Reward 1 2 3 The Habit Loop Going

    to bed Read a book for 30 min Go to sleep more relaxed and disconnected @mseckington
  108. Example: Overcoming my fears @mseckington

  109. Cue Routine Reward 1 2 3 The Habit Loop Getting

    asked to do something I am scared of Say “Yes” Feeling proud for doing something you were scared of! @mseckington
  110. What are the things that you do regularly? @mseckington

  111. Find new cues and new rewards @mseckington

  112. Example: Exercising more @mseckington

  113. Cue Routine Reward 1 2 3 The Habit Loop Wake

    up early and see my running gear Go running Feel more energetic @mseckington
  114. Cue Routine Reward 1 2 3 The Habit Loop Excitement

    and curiosity about next episode Go running and listen to ZombiesRun Experience the story @mseckington
  115. Example: Keeping track of my goals @mseckington

  116. Cue Routine Reward 1 2 3 The Habit Loop Wanting

    to level my character Complete one of my goals Level up! @mseckington
  117. Warrior: +5 for every 5k run +10 for every 10k

    run +10 for every spin class +10 for walking 10k steps Bard: +3 for attending a meetup +6 for attending a conference +10 for speaking at a meetup +20 for speaking at a conference Next level: 45 XP Next level: 20 XP Level 4 Level 5 @mseckington
  118. When creating new habit loops, think about all 3 aspects

    @mseckington
  119. Adapt existing loops Create a new loop with an existing

    cue Find new cues and new rewards @mseckington
  120. Refactor @mseckington

  121. Reflect Refactor @mseckington

  122. What do you want to be when you grow up?

    @mseckington
  123. What next? @mseckington

  124. @mseckington You have brains in your head. You have feet

    in your shoes. You can steer yourself Any direction you choose. You’re on your own. And you know what you know. And YOU are the one who’ll decide where to go. “ ” ~ Dr Seuss
  125. Thanks for listening… Melinda Seckington FutureLearn @mseckington @mseckington