Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


What Makes a Good Programmer


What Makes a Good Programmer

Author
Message
drnetwork
drnetwork
SSC-Addicted
SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)SSC-Addicted (449 reputation)

Group: General Forum Members
Points: 449 Visits: 82

Nice article. In addition to its competence, I'm impressed with its ability to tease out a lot of first time posters.

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):

A bad program just works.

A good program fails correctly.





Timothy-313907
Timothy-313907
SSC-Enthusiastic
SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)SSC-Enthusiastic (104 reputation)

Group: General Forum Members
Points: 104 Visits: 721

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.

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.


Gregory Williams
Gregory Williams
SSC-Enthusiastic
SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)

Group: General Forum Members
Points: 117 Visits: 108
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.
WILLIAM MITCHELL
WILLIAM MITCHELL
SSCommitted
SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)

Group: General Forum Members
Points: 1656 Visits: 3022

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.

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 & 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.


Colin Anderson
Colin Anderson
Forum Newbie
Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)

Group: General Forum Members
Points: 3 Visits: 5
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.
Rick Sline
Rick Sline
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 12

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 & supervised a number of developers over the years.

There are some people who just shouldn't be professional programmers. I know I shouldn't be a professional athlete, singer, or dancer.

I've had the pleasure of working with some truly outstanding developers - no one famous, yet top notch.

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 & "soul" to provide the best solution for the client.


Kent Gorrell
Kent Gorrell
Forum Newbie
Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)Forum Newbie (5 reputation)

Group: General Forum Members
Points: 5 Visits: 1
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.
Colin Anderson
Colin Anderson
Forum Newbie
Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)Forum Newbie (3 reputation)

Group: General Forum Members
Points: 3 Visits: 5
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.
Gregory Williams
Gregory Williams
SSC-Enthusiastic
SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)SSC-Enthusiastic (117 reputation)

Group: General Forum Members
Points: 117 Visits: 108
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.
Carlos Urbina
Carlos Urbina
SSC Journeyman
SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)SSC Journeyman (94 reputation)

Group: General Forum Members
Points: 94 Visits: 1
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.
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search