{"id":26340,"date":"2016-08-12T07:34:00","date_gmt":"2016-08-12T05:34:00","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=26340"},"modified":"2016-08-12T07:34:00","modified_gmt":"2016-08-12T05:34:00","slug":"the-traits-of-a-proficient-programmer","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/12\/the-traits-of-a-proficient-programmer\/","title":{"rendered":"The traits of a proficient programmer"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;<a href=\"https:\/\/www.oreilly.com\/ideas\/the-traits-of-a-proficient-programmer\">The traits of a proficient programmer &#8211; Bridging the gap between competence and proficiency<\/a>&#8221; is a good continuation of the recent &#8220;<a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/08\/what-is-a-senior-developer\/\">What is a Senior Developer?<\/a>&#8221; discussion. \u00a0This time, the question &#8220;<em>Do you know what the difference between competence and proficiency is?<\/em>&#8221; is asked and answered:<\/p>\n<blockquote><p>Competence means having enough experience and knowledge to get stuff done; proficiency involves knowing why you are doing something in a certain way, and how it fits into the big picture. In other words, a proficient practitioner is always a competent practitioner, but the opposite may not be true.<\/p><\/blockquote>\n<p>There are also some tips on how to become proficient.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>&#8220;The traits of a proficient programmer &#8211; Bridging the gap between competence and proficiency&#8221; is a good continuation of the recent &#8220;What is a Senior Developer?&#8221; discussion. \u00a0This time, the question &#8220;Do you know what the difference between competence and proficiency is?&#8221; is asked and answered: Competence means having enough experience and knowledge to get &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/12\/the-traits-of-a-proficient-programmer\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">The traits of a proficient programmer<\/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":"The traits of a proficient programmer #programming #WebDev","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":[1330],"keyring_services":[],"class_list":["post-26340","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28360,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/03\/hiring-sucks\/","url_meta":{"origin":26340,"position":0},"title":"Hiring Sucks.","author":"Leonid Mamchenkov","date":"February 3, 2018","format":false,"excerpt":"The other day I came across this story by Guy Shachar, in which he shares his experience with hiring people and the lack of candidates. The struggle is real. All the different startups are competing over the same human resource and let me tell you, the list of proficient talent\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":27162,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/12\/22\/signs-that-youre-a-bad-programmer\/","url_meta":{"origin":26340,"position":1},"title":"Signs that you&#8217;re a bad programmer","author":"Leonid Mamchenkov","date":"December 22, 2016","format":false,"excerpt":"Software Engineering Tips shares some tips on how to figure out if you are a bad programmer, and how to remedy that. Signs that you're a bad programmer Inability to reason about code Poor understanding of the language's programming model Deficient research skills \/ Chronically poor knowledge of the platform's\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":27980,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/09\/every-programmer-should-know\/","url_meta":{"origin":26340,"position":2},"title":"Every Programmer Should Know","author":"Leonid Mamchenkov","date":"September 9, 2017","format":false,"excerpt":"\"Every Programmer Should Know\" is a collection of subjects and resources that every programmer should know. \u00a0It is not specific to any technology stack, and it's rich enough to offer something to programmer of any level or experience. While the whole list is great, I'll single out this Big O\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/09\/big-o-500x353.png?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":26340,"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":8802,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/04\/11\/why-i-am-not-a-java-programmer\/","url_meta":{"origin":26340,"position":4},"title":"Why I Am Not A Java Programmer","author":"Leonid Mamchenkov","date":"April 11, 2005","format":false,"excerpt":"Why I Am Not A Java Programmer - nice article that represents one person's opinion on why Perl is better than Java. Many points are so nicely laid out that I find it hard to disagree. Not that I wanted to anyway...","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":28373,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/10\/this-is-why-you-shouldnt-interrupt-a-programmer\/","url_meta":{"origin":26340,"position":5},"title":"This is why you shouldn&#8217;t interrupt a programmer","author":"Leonid Mamchenkov","date":"February 10, 2018","format":false,"excerpt":"Yup.\u00a0 This is exactly why you shouldn't interrupt a programmer.\u00a0 It takes him at least a few minutes to get back to where he was, irrelevant how brief and unimportant the interruption was.\u00a0 And that's why we invented managers (interrupt them all you want!), asynchronous communication (emails, ticketing systems, etc),\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/ProgrammerInterrupted-130x500.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\/26340","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=26340"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/26340\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=26340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=26340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=26340"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=26340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}