{"id":24010,"date":"2015-04-28T13:19:51","date_gmt":"2015-04-28T11:19:51","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=24010"},"modified":"2015-04-28T13:19:51","modified_gmt":"2015-04-28T11:19:51","slug":"why-learning-to-code-is-so-damn-hard","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/28\/why-learning-to-code-is-so-damn-hard\/","title":{"rendered":"Why Learning to Code is So Damn Hard"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Erik Trautman of the <a href=\"http:\/\/www.vikingcodeschool.com\/blog\">Viking Code School Blog<\/a> did an outstanding job explaining &#8220;<a href=\"http:\/\/www.vikingcodeschool.com\/posts\/why-learning-to-code-is-so-damn-hard\">Why Learning to Code is So Damn Hard<\/a>&#8220;. \u00a0It&#8217;s a rather long read, but it&#8217;s easy to get, and it explains the different stages extremely well.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"24011\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/28\/why-learning-to-code-is-so-damn-hard\/coding_is_hard_combined_chart\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?fit=1200%2C1110&amp;ssl=1\" data-orig-size=\"1200,1110\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"coding_is_hard_combined_chart\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?fit=660%2C610&amp;ssl=1\" class=\"aligncenter size-medium wp-image-24011\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart-500x463.png?resize=500%2C463&#038;ssl=1\" alt=\"coding_is_hard_combined_chart\" width=\"500\" height=\"463\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?resize=500%2C463&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?resize=1024%2C947&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_combined_chart.png?w=1200&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>He looks both at the variability of confidence as one gets competence, the scarcity of resources for each stage, and the scope of knowledge. \u00a0Just to have it here for a quick reference, here are the stages:<\/p>\n<blockquote>\n<ol>\n<li><strong>The Hand Holding Honeymoon<\/strong> is the joy-filled romp through highly polished resources teaching you things that seem tricky but are totally do-able with their intensive support. You will primarily learn basic syntax but feel great about your accomplishments.<\/li>\n<li><strong>The Cliff of Confusion<\/strong> is the painful realization that it&#8217;s a lot harder when the hand-holding ends and it feels like you can&#8217;t actually do anything on your own yet. Your primary challenges are constant debugging and not quite knowing how to ask the right questions as you fight your way towards any kind of momentum.<\/li>\n<li><strong>The Desert of Despair<\/strong> is the long and lonely journey through a pathless landscape where every new direction seems correct but you&#8217;re frequently going in circles and you&#8217;re starving for the resources to get you through it. Beware the &#8220;Mirages of Mania&#8221;, like sirens of the desert, which will lead you astray.<\/li>\n<li><strong>The Upswing of Awesome<\/strong> is when you&#8217;ve finally found a path through the desert and pulled together an understanding of how to build applications. But your code is still siloed and brittle like a house of cards. You gain confidence because your sites appear to run, you&#8217;ve mastered a few useful patterns, and your friends think your interfaces are cool but you&#8217;re terrified to look under the hood and you ultimately don&#8217;t know how to get to &#8220;production ready&#8221; code. How do you bridge the gap to a real job?<\/li>\n<\/ol>\n<\/blockquote>\n<p>I&#8217;ll also borrow the resource density chart, which is very handy:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"24012\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/28\/why-learning-to-code-is-so-damn-hard\/coding_is_hard_resource_density\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?fit=1000%2C1040&amp;ssl=1\" data-orig-size=\"1000,1040\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"coding_is_hard_resource_density\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?fit=660%2C686&amp;ssl=1\" class=\"aligncenter size-medium wp-image-24012\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density-481x500.png?resize=481%2C500&#038;ssl=1\" alt=\"coding_is_hard_resource_density\" width=\"481\" height=\"500\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?resize=481%2C500&amp;ssl=1 481w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?resize=985%2C1024&amp;ssl=1 985w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?resize=500%2C520&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/coding_is_hard_resource_density.png?w=1000&amp;ssl=1 1000w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Not only the article explains why learning to code is so hard, but it also suggests how to make it easier, depending at which stage you are.<\/p>\n<p>I think this is one of the best articles on professional development in software development that I&#8217;ve seen ever. \u00a0Do read <a href=\"http:\/\/www.vikingcodeschool.com\/posts\/why-learning-to-code-is-so-damn-hard\">the whole thing<\/a>. \u00a0It&#8217;s that good!<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Erik Trautman of the Viking Code School Blog did an outstanding job explaining &#8220;Why Learning to Code is So Damn Hard&#8220;. \u00a0It&#8217;s a rather long read, but it&#8217;s easy to get, and it explains the different stages extremely well. He looks both at the variability of confidence as one gets competence, the scarcity of resources &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/28\/why-learning-to-code-is-so-damn-hard\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Why Learning to Code is So Damn Hard<\/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_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Why Learning to Code is So Damn Hard #programming #WebDev #education #career","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[1192,1114,1330],"keyring_services":[],"class_list":["post-24010","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-computer-science","tag-education","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":26333,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/09\/how-do-i-write-good-code\/","url_meta":{"origin":24010,"position":0},"title":"How Do I Write Good Code?","author":"Leonid Mamchenkov","date":"August 9, 2016","format":false,"excerpt":"Eric Dietrich, over at DaedTech, explains how he writes good code. \u00a0It's a post worth a read in full, but here is a summary: Make it easy to change Make it really readable Make it work Make it elegant Learn from accomplished practitioners He is also listing a few books\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":9326,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/08\/10\/the-worst-code-ever\/","url_meta":{"origin":24010,"position":1},"title":"The worst code ever","author":"Leonid Mamchenkov","date":"August 10, 2005","format":false,"excerpt":"Today is the black day in my experiences calendar. I have seen the worst code ever. I found all that mess in our corporate intranet. It has been written by one guy who long left the company and noone looks at it nomore. Other programmers avoid it like a plague\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":21804,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/14\/code-org-learn-an-hour-of-code\/","url_meta":{"origin":24010,"position":2},"title":"Code.org &#8211; Learn an hour of code","author":"Leonid Mamchenkov","date":"May 14, 2014","format":false,"excerpt":"Maxim mentioned code.org to me a couple of times last week, but I didn't have the time to check it out. \u00a0Today, however, he said that \"Learn an hour of code\" was his homework for the computer class. \u00a0That got me quite interested. \u00a0After all, I was exploring looking for\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"code.org","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/05\/code.org_-500x304.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":21713,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/04\/28\/john-resig-write-code-every-day\/","url_meta":{"origin":24010,"position":3},"title":"John Resig : Write Code Every Day","author":"Leonid Mamchenkov","date":"April 28, 2014","format":false,"excerpt":"John Resig, of the Khan Academy developers and the author of jQuery JavaScript library, ran an interesting experiment on himself - write code every day. \u00a0The rules were very simple: I decided to set a couple rules for myself: I must write code every day. I can write docs, or\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":10983,"url":"https:\/\/mamchenkov.net\/wordpress\/2007\/12\/17\/google-profile-coming-up\/","url_meta":{"origin":24010,"position":4},"title":"Google Profile coming up","author":"Leonid Mamchenkov","date":"December 17, 2007","format":false,"excerpt":"In my recent post about Google Reader and Google Talk integration I mentioned that it would be nice to have a possibility to control friends' names and pictures.\u00c2\u00a0 Similar to the way I can do so in Gmail.\u00c2\u00a0 Having things a bit more centralized would be nice. Obviously, Google realizes\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":26916,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/20\/how-to-read-and-improve-the-c-r-a-p-index-of-your-code\/","url_meta":{"origin":24010,"position":5},"title":"How to Read and Improve the C.R.A.P Index of your code","author":"Leonid Mamchenkov","date":"November 20, 2016","format":false,"excerpt":"Levi Hackwith has an excellent post explaining \"How to Read and Improve the C.R.A.P Index of your code\": The C.R.A.P. (Change Risk Analysis and Predictions) index is designed to analyze and predict the amount of effort, pain, and time required to maintain an existing body of code. It iterates over\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"crapclasscompletetest","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/11\/crapClassCompleteTest-500x58.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24010","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=24010"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24010\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=24010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=24010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=24010"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=24010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}