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

Programming Workout

Programming Workout

Times are changing... Technology is moving forward... Command line tools are becoming obsolete... Programmers today don't need to touch type... Using mouse to copy and paste is perfectly fine... You can always look up those design patterns on the web... Your IDE can do a lot of things for you so you don't need to think... Can you feel that? Can you feel that this is TRUE? Then stop being UNPROFESSIONAL and think again!

In this talk I'm gonna convince you that learning seemingly obsolete skills can have huge impact on your productivity. I'll show you how those skills and other seemingly unimportant factors can impact your career. I will help you to find a way to improve them in order to become a better programmer. I'll also show you tools that can facilitate this process. You will either leave this talk with strong resolution to level up, or curl up in your comfort zone with your lovely mouse and IDE. I will show you how PROGRAMMERS WORK OUT.

Michał Taszycki

March 12, 2012

More Decks by Michał Taszycki

Other Decks in Programming


  1. Programming Workout

  2. Bear with me ... for a moment.

  3. Who am I Michał Taszycki @mehowte

  4. My journey

  5. My journey

  6. My journey

  7. My journey

  8. My journey

  9. My journey

  10. My journey

  11. My journey

  12. Programmers... ... perfectly normal people.

  13. Good programmers

  14. Bad programmers

  15. Exceptional programmers

  16. Exceptional programmers

  17. When you see one...

  18. They are talented

  19. Exceptional qualities •Clear vision •Smart goals •Know how •Work hard

  20. Hard work underrated *obligatory cat picture

  21. Exceptional athletes ?

  22. Exceptional athlete

  23. Exceptional athlete

  24. Exceptional athlete

  25. Exceptional athlete

  26. Exceptional athletes What can we learn from them?

  27. How to work out? Pick exercises Group them Do them

  28. When to work out? Whenever you are comfortable.

  29. How often? Couple of times a week.

  30. How long? 0.5 - 1.5 hour *1-3 pomodoros

  31. How? Now this is interesting...

  32. Primary skills? Debugging TDD Paradigms Refactoring Dealing with legacy code

    Language mastery Proficiency with framework
  33. Secondary skills? IDE mastery Touch typing shell commands source control

    mouse-less navigation tool proficiency quick reading/skimming
  34. Sample workout Monday Wednesday Friday touch typing - 15 minute

    accuracy touch typing - 15 minute speed touch typing - 15 minute {}()[]<> Refactoring - 5x3 extract method Legacy code - 5x3 sprout class OOD - Tell don’t ask 3x3 refactoring Vim - 5x3 latest vimgolf challenge Roman Numbers Kata - 3 times Language mastery - 5x3 latest rubygame
  35. Measure • Time • Reps • Time & Reps •

    Record yourself
  36. Scale to your needs • find your level • make

    small progresses • stick to it until it gives you results
  37. Find inspiration rubykoans.com rubyquiz.com katacasts peepcode.com (play by play especially)

  38. One more thing... ... to model after gym community.

  39. The community! Support Competition Gym buddies Knowledge sharing Let’s build

    The Community!
  40. Want to know more? visit programmingworkout.com

  41. None