{"id":9302,"date":"2005-08-03T21:00:32","date_gmt":"2005-08-03T18:00:32","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/2005\/08\/03\/touchtyping-analogy\/"},"modified":"2005-08-05T00:16:52","modified_gmt":"2005-08-04T21:16:52","slug":"touchtyping-analogy","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2005\/08\/03\/touchtyping-analogy\/","title":{"rendered":"Touchtyping analogy"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Today I engaged in yet another discussion about the need of touchtyping for programmers with few of my collegues.  My position on this issue is ver well known &#8211; I think that touchtyping is a requirement for a good programmer.  I accept, of course, that there are few good programmers out there who can&#8217;t touchtype, but they are very few and they are only an exception that supports the rule.<\/p>\n<p>While in said discussion, I was trying to come up with a good analogy from a non-IT area for a programmer who can&#8217;t touchtype.  I know of two ways to come up with a good analogy.<\/p>\n<p><!--more--><\/p>\n<p>The first way is based on spontaneous creativity and associations.  All you need to do is start speaking out all ideas that come to your mind.  Eventually something good might come out.  I usually prefer this way, but today it failed me.  <\/p>\n<p>All I could come up with was a <strong>surgeon who can&#8217;t use the scalpel<\/strong>.  This analogy is incorrect.  Surgeon who can&#8217;t use the scalpel can&#8217;t do his job at all.  Programmer who can&#8217;t touchtype can do his job.  It&#8217;s just the way he would be doing his job won&#8217;t be very effecient.  I could of course go deeper into this one and find a better example, but I am not very good with medical terminology.  Neither are those people for who I was trying to create the analogy.<\/p>\n<p>So, I tried to use the second method for analogy generation that I know of.  It is logic and the thinking process.  Sometimes it works much better, albeit slower.  And I am not a big fan of logic.<\/p>\n<p>At first I was trying to find some profession that would be very common so that everyone would be familiar with details of the job and tools used.  Doctors were off the list.  Lawyers, bakers, and drivers came first to my mind.  Now I had to examine tools and processes used in their jobs.  Lawyers don&#8217;t have any tools.  At least I don&#8217;t know of any.  Bakers have an oven, but I am not very familiar with the processes involved.  Drivers on the other hand sounded like an excellent choice.  Everyone knows what drivers do &#8211; they drive.  The driver&#8217;s tool is his car.  Most of the people these days have a good understanding of what a car is and how it can be operated.<\/p>\n<p>Now that I had a good profession and a tool, I had to come up with the process that would be analogues to touchtyping in computer programming.  What can one do with the car?  Drive it, of course.  Not a good choice.  Driver who can&#8217;t drive, cant&#8217; do his job.   I needed something more specific.  Who does one drive a car?  Start the engine, shift the gears, drive, stop, turn, etc.  One can&#8217;t drive without engine switched off, so I crossed that one off the list.  Shifting gears is done automatically on many cars now, so this is a weak analogy.  I didn&#8217;t want that, so I crossed it off the list to.  Now for the driving part.<\/p>\n<p>One of the biggest difficulties for young drivers (young in terms of experience and not age) is to get the car moving.  The moment when it happens in intense &#8211; there are so many things to control that inexperienced people easily confuse and mess things up.  If there would be a professional driver who would still have this problem, he would be very ineffecient.  He would be analysing his route so that he would have to stop\/start going as less times as possible.  He would get stuck often.<\/p>\n<p>From the first look it seemed that I found what I was looking for.  But deep inside me I knew that it wasn&#8217;t exactly it.  I was trying to understand what is wrong with this analogy.  And than it hit &#8211; many people plan their route to have as little stops as possible.  So that would make my analogy weak again.<\/p>\n<p>And so I continued.  I was still going to find my analogy in the driving area.  I liked this a lot because it is so accessible and easy to understand to everyone.  I didn&#8217;t want to change the subject.  All I had to do was to find an ineffcient way of driving.  The moment I formed my task like that &#8211; I knew the answer.<\/p>\n<p>The most ineffient way to drive is to drive backwards.  Imagine putting the rear gear and driving to work and than back home.  That&#8217;s a living hell.  What would it look like if there was this guy, who was driving his cab or truck for the last twenty years and never learned to drive forward?  That would look very awkward I tell you.<\/p>\n<p>And so I had it!  The programmer who can&#8217;t touchtype is like <strong>a driver who is always driving backwards<\/strong>.  The more I was thinking about it the more I liked it.  Yeah, that&#8217;s right.  That&#8217;s the one.  From now on I&#8217;ll be using it all the time.  Maybe people will start thinking about their skills more and learn the touchtyping at last.  It&#8217;s not that difficult.  I promise.  It won&#8217;t take them longer than learn how to drive a car forward.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Today I engaged in yet another discussion about the need of touchtyping for programmers with few of my collegues. My position on this issue is ver well known &#8211; I think that touchtyping is a requirement for a good programmer. I accept, of course, that there are few good programmers out there who can&#8217;t touchtype, &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2005\/08\/03\/touchtyping-analogy\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Touchtyping analogy<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[27,2416,2301,461],"keyring_services":[],"class_list":["post-9302","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-driving","tag-thoughts","tag-touch-typing","tag-typing"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":8927,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/05\/04\/touchtyping-practice\/","url_meta":{"origin":9302,"position":0},"title":"Touchtyping practice","author":"Leonid Mamchenkov","date":"May 4, 2005","format":false,"excerpt":"Maxim had his first touchtyping practice. He didn't want to go to sleep and we were sitting near computer, so I though: \"What the heck? Let him try.\" Maxim seemed to be interested in what was going around. I sat him on my lap and showed him the keyboard. He\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8757,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/03\/31\/on-writing\/","url_meta":{"origin":9302,"position":1},"title":"On writing","author":"Leonid Mamchenkov","date":"March 31, 2005","format":false,"excerpt":"Paul Graham has recently wrote a short, but non-the-less interesting essey about writing. He explains why writing is important and how to write well. Writing well is a nicely covered topic. There are numerous books on communications in general and writing in particular. Most collegues require passing of at least\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8989,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/05\/22\/the-keyboard-for-the-perfect-world\/","url_meta":{"origin":9302,"position":2},"title":"The keyboard for the perfect world","author":"Leonid Mamchenkov","date":"May 22, 2005","format":false,"excerpt":"As many of your know, I am an advocate and promoter of touchtyping. In my perfect world everyone would type with their 10 fingers. (And, yes, everyone would have 10 fingers in my perfect world). In the perfect world there's no need for labels on keyboard keys. And, it turns\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"mechanical_keyboard","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2005\/05\/mechanical_keyboard-500x209.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27362,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/19\/programmer-interrupted\/","url_meta":{"origin":9302,"position":3},"title":"Programmer Interrupted","author":"Leonid Mamchenkov","date":"February 19, 2017","format":false,"excerpt":"Slashdot runs a thread on \"Are Remote Software Teams More Productive?\". \u00a0The original post links to a few research references that, unsurprisingly, show how expensive interruptions are to programmers, and how unprepared we are, as an industry, to deal with this problem. \u00a0I particularly liked a rather in-depth look at\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9050,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/06\/06\/on-hiring-programmers\/","url_meta":{"origin":9302,"position":4},"title":"On hiring programmers","author":"Leonid Mamchenkov","date":"June 6, 2005","format":false,"excerpt":"Ovid, who is a rather famous Perl programmer himself, has a few tips about hiring programmers for companies who want to do so. Before reading the article, try writing your own ad for Perl programmer position available. Than see if you've got it right. The main thing you want out\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15506,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/09\/14\/sysadmins-vs-programmers\/","url_meta":{"origin":9302,"position":5},"title":"Sysadmins vs. programmers","author":"Leonid Mamchenkov","date":"September 14, 2011","format":false,"excerpt":"In a Slashdot thread on the topic of the Programmer's Day, I came across this insightful comment, with which, having been both a sysadmin and a programmer, I have to somewhat agree. No disrespect to any programmers intended, but sysadmins have it tougher. \u00a0I wouldn't go as far as to\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/9302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=9302"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/9302\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=9302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=9302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=9302"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=9302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}