{"id":425,"date":"2007-02-10T15:25:17","date_gmt":"2007-02-10T23:25:17","guid":{"rendered":"http:\/\/boulter.com\/blog\/2007\/02\/10\/5-dysfunctional-attributes-of-good-engineers\/"},"modified":"2007-02-10T15:25:17","modified_gmt":"2007-02-10T23:25:17","slug":"5-dysfunctional-attributes-of-good-engineers","status":"publish","type":"post","link":"http:\/\/boulter.com\/blog\/2007\/02\/10\/5-dysfunctional-attributes-of-good-engineers\/","title":{"rendered":"5 Dysfunctional Attributes of Good Engineers"},"content":{"rendered":"<p>I\u2019ve worked with a lot of good engineers and Yahoo! and other places. Recently I was thinking that a lot of the traits that make them great are borderline dysfunctional. Perhaps all good engineers are savants? When hiring, here are the traits I look for.<\/p>\n<p><strong>Good engineers are lazy.<\/strong><br \/>\nAfter all, <a href=\"http:\/\/c2.com\/cgi\/wiki?PrematureOptimization\">premature optimization is the root of all evil<\/a>. Good engineers don\u2019t spend their time dealing with things don\u2019t matter and don\u2019t spend time fixing things until they know what\u2019s broke.<\/p>\n<p><strong>Good engineers are selfish.<\/strong><br \/>\nWhen an engineer can scratch their own itch, selfishly building products to serve their own needs, they become highly motivated. The hardest part of designing products is figuring out what your customer wants. If you\u2019re your own customer, the feedback cycle is exponentially faster and products mature quicker.<\/p>\n<p><strong>Good engineers are ignorant.<\/strong><br \/>\nSometimes all that\u2019s needed to kill a good idea is knowing too much about the problem space. When you know all the existing solutions and all the constraints, you tend to reject new ideas quickly, thinking of 100 reasons they won\u2019t work. Sometimes all it takes is a few tweaks to get around those constraints to solve a problem in a novel way.<\/p>\n<p><strong>Good engineers are paranoid.<\/strong><br \/>\nIf you\u2019re not scared, you should be. There are lots of things to fear about programming, from hackers to bad passwords to <a href=\"http:\/\/thedailywtf.com\/Articles\/The_Spider_of_Doom.aspx\">accidentally deleting all your web pages<\/a>. You know what\u2019s really scary to me? While loops. One badly-terminated while loop can run forever and consume an entire server very quickly.<\/p>\n<p><strong>Good engineers are insecure.<\/strong><br \/>\nComplacency is the death of a good engineer. As soon as you think you\u2019re better than everyone else (you\u2019re not) and stop learning, you start dropping in value. If no one\u2019s reviewing your designs and code and telling you how very wrong you are, you\u2019re never going to get lazy, just not the good kind of lazy.<\/p>\n<p>Of course, taken to an extreme, any one of these attributes could make for a really bad engineer. The good engineers have just a little bit of each.<\/p>\n<p>How about you, are you lazy? How about insecure? Know any paranoid friends? If so, I&#8217;ve <a href=\"http:\/\/pljb2.rmx.scd.yahoo.com\/pljb\/yahoo\/yahoo_jobs\/applicant\/jobClick.jsp?count=1&#038;id=7404\">got<\/a> <a href=\"http:\/\/pljb2.rmx.scd.yahoo.com\/pljb\/yahoo\/yahoo_jobs\/applicant\/jobClick.jsp?count=1&#038;id=7990\">jobs<\/a> <a href=\"http:\/\/pljb2.rmx.scd.yahoo.com\/pljb\/yahoo\/yahoo_jobs\/applicant\/jobClick.jsp?count=1&#038;id=8215\">for you<\/a>. Consider it getting paid for your own therapy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve worked with a lot of good engineers and Yahoo! and other places. Recently I was thinking that a lot of the traits that make them great are borderline dysfunctional. Perhaps all good engineers are savants? When hiring, here are the traits I look for. Good engineers are lazy. After all, premature optimization is the &#8230;<\/p>\n<p><a href=\"http:\/\/boulter.com\/blog\/2007\/02\/10\/5-dysfunctional-attributes-of-good-engineers\/\" class=\"more-link\">Continue reading &lsquo;5 Dysfunctional Attributes of Good Engineers&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-425","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts\/425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/comments?post=425"}],"version-history":[{"count":0,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts\/425\/revisions"}],"wp:attachment":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/media?parent=425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/categories?post=425"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/tags?post=425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}