{"id":46,"date":"2009-12-08T04:12:07","date_gmt":"2009-12-08T04:12:07","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=46"},"modified":"2018-04-13T12:08:54","modified_gmt":"2018-04-13T16:08:54","slug":"great-developers-are-librarians","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/great-developers-are-librarians\/","title":{"rendered":"Great Developers Are Librarians"},"content":{"rendered":"<p><br \/>\nIf you know someone at your workplace who you consider to be a great developer, ask him what technical book he is reading. He will have one to name almost always.<\/p>\n<blockquote><p>The simple fact of the matter is that great developers read books<\/p><\/blockquote>\n<p>Most highly skilled developers will have a library of books. \u00a0Not every person who has a stack of books on their desk is a great developer though. \u00a0One thing to look for is to see if the book bindings look like the books have ever been opened. \u00a0Some developers just collect books and don&#8217;t actually read them. \u00a0When I am interviewing someone for a development job, I will often ask about mocking and books read recently or favorite books. \u00a0Chances are if someone knows about mocking and is reading good development books they are a good developer. \u00a0Seems a little wild to make a large statement like that, but experience has taught me this is true.<\/p>\n<h2><strong>Why do great developers read so many books?<\/strong><\/h2>\n<p>There are actually quite a few answers to this question.<\/p>\n<p><strong>A great developer always knows that there is always something more to learn.<\/strong><\/p>\n<p>It doesn&#8217;t matter how smart we are, or how much we think we know. \u00a0There is always something to learn. \u00a0Someone can always teach us something we didn&#8217;t know and we can always improve. \u00a0As soon as someone stops learning they stop growing, and if you&#8217;re not growing in the software industry, you are shrinking. \u00a0Someone who is learning is someone who is always getting better. \u00a0A person like that is also very likely to analyze problems in a way that asks questions and looks for better solutions rather than jumping to conclusions. \u00a0In a field this big that is growing so rapidly it is impossible to know it all. \u00a0I often fantasize about being a developer in the 80&#8217;s when you could perhaps know it all, but nowadays the amount of technology, libraries, frameworks, best practices, methodologies, tools, etc are growing so rapidly that you can&#8217;t even hope to keep up at a steady pace. \u00a0You just have to keep from drowning.<\/p>\n<p><strong>A great developer always knows that there is someone to learn from.<\/strong><\/p>\n<p>What&#8217;s the difference between getting in an argument, excuse me, discussion, with a great developer and a\u00a0mediocre\u00a0developer? \u00a0Authority. \u00a0A great developer can speak with authority, because it is not his idea or words that he is saying, but that of someone smarter than him. \u00a0That of a whole bunch of people smarter than him. \u00a0If you are arguing with a well read developer you are most likely arguing with <a href=\"http:\/\/www.amazon.com\/Robert-C.-Martin\/e\/B000APG87E\/?_encoding=UTF8&amp;camp=1789&amp;creative=390957&amp;linkCode=ur2&amp;tag=makithecompsi-20\" target=\"_blank\">Robert Martin<\/a>, <a href=\"http:\/\/www.amazon.com\/Donald-E.-Knuth\/e\/B000AQ6O7M\/?_encoding=UTF8&amp;camp=1789&amp;creative=390957&amp;linkCode=ur2&amp;tag=makithecompsi-20\" target=\"_blank\">Don Knuth<\/a>, <a href=\"http:\/\/www.amazon.com\/Steve-McConnell\/e\/B000APETRK\/?_encoding=UTF8&amp;camp=1789&amp;creative=390957&amp;linkCode=ur2&amp;tag=makithecompsi-20\" target=\"_blank\">Steve McConnell<\/a>, and others. \u00a0A developer who knows that someone has something to teach them not only values other people and ideas, but values teaching. \u00a0A great developer recognizes that it has all been done before. \u00a0That someone else has asked the same question, spent many hours researching it, and has a better solution than they could make up in 30 minutes. \u00a0A good developer says &#8220;how can I solve this problem?&#8221; \u00a0A great developer says &#8220;how did someone else solve this problem?&#8221;<\/p>\n<p><strong>A great developer wants to do things the right way.<\/strong><\/p>\n<p>You&#8217;ve heard it called elegant code, software\u00a0craftsmanship, clean code or many other things, but I think deep down it&#8217;s all about doing it the right way. \u00a0A great developer looks for other people&#8217;s views on how something should be done, ever in search of the elusive &#8220;right way.&#8221; \u00a0How to design the database; how to write good unit tests; how to separate concerns; how to build good software. \u00a0Books contain some of these answers and a great developer turns to others for help. \u00a0A great developer knows from experience that the first way we think to do something is not likely to be the best way, so he is interested in seeing what someone else has to say on the subject.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you know someone at your workplace who you consider to be a great developer, ask him what technical book he is reading. He will have one to name almost always. The simple fact of the matter is that great developers read books Most highly skilled developers will have a library of books. \u00a0Not every&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[7215,264,5895],"tags":[],"class_list":["post-46","post","type-post","status-publish","format-standard","hentry","category-book-review","category-learning","category-self-improvement"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Great Developers Are Librarians<\/title>\n<meta name=\"description\" content=\"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/simpleprogrammer.com\/products\/careerguide\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Great Developers Are Librarians\" \/>\n<meta property=\"og:description\" content=\"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/products\/careerguide\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2009-12-08T04:12:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-04-13T16:08:54+00:00\" \/>\n<meta name=\"author\" content=\"John Sonmez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Sonmez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/great-developers-are-librarians\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"Great Developers Are Librarians\",\"datePublished\":\"2009-12-08T04:12:07+00:00\",\"dateModified\":\"2018-04-13T16:08:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/great-developers-are-librarians\\\/\"},\"wordCount\":668,\"commentCount\":7,\"articleSection\":[\"Book Review\",\"Learning\",\"Self Improvement\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/great-developers-are-librarians\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide\",\"name\":\"Great Developers Are Librarians\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"datePublished\":\"2009-12-08T04:12:07+00:00\",\"dateModified\":\"2018-04-13T16:08:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/products\\\/careerguide#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Great Developers Are Librarians\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/\",\"name\":\"Simple Programmer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/simpleprogrammer.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\",\"name\":\"John Sonmez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"caption\":\"John Sonmez\"},\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/author\\\/jsonmez\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Great Developers Are Librarians","description":"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/simpleprogrammer.com\/products\/careerguide","og_locale":"en_US","og_type":"article","og_title":"Great Developers Are Librarians","og_description":"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.","og_url":"https:\/\/simpleprogrammer.com\/products\/careerguide","og_site_name":"Simple Programmer","article_published_time":"2009-12-08T04:12:07+00:00","article_modified_time":"2018-04-13T16:08:54+00:00","author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/products\/careerguide#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/great-developers-are-librarians\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"Great Developers Are Librarians","datePublished":"2009-12-08T04:12:07+00:00","dateModified":"2018-04-13T16:08:54+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/great-developers-are-librarians\/"},"wordCount":668,"commentCount":7,"articleSection":["Book Review","Learning","Self Improvement"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/products\/careerguide#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/great-developers-are-librarians\/","url":"https:\/\/simpleprogrammer.com\/products\/careerguide","name":"Great Developers Are Librarians","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"datePublished":"2009-12-08T04:12:07+00:00","dateModified":"2018-04-13T16:08:54+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"An explanation of how to identify great developers based on how well-read they are and their continual search to further their own knowledge.","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/products\/careerguide#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/products\/careerguide"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/products\/careerguide#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"Great Developers Are Librarians"}]},{"@type":"WebSite","@id":"https:\/\/simpleprogrammer.com\/#website","url":"https:\/\/simpleprogrammer.com\/","name":"Simple Programmer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/simpleprogrammer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67","name":"John Sonmez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","caption":"John Sonmez"},"url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/"}]}},"_links":{"self":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}