﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>SQLServerCentral / Discuss Content Posted by Janet Wong / Article Discussions / Article Discussions by Author  / What Makes a Good Programmer / Latest Posts</title><generator>InstantForum.NET v2.9.0</generator><description>SQLServerCentral</description><link>http://www.sqlservercentral.com/Forums/</link><webMaster>notifications@sqlservercentral.com</webMaster><lastBuildDate>Sat, 18 May 2013 21:23:00 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[quote][b]Chris.Strolia-Davis (5/15/2008)[/b][hr]This kind of goes to my point of there not being levels, per se, but rather job roles and functions. An expert may not need to have the same communication skills if there happens to be a good business analyst on the team that can bridge the communications gap. I personally have found that after many years of application development, my ability to relate to the user has declined. I simply can't always think of ways to simplify concepts that have taken me years to learn. Sometimes this can be very confusing to the typical user. It's as if I forgot how to speak English. This is likely to happen to any specialist or guru if they've been in the business long enough. Ultimately, having the right mix of people for the job will make the biggest difference. Having a single person with lots of experience may not always be as good as having 2 or more people with less experience, but complimentary skills. [/quote]I was going to respond to your message earlier but thought you made such a great point, nothing futher was necessary. :) You are certainly correct, and an additional point could be that both experts in one language / environment / skill as well as jack-of-all-trade types complement one another very well. (I tend to fall into the latter category.) Diversity of team members, within reason, generally tends to produce a better result. (I add within reason for the sole purpose to exclude a team consisting of something like one each of Java, Python, SQL, and .NET developers on one team, which would lead to too much confusion and no productivity.)</description><pubDate>Thu, 15 May 2008 09:49:42 GMT</pubDate><dc:creator>panesofglass</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[b]A good developer/DBA needs to have a passion for the job. Sometimes the job is tedious.[/b]This is not only true for DBA but also for other profession also. Until and unless you have a passion you cannot succeed in any job though you may have the right degrees.............:)</description><pubDate>Thu, 15 May 2008 09:38:34 GMT</pubDate><dc:creator>Anipaul</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>I've worked with top notch coders, meaning they write great code that isn't buggy, runs well and fast, tests well.And doesn't meet my needs.Communication is key, and it's important that you learn to communicate and listen to what is needed without interpreting that too much. Your skill as a code doesn't necessarily predict your skill as a developer/programmer. I think that's the easy part. The hard part is understanding what you need to build.Get to know your end users, talk to them, understand their jobs. Only then can you communicate.</description><pubDate>Thu, 15 May 2008 09:19:23 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[quote][b]Ryan Riley (5/15/2008)[/b][hr][quote][b]sadara (5/15/2008)[/b][hr]i disagree. if the programmer can't communcate well with at least the person/people supplying him/her with the spec, s/he will quite likely code what s/he THINKS is required, rather than what IS required. i've seen it countless times. on one occasion, a programmer of my acquaintance was told that he should stop an application producing a certain error message: he removed the error message.i'd go further: the best programmers give people what they need - and sometimes that's different from what they ask for.[/quote]I completely agree. To say that communication is not important is a cop-out based on preference or fear. Granted, some people aren't gifted in communication, but that doesn't mean that it somehow disappears. Most important of all, though, is proper understanding, which certainly requires good communication. It is too easy to communicate something that could be taken in many different ways. Look at all the [url=http://www.joelonsoftware.com/items/2008/03/17.html]implementations of "standards."[/url]A great programmer--I realize I'm using different terminology than "guru" due to the [i]misunderstanding[/i] on the meaning of the word--definitely delivers what is meant, not what is specifically requested.[/quote]This kind of goes to my point of there not being levels, per se, but rather job roles and functions. An expert may not need to have the same communication skills if there happens to be a good business analyst on the team that can bridge the communications gap. I personally have found that after many years of application development, my ability to relate to the user has declined. I simply can't always think of ways to simplify concepts that have taken me years to learn. Sometimes this can be very confusing to the typical user. It's as if I forgot how to speak English. This is likely to happen to any specialist or guru if they've been in the business long enough. Ultimately, having the right mix of people for the job will make the biggest difference. Having a single person with lots of experience may not always be as good as having 2 or more people with less experience, but complimentary skills. </description><pubDate>Thu, 15 May 2008 09:05:13 GMT</pubDate><dc:creator>Chris.Strolia-Davis</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>I agree with points stressed in the article but author opinion is useless here.Every body creates his attitude to the life and his job base on his personalityand experience. It is completely stupid to compare yourself with brightest stars.Best practice and properly set responsibility doing a job.</description><pubDate>Thu, 15 May 2008 08:19:41 GMT</pubDate><dc:creator>Igor Zaychik</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[quote][b]sadara (5/15/2008)[/b][hr]i disagree. if the programmer can't communcate well with at least the person/people supplying him/her with the spec, s/he will quite likely code what s/he THINKS is required, rather than what IS required. i've seen it countless times. on one occasion, a programmer of my acquaintance was told that he should stop an application producing a certain error message: he removed the error message.i'd go further: the best programmers give people what they need - and sometimes that's different from what they ask for.[/quote]I completely agree. To say that communication is not important is a cop-out based on preference or fear. Granted, some people aren't gifted in communication, but that doesn't mean that it somehow disappears. Most important of all, though, is proper understanding, which certainly requires good communication. It is too easy to communicate something that could be taken in many different ways. Look at all the [url=http://www.joelonsoftware.com/items/2008/03/17.html]implementations of "standards."[/url]A great programmer--I realize I'm using different terminology than "guru" due to the [i]misunderstanding[/i] on the meaning of the word--definitely delivers what is meant, not what is specifically requested.</description><pubDate>Thu, 15 May 2008 08:03:31 GMT</pubDate><dc:creator>panesofglass</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[quote][b]Rudolph Davidge (7/3/2007)[/b][hr]The newbies were impressed by thispost because it was written to impress newbs. Thissaid little that hasn't been said (often) before...and by people who write a lot better than this. As for Gates, Gates is all about marketing. Microsoft does the very thing they decry so much...Push programmers to write for production, not quality. For proof, you need look no further than every single product they ever released. Gates loves to come off as a 'guru' himself, and maybe he is, but certainly not a tech guru. No, Gates strong point has ALWAYS been in marketing, certainly not in innovation. The only innovation M$ has EVER brought to market is that which they first purchased (or simply robbed) from someone else. But I digress.A 'guru, from a programming perspective, doesn't, in fact, need ANY interpersonal communication skills...It's ridiculous to assert otherwise. If he has them, well that's just gravy. It makes him (or her) a LOT easier to get along with within a team work environment, but has NOTHING to do with his/her 'guru' status.Gurus are NOT, although the label 'guru' would indicate otherwise, in ANY sense a teacher, or a mentor. They don't NEED to teach, because they are more than capable of DOING. If they CHOOSE to teach, again, that's just more gravy.Gurus are the ones that not only KNOW five ways from Sunday how to accomplish a particular coding task, in multiple languages and on any platform, they ALSO know (and much more importantly) the OPTIMUM way that said task SHOULD be done.They also are ALWAYS thinking 'outside the box'...In fact, they don't even acknowledge the box's existence for the most part.The poster also mentioned how humble and unassuming this hypothetical guru is. In my experience (ESPECIALLY during my 4 years at Microsoft), that's simply not true. They are TOTALLY assuming and oftentimes downright prima donnas...and with good reason. They realize their worth to their employer. They know the savings in time and money their presence on the work force represents, and they expect management to recognize it as well....and to compensate them accordingly.Merely 'good' programmers on the other hand, are a company's bread and butter. They ARE the ones that simply 'git 'er done'!...And Management loves them for that fact alone.[/quote]I think you may have missed something here.  The word "guru" is Nepalese, and very exactly and specifically means "teacher".I think the word you are looking for is "maestro", or "expert".  Those do not carry the meaning of "teacher", but do carry the meaning of "having a great amount of skill".The people you are talking about as "gurus" very definitely are not.</description><pubDate>Thu, 15 May 2008 07:24:34 GMT</pubDate><dc:creator>GSquared</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>I have found this out more recently. Perhaps I have devolved as a programmer. Based on the description, I believe that at least at some point I could have been considered a guru. I still do many of the things that seem to fit into that category, but I have learned something very enlightening over the last few years. In the past, I have worked with programmers at the 2nd and 3rd levels and I could definitely see, at that time, the differences between the way I coded and the way that they coded. I enjoyed improving the efficiency of the programs and making the programs relate more easily to the users. I enjoyed problem solving and was pretty good at it. I made plenty of mistakes, but corrected them all quickly. I've learned to prevent a great number of mistakes. At one point, I found myself as a lone developer again. Here is what I found. When I was with a team of developers, those 2nd and 3rd level programmers, some of whom really didn't even seem all that interested in programming, were still much faster at coding than I was. I tend to get bogged down in details, and occasionally attempt to solve problems that don't need solving. This was not a problem for these developers. They weren't interested in doing any more work than was actually needed to solve the problem. As a team we worked well together. They did most of the actual programming, and whenever we had a particularly difficult problem, I would step in and either show them how to solve it, or create a solution that could be replicated by them in various places where it was needed. We worked extraordinarily fast. When I became a lone programmer, I found that my development speed had become seriously crippled. I feel bad that I devalued some of the other developers that I have worked with. Now that I don't have them, I realize what I have lost. I don't know that it is good to have ratings for developers based on the criteria indicated. Instead, I think it is better to consider that there are different people who are particularly good at different types of things and getting the right combination of those people can make all the difference. So rather than labeling programmers as basic and guru, it might be better to separate them as coders, specialists, solvers/engineers, etc. Supply and demand may make some of these positions seem more valuable than others, however, without a good combination, I feel like development can severely suffer from being unbalanced in these.  </description><pubDate>Thu, 15 May 2008 06:46:07 GMT</pubDate><dc:creator>Chris.Strolia-Davis</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>[quote][b]Colin Anderson (7/3/2007)[/b][hr]I'm going to bea bit pedantic in my opinion by saying that you have to be careful of the terms that you use. The only communication skill a programmer needs is the ability to communicate with a computer. A programmer will not design a system, they will be given a design that they have to program.[/quote]i disagree. if the programmer can't communcate well with at least the person/people supplying him/her with the spec, s/he will quite likely code what s/he THINKS is required, rather than what IS required. i've seen it countless times. on one occasion, a programmer of my acquaintance was told that he should stop an application producing a certain error message: he removed the error message.i'd go further: the best programmers give people what they need - and sometimes that's different from what they ask for.</description><pubDate>Thu, 15 May 2008 05:58:49 GMT</pubDate><dc:creator>sadara</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Good Article!I think 'Good' depends on your needs.  Good depends on what you need for the job.</description><pubDate>Thu, 15 May 2008 04:29:32 GMT</pubDate><dc:creator>SuperDBA-207096</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>The trouble with this article is that it appears to have been written by a poor programmer - where is the requirements analysis etc?Where are the definitions? I mean, which definition of 'Good Programmer' are we discussing? The kind that spend all of their time writing books, giving lectures, and producing nothing?  The kind that never make a mistake, and produce 'beautiful' programs? Or the kind that get stuff out on time, are continuously learning, and getting pay increases every year?For me 'continuous improvement' is probably the most important phrase in any business.</description><pubDate>Thu, 15 May 2008 04:02:39 GMT</pubDate><dc:creator>mike brockington</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>I think you could say the same about just about any career. Doesn't stop it from being true. Sensible stuff!</description><pubDate>Thu, 15 May 2008 04:02:01 GMT</pubDate><dc:creator>Ben Leighton</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;Lavish paychecks?! Man am I in the wrong company...&lt;/P&gt;&lt;P&gt;I think what makes a good programer is someone who is always willing to learn new processes and new technology. I'm a department of one, and I am constantaly looking for ways to make my processes reusable and streamlined; if not for the sake of my company, than for my own personal gain in knowledge.&lt;/P&gt;&lt;P&gt;One person posted that a Guru shouldn't be a mentor, I disagree. I think a Guru is a master at their craft, and is willing to pass on that knowledge to those that are coming up in the ranks. There are people who come to me because they know I know the answer to their question, in that reguard I am a Guru to them; but I know that I still have a lot to learn, and I will still be learning until the day I die, and in that respect I do not see myself as a Guru.&lt;/P&gt;&lt;P&gt;The more I learn about technology and programing, the more I realize there are things I don't know and maybe never will... &lt;/P&gt;</description><pubDate>Mon, 09 Jul 2007 15:16:00 GMT</pubDate><dc:creator>battelofhalfwits</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>My two pence.  I have read most of Code Complete and have worked through Project Survival Kit by the same author and adapted most of the techniques mentioned. My company thinks mean and lean is the answer, do things fast and furious.  Until the day of reckoning....! No documentation, no proper comments except such as //this is a counter.I think we have to distinguish between a coder and a developer. The code just writes code from the top of his head - the developer put some effort into a logical design on papaer.  The guru in short needs to have the skills to envision, design and code the application. There are very good programmers that can write an entire application without any design on paper (or even a whiteboard), all OO based - the complete design up in the head.  The application will work as intended, but do not try to debug, enhance or maintain such an application.  Long coded modules, included code, no OO, no breakdown into smaller functional pieces for code reuese- nada of those - here and there an ijk or an xyz.The guru must have the ability to mentor as well. He must be able to take control in a team and lead the way.  Guru's are not always wizkids.  They are real people with real skills which the DO apply.  I was once a coder, progressed to a developer/programmer en strive to be a guru.  Eish!</description><pubDate>Thu, 05 Jul 2007 00:38:00 GMT</pubDate><dc:creator>Pierre Cornelissen</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Very encouraging words. However, the programmer is the low man on the totem pole. He gets all the blame, the least pay, very little of the glory, and can always be replaced (usually by someone in India). In order to become indispensable to their company, they should strive to become analysts or project managers. These positions do require a general knowledge of current technologies but, creativity and strong interpersonal and managerial skills are much more important.</description><pubDate>Wed, 04 Jul 2007 11:25:00 GMT</pubDate><dc:creator>Daniel Ward-446874</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;There are so many reply already. &lt;/P&gt;&lt;P&gt;I think "Everyone, as long as not stupid, can become a good programmer", but if someone want to be a better then "Good" programmer, there is talent. &lt;/P&gt;&lt;P&gt;A program is good or not was not judged by someone see the code behind, it is by user who love it. &lt;/P&gt;</description><pubDate>Wed, 04 Jul 2007 10:28:00 GMT</pubDate><dc:creator>T Y MA</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>It's interesting that many posts in this thread have shifted from what makes a good "programmer" to what makes a good "program" (e.g., descriptive names, regression tested, etc.).  I submit that one quality of a good programmer is the she/he has a very high tolerance for boredom &lt;img src='images/emotions/wink.gif' height='20' width='20' border='0' title='Wink' align='absmiddle'&gt; </description><pubDate>Wed, 04 Jul 2007 04:25:00 GMT</pubDate><dc:creator>Mike Bishop</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>What Separates a programmer from a some one with a compiler ?Re-factoring for performance, readability, extensibility and development effort.A common misconception of poor quality and efficiency is due to assumptions about the quantity to which these should be implemented.</description><pubDate>Tue, 03 Jul 2007 18:23:00 GMT</pubDate><dc:creator>I cant let you do that Dave</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Yes i think there are two type of programmer one who knows the technology and the other who doesn't,but if they given a chance to improve can do better.And some of them are lazy bugs they just join the profession to get those lavish paycheks these type of people depend on others and get done their work with help of others and never try for themselves,they take others for granted and ask them to do the work assigned to them.&lt;img src='images/emotions/sick.gif' height='20' width='20' border='0' title='Sick' align='absmiddle'&gt;. I think these fellows should be taught a good lesson that they should be monitored from time to time and terminated if they are not upto the performance mark.&lt;img src='images/emotions/mad.gif' height='20' width='20' border='0' title='Mad' align='absmiddle'&gt;</description><pubDate>Tue, 03 Jul 2007 12:04:00 GMT</pubDate><dc:creator>Chakravarthy-459532</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;I think the conversation has brought up some key points. People use words like Guru and such with their own view of what it means.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;I have friends who call me a Guru and I think they are nuts. Sure I know I am competent at the things I do and I adapt fairly quickly to new things.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;But the label is so vague and is many times generalized on perception.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;I think the key to McConnell's view, which is many times overlooked, is accountability and not really performance. Many times what he labels a level 4 person is someone who can demonstrate the skills and is confident enough that others feel they hold a high degree of accountability in their work and are willing stand behind every line written even if an error appears. Read his work &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;After the Gold Rush: Creating a True Profession of Software Engineering&lt;/I&gt;&lt;/B&gt; and you will get a better sense of what I mean. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;The issue is that you have people who code for a living but if something goes wrong they spend more time stating why it wasn't their fault rather than taking accountability and moving things forwards as fast as possible. The problem with this is software is in so much we do and use that many areas do need maybe a licensed profession to work in areas such as medical and other higher risk areas where more weight applies to the job they are performing. Just because you can code and accomplish great things doesn't mean you have reached that level where someone would stake their life on your work.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;In addition I think those we view as Guru's should be able to teach those who want to perform the same type of tasks and be able to accurately express what is going on (the whys and wheres of the code). I understand most of the wheres of SQL but not enough of the whys to feel I have achieved enough to feel comfortable being called a guru.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Then I run into people who have degrees and can program in many languages but their understanding is more rudimentary than what I have as they just focus on the how to and have no real understand of what they did but that it just works if they do it that way. Downside I have found is many get stuck in the style of coding they do and as improvements occur they never move on to a better way as theirs still works, so as they say "If It Ain't Broke Don't Fix It". Many times it is ok but in a few instances I found the old way so much harder to read and debug that it was quicker to rewrite hose areas and find a new person.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;But again until someone defines exactly what a Guru is there will always be varying opinions and many debates.&lt;/FONT&gt;&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 11:03:00 GMT</pubDate><dc:creator>Antares686</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>the one that got me chuckling was the Star Wars variable names...</description><pubDate>Tue, 03 Jul 2007 10:09:00 GMT</pubDate><dc:creator>bledu</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>This is a pretty inspirational article. I am not a developer or a DBA... I am an admin (no flames please), and I absolutely believe that this content is true for us as well... Thanks so much!</description><pubDate>Tue, 03 Jul 2007 09:01:00 GMT</pubDate><dc:creator>David Levine-327541</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Thanks for sharing your thoughts with the rest of us and for getting the ball rolling. It seems like a good article invites responses. We all strive to be the best that we can be within our limitations. It really is good to aspire to be better, no matter where we are in the spectrum.</description><pubDate>Tue, 03 Jul 2007 08:41:00 GMT</pubDate><dc:creator>Carlos Urbina</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>This is what business wants and sometimes I can give it to them.  One of the main things to obtaining this goal is to get customer buy-in as early as possible.  In my experience the old adage that the customer doesn't know what they want until you show it to them is pretty true.  So I show them prototypes until they are happy with the system.  When it reaches user acceptance testing they already know what they are getting and so will be happy with the system.  Systems are getting easier and easier to program these days but the complexity keeps on going up and up to compensate as business system get more and more automated and many of the easy programming tasks are gone because they have been automated away or are COTS.</description><pubDate>Tue, 03 Jul 2007 08:01:00 GMT</pubDate><dc:creator>Gregory Williams</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>If a really good programmer should give the tester no reason to send it back for rework, then there must be no "really good programmers".  Unless you count those who write a "hello world" application as these are about the only ones that have no bugs in them.</description><pubDate>Tue, 03 Jul 2007 07:30:00 GMT</pubDate><dc:creator>Colin Anderson</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Commenting should be a description of what the code is doing. Good code makes it easy to understand how it is doing it.These are two distinct objectives.And no, a programmer should not be the last person to test but a really good programmer should give the tester no reason to send it back for rework.</description><pubDate>Tue, 03 Jul 2007 07:24:00 GMT</pubDate><dc:creator>Kent Gorrell</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;I've been programming for over 25 years not counting the year I did COBOL after college before a 12-year stint in a non-IT capacity.  I've worked with, worked for &amp;amp; supervised a number of developers over the years.&lt;/P&gt;&lt;P&gt;There are some people who just shouldn't be professional programmers.  I know I shouldn't be a professional athlete, singer, or dancer.&lt;/P&gt;&lt;P&gt;I've had the pleasure of working with some truly outstanding developers - no one famous, yet top notch.  &lt;/P&gt;&lt;P&gt;What has troubled me is those people who are excellent developers and actually have OK people skills who could care less about the business purpose of the application.  Programming end-user applications is much more than just satisfying a list requirements - it's using your knowledge, skill, experience &amp;amp; "soul" to provide the best solution for the &lt;U&gt;client&lt;/U&gt;.&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 07:22:00 GMT</pubDate><dc:creator>Rick Sline</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>My point was that most of us are a lot more than programmers and that programming is one of the tasks that we perform in our jobs.  I also have to understand the business, communicate with customers (internal and external).  I have to test to a certain degree and I also have to document my work.  Our jobs are much more than being just programmers.</description><pubDate>Tue, 03 Jul 2007 07:21:00 GMT</pubDate><dc:creator>Colin Anderson</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;This was a great article. I am guessing that the negative posters haven't actually read the book. Perhaps they saw themselves at a less-than-guru level and are reacting to that. I did read the book, and it is excellent. There's a lot more in there than merely the four levels discussed in the article; it covers the overall approach to good development. But I digress.&lt;/P&gt;&lt;P&gt;Programming is not just a matter of writing "good code" it needs to meet the specific needs of the customer, within the scope of the requirements, be documented so that he / she who follows can easily understand &amp;amp; maintain it, and be flexible enough to be extensible without major rework. This requires not only technical skills but also the interpersonal skills to discuss the WHY a particular piece of code needs to be created. It also requires real-world experience which cannot be learned from a book.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 07:15:00 GMT</pubDate><dc:creator>WILLIAM MITCHELL</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Where are these guys coming from that they have system analysts to design systems for them?  In my company we actually have to understand the business for which we are developing a system.  This is called having the domain knowledge of the business.  We have to go from a business requirement clear through to user acceptance testing and then support it.  That means the job must be done correctly or you will spend much of the time supporting the systems you have created in the past.  Of course we don't let ourselves be the sole testers of the system that would be stupid and really asking for trouble.  You do need some interpersonal skills in order to work with the users to obtain requirements.  In terms of having comments in your code I agree that they should be looked upon as a secondary but important measure with the first measure having it understandable with out them.</description><pubDate>Tue, 03 Jul 2007 07:09:00 GMT</pubDate><dc:creator>Gregory Williams</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;I think you can have gurus in many different ways. Some people here take the track that a guru programmer is a hardcore programmer who writes code while they sleep, and probably chugs on Mountain Dew all day long, haha. Of course the article's author takes a broader track and includes the ability to relate to other people in an effective manner. Guru is, of course, in the eye of the beholder. If a person excels in a quality you admire then they're a guru to you.&lt;/P&gt;&lt;P&gt;I personally look at programming as more of an art than a science. I work at a university and one CS student who was working here asked me how I know to make a piece of code into a class versus just leaving it as a bunch of functions. I really couldn't answer him because I didn't really know, I just knew. After thinking about his question some more I did begin to spot some tell-tale indications that code needed to be promoted to a class, but that I never objectively realized this makes me think programming is as much of an art than science. There are many ways of writing a program and some are just cleaner, nicer, and more harmonious than others.&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 07:00:00 GMT</pubDate><dc:creator>Timothy-313907</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;Nice article. In addition to its competence, I'm impressed with its ability to tease out a lot of first time posters.&lt;/P&gt;&lt;P&gt;I think one poster got it correct when he was talking about a good programmer being one who covers all eventualties. It parallels my take on programming (and implicitly programmers):&lt;/P&gt;&lt;P&gt;A bad program just works.&lt;/P&gt;&lt;P&gt;A good program fails correctly. &lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 06:47:00 GMT</pubDate><dc:creator>drnetwork</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;This is quite a good article for the fact that it opens up conversation and opinions.&lt;/P&gt;&lt;P&gt;I'm going to be a bit pedantic in my opinion by saying that you have to be careful of the terms that you use.  The only communication skill a programmer needs is the ability to communicate with a computer.  A programmer will not design a system, they will be given a design that they have to program.&lt;/P&gt;&lt;P&gt;The one thing that I do agree with 100% from this article is the description of those who talk about what they can do etc.  I think I have worked with at least 2 of these in every job I've had, it's a part of life that we can't get away from.  We just have to take comfort in the fact that it doesn't take long for these people to be exposed.  The same goes for those who refuse to learn new technology.  These people won't be in jobs for long and most likely don't have a very fulfilling life at all.  I feel sad for these people more than anything.&lt;/P&gt;&lt;P&gt;The description of a GURU according to this article is something that I don't think I have every seen and I don't think I ever want to see one.  Mr Gates certainly is not a GURU.  This is the man who predicted (something like) the internet would come to nothing and that we would never need any more than 256 or 512 MB of memory in a computer (these are not exact quotes).  I must be in a dream now where I am posting this to the internet on a laptop with 2GB of memory.  Mr Gates is a specialist (he certainly is very valuable to his company).  His speciality is knowing what purchases to make and he has the ability to very quickly exploit new technology.  I am not saying this is a bad thing, I think that he is good at what he does and that without him much of the technology we have today would either not exist or not be so widely used.  I don't think he robs people though.  This is a very careless accusation to make!&lt;/P&gt;&lt;P&gt;"When you read their programs, they already have comments and their code is easy enough to understand."&lt;/P&gt;&lt;P&gt;This is not enough to be correct.  It should be that their code is easy enough to understand and has the need for very little comments.  If code needs a lot of comments all over the place, the programmer feels the need to explain their work.  A good programmer should write self explanatory code.&lt;/P&gt;&lt;P&gt;Yes it is true that a good programmer should test their work etc. but they should NEVER be the last person to test.  Do authors proof read their own writings before it goes to print?  No, they do not and neither should a programmer.  Testing is a specialised function within a production line and for it to be performed to any level of acceptance needs someone with a different way of thinking than any programmer that I know.  I am not good at testing, but this does not make me any less of a "programmer".&lt;/P&gt;&lt;P&gt;I don't even claim to be a good programmer, I just claim to be good at what I do.  I don't know if technology and programming is in my blood, but I have been told by many people that it is.  I never even new what a PC was until I was 18, a keyboard was something that you could play music on.  By the time I was 19 I had learned enough through books to get my first job as a programmer.  10 years later and I am still learning and I have only been on 1 course, which my employer insisted I attend so I had to.  I can write (100% working) code when I am sleeping (this has been witnessed many times).  For these reasons, people say that it is in my blood.  As a legendary Scottish footballer once said "mibees Aye, mibees Naw".&lt;/P&gt;&lt;P&gt;If you're a bit confused with some of the terms in this answer, then in Scotland &lt;B&gt;NAW&lt;/B&gt; means No, &lt;B&gt;AYE&lt;/B&gt; means Yes, and &lt;B&gt;Mibees&lt;/B&gt; means Maybe. If you're still confused try this &lt;A href="http://www.dcs.napier.ac.uk/~bill/scottish_words.htm"&gt;link&lt;/A&gt;.&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 04:37:00 GMT</pubDate><dc:creator>Colin Anderson</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;Your criteria:&lt;/P&gt;&lt;P&gt;1."First the real gurus don't advertise their expertise."2."gurus ... try to make it easy for others to understand"3."And of course, the guru has kept up with technology"4."Finally...A good developer spends a lot of time talking to the users to understand what they need"&lt;/P&gt;&lt;P&gt;You're specifying the criteria for a good teacher, not a code guru. And 4 is totally left-field, a good programmer does not need to be a good analyst, they just need the support of a good analyst.&lt;/P&gt;&lt;P&gt;Of the two people I've met who I think of as gurus, they fit but one or two of these criteria (usually just keeping up with the tech).&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 03:50:00 GMT</pubDate><dc:creator>Confucius247</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>Very good article which motivates one towards learning new technologies and  implementing better coding.</description><pubDate>Tue, 03 Jul 2007 03:15:00 GMT</pubDate><dc:creator>Sunitha Palla</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>The one thing that separates the good from the bad is their ability to test their own work. A programmer who thinks about everything that they will need to test for covers all of the possible outcomes and sends out code that is cost effective.A programmer who focuses only on the primary goal does not cover all eventualities and turns out code that has holes in it. This is expensive. If code with flaws get out to the testers it is far more expensive to fix.Of course the latter can eventuate when management concentrates on cost instead of quality and of course this ends up being far less cost effective.</description><pubDate>Tue, 03 Jul 2007 02:47:00 GMT</pubDate><dc:creator>Kent Gorrell</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;The newbies were impressed by this post because it was written to impress newbs. This said little that hasn't been said (often) before...and by people who write a lot better than this. As for Gates, Gates is all about marketing. Microsoft does the very thing they decry so much...Push programmers to write for production, not quality. For proof, you need look no further than every single product they ever released. Gates loves to come off as a 'guru' himself, and maybe he is, but certainly not a tech guru. No, Gates strong point has ALWAYS been in marketing, certainly not in innovation. The only innovation M$ has EVER brought to market is that which they first purchased (or simply robbed) from someone else. But I digress.&lt;/P&gt;&lt;P&gt;A 'guru, from a programming perspective, doesn't, in fact, need ANY interpersonal communication skills...It's ridiculous to assert otherwise. If he has them, well that's just gravy. It makes him (or her) a LOT easier to get along with within a team work environment, but has NOTHING to do with his/her 'guru' status.&lt;/P&gt;&lt;P&gt;Gurus are NOT, although the label 'guru' would indicate otherwise, in ANY sense a teacher, or a mentor. They don't NEED to teach, because they are more than capable of DOING. If they CHOOSE to teach, again, that's just more gravy.&lt;/P&gt;&lt;P&gt;Gurus are the ones that not only KNOW five ways from Sunday how to accomplish a particular coding task, in multiple languages and on any platform, they ALSO know (and much more importantly) the OPTIMUM way that said task SHOULD be done.&lt;/P&gt;&lt;P&gt;They also are ALWAYS thinking 'outside the box'...In fact, they don't even acknowledge the box's existence for the most part.&lt;/P&gt;&lt;P&gt;The poster also mentioned how humble and unassuming this hypothetical guru is. In my experience (ESPECIALLY during my 4 years at Microsoft), that's simply not true. They are TOTALLY assuming and oftentimes downright prima donnas...and with good reason. They realize their worth to their employer. They know the savings in time and money their presence on the work force represents, and they expect management to recognize it as well....and to compensate them accordingly.&lt;/P&gt;&lt;P&gt;Merely 'good' programmers on the other hand, are a company's bread and butter. They ARE the ones that simply 'git 'er done'!...And Management loves them for that fact alone.&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 02:29:00 GMT</pubDate><dc:creator>Rudolph Davidge</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;Two proverbs here:&lt;/P&gt;&lt;P&gt;1) Anything worth doing is worth doing well.2) Beauty is in the eye of the beholder.&lt;/P&gt;&lt;P&gt;I think anyone who has ever written code, has tried to make it work good.But what is understandable and sufficient for those who write code merely to solve a problem, may be absolute horror to those who regard writing code as an art. It depends on your standards and point of view.&lt;/P&gt;&lt;P&gt;Whenever I need to write code, I like to name variables for what they are, for example if goal() set score = score +1. It makes the process more transparant for me. If professional programmers will never regard me as anything more than an amateur for that, so be it. &lt;/P&gt;&lt;P&gt;Opinions are like assholes: everybody has one...&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 01:51:00 GMT</pubDate><dc:creator>eye_speye</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>"And then there are developers who just know how to do sweet talk and pretend they know everything, in fact they do nothing right, you just do not know how they can stay in the business."Beware of these people when they're really good at it, because your boss(es) may never have any more insight in your products than what they can see when they use it. It's even possible those in charge know nothing of technology.So the sweet talkers may never be revealed. I've worked with people like this, and they seem very professional. Any time they make a mistake, they also make it sound like you in fact made the mistake by thinking they had done that in the first place. In fact, they make it sound like they were about to do what you suggested all along.And we end up doing their jobs for them, because we will get in trouble if they make the whole group fail.But I have also met people who are good programmers. They may not have a great sense of logic, but if you've got technology in your blood, you can do well with little.I have creativity and logic in mine, and this in itself has bred my sense of technology, even if I don't have the same natural ways with programming languages, linux console system handling, etc, as many people I know. But this line of buisness takes all sorts.People say I'm a good programmer, though I am utterly inexperienced so far. I hope to live up to it.</description><pubDate>Tue, 03 Jul 2007 01:50:00 GMT</pubDate><dc:creator>Marie-Sofie Karlsson</dc:creator></item><item><title>RE: What Makes a Good Programmer</title><link>http://www.sqlservercentral.com/Forums/Topic366081-309-1.aspx</link><description>&lt;P&gt;I am not a guru, hopefully I am a good programmer, but this article sure encourage me to keep on trying to work for good programming and a  satisfying execution of my job.&lt;/P&gt;</description><pubDate>Tue, 03 Jul 2007 01:22:00 GMT</pubDate><dc:creator>Alex Otten</dc:creator></item></channel></rss>