{"id":295,"date":"2010-01-07T23:49:27","date_gmt":"2010-01-07T13:49:27","guid":{"rendered":"http:\/\/www.doolwind.com\/blog\/?page_id=295"},"modified":"2025-08-13T04:25:32","modified_gmt":"2025-08-13T04:25:32","slug":"programmer-personality-test","status":"publish","type":"page","link":"https:\/\/www.doolwind.com\/blog\/programmer-personality-test\/","title":{"rendered":"Programmer Personality Test"},"content":{"rendered":"\n<p>The programmer personality test has been retired, thanks for visiting.<\/p>\n\n\n\n<p><script type=\"text\/javascript\" src=\"http:\/\/www.doolwind.com\/ppt\/ppt.js\"><\/script><\/p>\n\n\n\n<!--\n<form action=\"http:\/\/www.doolwind.com\/blog\/programmer-personality\" method=\"POST\" name=\"questions\">\n<p>Programmer personality test has been retired, thanks for visiting<\/p>\n<p>&nbsp;<\/p>\n<p>Below is the programmer's personality test. It is based of the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Myers-Briggs\">Myers-Briggs Personality<\/a><a href=\"http:\/\/en.wikipedia.org\/wiki\/Myers-Briggs\"> Test<\/a> and has been changed to relate to your programming personality type. This is not a joke test and is really only relevant to programmers, however anyone is welcome to take the test. There are 12 questions with 2 answers for each question and you must choose one answer from each and every question. There are no 'right' or 'wrong' answers, your answer will simply show what type of personality you have.There are two things to note in this test. The first is that you should choose the answer that best describes your feeling about a subject. <span class=\"pullquote pqLeft\">You may not completely agree with the answer, however the answers are polar opposites and you must choose which end of the spectrum you best relate to<\/span>. The second thing to note is that many of the questions ask what is 'best' or 'better' without any context. This is done because, like an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ink_blot\">inkblot test<\/a>, your answer will be shaped based just as much on how you perceive the question as how you answer it. Good luck with the test, and if you have any questions please <a href=\"mailto:alistair@doolwind.com?subject=Programmers Personality Test\"> email me<\/a>.<\/p>\n<p><strong>Question 1:<\/strong><\/p>\n<p><strong>You've just been given a complex task to code. What are you most likely to do?<\/strong><\/p>\n<p><label><br><input name=\"A1\" type=\"radio\" value=\"1\">Get straight into the task by putting in the initial code and prototyping the task.<\/label><\/p>\n<p><label><br><input name=\"A1\" type=\"radio\" value=\"2\">Get everyone's feedback on the problem, discuss all the possible options, then decide the best way to approach the problem given the current situation.<\/label><\/p>\n<p><strong>Question 2:<\/strong><\/p>\n<p><strong>Comments should be placed:<\/strong><\/p>\n<p><label><br><input name=\"D2\" type=\"radio\" value=\"2\">To explain anything that may seem<br>ambiguous.<\/label><\/p>\n<p><label><br><input name=\"D2\" type=\"radio\" value=\"1\">Only when a programmer isn't good enough to explain themselves in variable and function names.<\/label><\/p>\n<p><strong>Question 3:<\/strong><\/p>\n<p><strong>Where do you spend most of your time?<\/strong><\/p>\n<p><label><br><input name=\"B3\" type=\"radio\" value=\"1\">Moving registers around or doing pointer arithmetic (or creating functions)<\/label><\/p>\n<p><label><br><input name=\"B3\" type=\"radio\" value=\"2\">Drawing UML diagrams (or making objects)<\/label><\/p>\n<p><strong>Question 4:<\/strong><\/p>\n<p><strong>Who is a 'better' programmer?<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><label><br><input name=\"A3\" type=\"radio\" value=\"2\">Someone who went to university\/college and has at least a masters in their field. They should read as many books on a subject as they can find before starting on it.<\/label><\/p>\n<p><label><br><input name=\"A3\" type=\"radio\" value=\"1\">Someone who has been coding since they were 5 and simply goes by raw talent alone.<\/label><\/p>\n<p><strong>Question 5:<\/strong><\/p>\n<p><strong>Which is the 'best' way to program?<\/strong><\/p>\n<p><label><br><input name=\"B1\" type=\"radio\" value=\"1\">In assembly or straight C. I'm in complete control of what the program's going to do.<\/label><\/p>\n<p><label><br><input name=\"B1\" type=\"radio\" value=\"2\">Java or any .net language. Why waste valuable time on memory management and re-inventing the wheel when someone's handled it for you!<\/label><\/p>\n<p><strong>Question 6:<\/strong><\/p>\n<p><strong>Approximately what % of a project should be spent in planning?<\/strong><\/p>\n<p><label><br><input name=\"A2\" type=\"radio\" value=\"1\">~25% - The best way to complete a task is to plan as you go.<\/label><\/p>\n<p><label><br><input name=\"A2\" type=\"radio\" value=\"2\">~75% - The more planning, the less code you need to write. By the time you code, you should simply be filling in stubs.<\/label><\/p>\n<p><strong>Question 7:<\/strong><\/p>\n<p><strong>If something needs to be done properly:<\/strong><\/p>\n<p><label><br><input name=\"C1\" type=\"radio\" value=\"2\">Get the team together and discuss the best way of solving the problem. Then break it up and give each piece based on people's strengths.<\/label><\/p>\n<p><label><br><input name=\"C1\" type=\"radio\" value=\"1\">Do it yourself.<\/label><\/p>\n<p><strong>Question 8:<\/strong><\/p>\n<p><strong>The 'perfect' language will:<\/strong><\/p>\n<p><label><br><input name=\"B2\" type=\"radio\" value=\"2\">Allow anybody in the world to program.<\/label><\/p>\n<p><label><br><input name=\"B2\" type=\"radio\" value=\"1\">Allow me to make the best use of systems resources.<\/label><\/p>\n<p><strong>Question 9:<\/strong><\/p>\n<p><strong>You've been given a task to do that will take one man month, how big is the optimal team?<\/strong><\/p>\n<p><label><br><input name=\"C2\" type=\"radio\" value=\"2\">5<\/label><\/p>\n<p><label><br><input name=\"C2\" type=\"radio\" value=\"1\">1<\/label><\/p>\n<p><strong>Question 10:<\/strong><\/p>\n<p><strong>When you program you:<\/strong><\/p>\n<p><label><br><input name=\"C3\" type=\"radio\" value=\"1\">Shut the door and the rest of the world out.<\/label><\/p>\n<p><label><br><input name=\"C3\" type=\"radio\" value=\"2\">Share a desk with a peer and have group meetings often to discuss what to do next.<\/label><\/p>\n<p><strong>Question 11:<\/strong><\/p>\n<p><strong>White space should be:<\/strong><\/p>\n<p><label><br><input name=\"D1\" type=\"radio\" value=\"1\">Used sparingly<\/label><\/p>\n<p><label><br><input name=\"D1\" type=\"radio\" value=\"2\">Used everywhere<\/label><\/p>\n<p><strong>Question 12:<\/strong><\/p>\n<p><strong>What is the 'better' implementation:<\/strong><\/p>\n<p><input name=\"D3\" type=\"radio\" value=\"1\"><\/p>\n<pre class=\"cppcode\">int main()\n{\n    printf(\"5+6=%d\", 5+6 );\n    return 0;\n}<\/pre>\n<p><input name=\"D3\" type=\"radio\" value=\"2\"><\/p>\n<pre class=\"cppcode\">\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\/\/ AddNumbers\n\/\/ param1 firstParam - The first value to add\n\/\/ param2 secondParam - The second value to add\n\/\/ return - The firstParam added to secondParam\n\/\/\nint AddNumbers(int firstParam,\n                int secondParam )\n{\n\n    \/\/ Here is some info\n    int theReturn = firstParam + secondParam;\n\n    \/\/ Now return the value\n    return theReturn;\n}\n\n\/\/ Entry for program\nint main()\n{\n    \/\/ Initialize variables\n    int firstParam = 5;\n    int secondParam = 6;\n\n    \/\/ Call the function\n    int returnValue = AddNumbers( firstParam, secondParam );\n\n    \/\/ Print out the value\n    printf(\"%d+%d=%d\", firstParam, secondParam, returnValue );\n\n    return 0;\n}<\/pre>\n<p><input name=\"SUBMITBUTTON\" type=\"submit\" value=\"Submit\"><\/p>\n<\/form>\n-->\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The programmer personality test has been retired, thanks for visiting.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"open","ping_status":"open","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-295","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PgEc5-4L","_links":{"self":[{"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/pages\/295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":0,"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/pages\/295\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.doolwind.com\/blog\/wp-json\/wp\/v2\/media?parent=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}