{"id":1676,"date":"2017-04-29T17:05:55","date_gmt":"2017-04-29T17:05:55","guid":{"rendered":"http:\/\/2015.itakeunconf.com\/?p=1676"},"modified":"2020-05-04T13:03:14","modified_gmt":"2020-05-04T13:03:14","slug":"hack-your-journey-to-software-craftsmanship-with-martial-arts-practices","status":"publish","type":"post","link":"https:\/\/itakeunconf.com\/software-craft\/hack-your-journey-to-software-craftsmanship-with-martial-arts-practices\/","title":{"rendered":"Hack your journey to software craftsmanship with martial arts practices"},"content":{"rendered":"

\"code-kata\"<\/a><\/p>\n

\u201cWhatever luck I had, I made. I was never a natural athlete, but I paid my dues in sweat and concentration and took the time necessary to learn Karate and become World Champion.\u201d<\/em>\u00a0\u2013\u00a0Chuck Norris<\/strong><\/strong>\u00a0(American martial artist and actor. Also, the only man who has counted to infinity.\u00a0Twice.<\/em>)<\/p>\n

 <\/p>\n

 <\/p><\/blockquote>\n

Japanese concepts from martial arts become common practices in software craftsmanship. It is known that thousands of software developers aiming to become craftsmen are mastering their skills using them.<\/p>\n

In fact, in the software industry developers are taught the theory and thrown straight into working on a project. The practice is done on the job, and mistakes occur.\u00a0Applying\u00a0the theory is not enough, greatness comes from practising. What makes a programmer to be great is the\u00a0practice done beyond the software development current job. That’s why so many developers nowadays practice Code Kata<\/em>.<\/p>\n

Why would you do Code Kata?<\/h3>\n

In karate a kata is an exercise where you repeat a form many times, making small improvements each time. The intent behind code kata is similar. Each iteration is a short exercise (about 30′ to 1-hour duration). The point of the kata is not arriving at the right solution, but to learn some stuff along the way. The only goal is to practice.<\/p>\n

Exercise your programming muscles in a way you enjoy and see the progress you make.<\/p>\n

According to Code Kata, you need a\u00a0good practice session\u00a0and you have to make it fun: you need a bit of time without interruptions, and a single problem to solve in iterations; do as many iterations as it takes for you to improve, and be comfortable making mistakes.<\/div>\n

What is Code Kata?<\/h3>\n

A\u00a0<\/i>code kata<\/i><\/b>\u00a0is an exercise in programming which helps a programmer improve their skills through practice and repetition<\/i>. The term is considered to be\u00a0coined by Dave Thomas, co-author of the book The Pragmatic Programmer:\u00a0From Journeyman to Master,<\/i>\u00a0in a bow to the Japanese concept of kata\u00a0in the martial arts.<\/p>\n

An example of Kata<\/h3>\n

Repeat solving the same problem (as the one below), until\u00a0you know it by heart. You can be sure the next time it pops-up in production it will take you seconds to get it done.<\/p>\n

Think of binary numbers: sequences of 0’s and 1’s. How many n-digit binary numbers are there that don’t have two adjacent 1 bits? For example, for three-digit numbers, five of the possible eight combinations meet the criteria: 000, 001, 010, 011<\/span>, 100, 101, 110<\/span>, 111<\/span>. What is the number for sequences of length 4, 5, 10, n?\u00a0Having worked out the pattern, there’s a second part to the question: can you prove why<\/em> that relationship exists?<\/p>\n

Practice Code Kata at\u00a0I T.A.K.E. Unconference<\/h3>\n
On 11-12 May 2017 in Bucharest, there’s a Kata Lounge track waiting for you.<\/div>\n
<\/div>\n
During\u00a0the 2-day program,\u00a0at any time, you can join this track to pick up\u00a0a challenge and start the kata session. The challenge contains the problem (called kata), the time you have for your session, and the name of the person who will review your code. The reviewer will help you improve your coding skills.<\/div>\n
<\/div>\n
Invest a bit of time in your coding-craft. Don’t miss the Kata Lounge as well as many other hands-on\u00a0sessions at I T.A.K.E. Unconference<\/a>.<\/div>\n","protected":false},"excerpt":{"rendered":"

\u201cWhatever luck I had, I made. I was never a natural athlete, but I paid my dues in sweat and concentration and took the time necessary to learn Karate and become World Champion.\u201d\u00a0\u2013\u00a0Chuck Norris\u00a0(American…<\/p>\n","protected":false},"author":6,"featured_media":1031,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[96],"tags":[],"jetpack_featured_media_url":"https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg","uagb_featured_image_src":{"full":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"thumbnail":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385-150x150.jpg",150,150,true],"medium":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385-300x200.jpg",300,200,true],"medium_large":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"large":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"wpsm_testi_small":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",100,67,false],"1536x1536":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"2048x2048":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"evnt_blog":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385.jpg",510,340,false],"evnt_gallery":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385-475x340.jpg",475,340,true],"evnt_testimonial":["https:\/\/itakeunconf.com\/wp-content\/uploads\/2014\/11\/itakekeynotes-e1415443578385-140x140.jpg",140,140,true]},"uagb_author_info":{"display_name":"Madalina Botez","author_link":"https:\/\/itakeunconf.com\/author\/madalina-botezmozaicworks-com\/"},"uagb_comment_info":0,"uagb_excerpt":"\u201cWhatever luck I had, I made. I was never a natural athlete, but I paid my dues in sweat and concentration and took the time necessary to learn Karate and become World Champion.\u201d\u00a0\u2013\u00a0Chuck Norris\u00a0(American…","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/posts\/1676"}],"collection":[{"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/comments?post=1676"}],"version-history":[{"count":0,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/posts\/1676\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/media\/1031"}],"wp:attachment":[{"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/media?parent=1676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/categories?post=1676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itakeunconf.com\/wp-json\/wp\/v2\/tags?post=1676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}