Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12345»»»

What Makes a Good Programmer Expand / Collapse
Author
Message
Posted Tuesday, July 03, 2007 6:47 AM
SSC-Addicted

SSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-AddictedSSC-Addicted

Group: General Forum Members
Last Login: Wednesday, November 17, 2010 3:38 AM
Points: 445, 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.




Post #378624
Posted Tuesday, July 03, 2007 7:00 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, October 29, 2013 5:29 AM
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.

Post #378627
Posted Tuesday, July 03, 2007 7:09 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Wednesday, May 16, 2012 7:17 AM
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.
Post #378631
Posted Tuesday, July 03, 2007 7:15 AM


UDP Broadcaster

UDP BroadcasterUDP BroadcasterUDP BroadcasterUDP BroadcasterUDP BroadcasterUDP BroadcasterUDP BroadcasterUDP Broadcaster

Group: General Forum Members
Last Login: Yesterday @ 6:24 AM
Points: 1,495, Visits: 2,632

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.

 

Post #378633
Posted Tuesday, July 03, 2007 7:21 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, May 31, 2010 11:27 AM
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.
Post #378634
Posted Tuesday, July 03, 2007 7:22 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Sunday, December 20, 2009 12:54 PM
Points: 5, Visits: 8

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.

Post #378635
Posted Tuesday, July 03, 2007 7:24 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Friday, September 21, 2007 3:23 PM
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.
Post #378637
Posted Tuesday, July 03, 2007 7:30 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Monday, May 31, 2010 11:27 AM
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.
Post #378642
Posted Tuesday, July 03, 2007 8:01 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Wednesday, May 16, 2012 7:17 AM
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.
Post #378657
Posted Tuesday, July 03, 2007 8:41 AM
SSC Journeyman

SSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC JourneymanSSC Journeyman

Group: General Forum Members
Last Login: Friday, August 31, 2007 8:22 AM
Points: 92, 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.
Post #378673
« Prev Topic | Next Topic »

Add to briefcase ««12345»»»

Permissions Expand / Collapse