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

Professional Practices | Craftsmanship Training | Part 1

Professional Practices | Craftsmanship Training | Part 1

First part on iHub craftsmanship series on how to become a professional in the software industry.

This section is concerned with learning to learn and growing as a professional

Jacob Chencha

October 29, 2015
Tweet

More Decks by Jacob Chencha

Other Decks in Programming

Transcript

  1. A different mindset Craftsmanship mindset Your focus is in what

    value you are offering to the world Passion mindset What value the world is offering to you
  2. Whoops! You just shipped a module in your SAAS package

    that broke the product costing your company Ksh 100,000 what do you do?
  3. Taking Responsibility - Your career is your responsibility - You

    must continually practise - Never learn on your client's time
  4. Why you should care? - Wasting time is an insidious

    form of suicide - How do we waste time? - Software product that’s never used - Redoing work - Unneeded features
  5. The 10,000-Hour Rule The idea that excellence at performing a

    complex task requires a critical minimum level of practice surfaces again and again in studies of expertise. Infact, researchers have settled on what they believe is the magic number for true expertise: ten thousand hours. - Malcolm Gladwell, Outliers
  6. Deliberate Practice Deliberate practice is an activity designed, typically by

    a teacher, for the sole purpose of effectively improving specific aspects of an individual’s performance - Anders Ericsson, The Role of Deliberate Practice in the Acquisition of Expert Performance
  7. Experience is the only teacher Code Katas A kata is

    an exercise in karate where you repeat a form many, many times, making little improvements in each http://codekata.com/
  8. Chess master 1. Look into requirements specification, an implemented RFC

    or popular algorithm. Check this book by Dr. Sedgewick Algorithms for inspiration 2. Write out your own implementation of the algorithm 3. Look for an implementation of the algorithm, if you are using Sedgewick’s book, you will find code samples. 4. Evaluate the proposed solution against your own 5. Note the differences between what you did and what the authors did 6. Rinse and repeat
  9. Fire up the hose - Get a blog aggregator -

    Start following luminaries on twitter, github, medium - Subscribe to mailing list, stackexchange or even code triage - Join user groups - Attend a technical conference - Subscribe to podcasts
  10. Where to find me - Follow me on twitter @jchex

    - Subscribe to my blog blog.chenchatech.com