What makes a good programmer?

March 2, 2009 at 5:15 pm | Posted in Uncategorized | 6 Comments
Tags: , , , , , ,

Hello,

What do you think makes a good developer? Here are a few points that I think make a good developer

1) The developer must be Passionate. If the developer is really bad at everything else but is completely passionate, that is enough for me! It is amazing when you see the work difference in someone who really loves what they are doing and someone who just likes what they are doing. This stretches to so many different aspects of development, extra reading, better direction, better “bigger picture” view of everything that is going on.

2) Know their technology. This may seem like a fairly simple one, but you would be surprised with the amount of people that send of the impression that they know what they are doing and know the best way to do things, but really don’t.

3) Can admit when they don’t know something. I have worked with so many developers that just send of the impression that they know what they are doing and would rather die then admit a failure. It happens! don’t worry! when working on a project with a group of people it is a thousand times better if the person admits they are unsure so it can be fixed rather then having a developer guessing and pretending until the worst comes to very worse and the time runs out and nothing has been done.

4) Can take criticism. Some developers rather then learning from an experience like to hammer home exactly what they feel is right and why they feel it was right. Sometimes you are not always right.

5) Step back from an argument. Sometimes it is good to get things out in the open, but others times it’s better to just let some things rest. Think about it from the other persons perspective, its 3pm, they are tired, they are a little stressed for what ever reason and they will just snap and make poor judgments. It may be time to cool it and just ride this one out.

6) Do what you were supposed to be doing, not what you think you should be doing. This one goes a very long way. More times then ever I have seen very little work get done, because they decided to do something else. Stick to what you should be doing and it will save one big amount of hassle. Some other developer may be waiting on what you are doing, to you it may be something small that can wait, to them its the last piece in their puzzle.

That’s it for now! What do you think makes a good programmer?

Happy St Patrick’s Day!

http://www.stpatricksday2011.com

6 Comments »

RSS feed for comments on this post. TrackBack URI

  1. In summary:
    1) The developer must be Passionate.
    2) Know their technology.
    3) Can admit when they don’t know something.
    4) Can take criticism.
    5) Step back from an argument.
    6) Do what you were supposed to be doing, not what you think you should be doing.

    Nice specificity to this list- one doesn’t have to think hard to apply the injunctions to what one is doing right now.

    I’d cut it slightly differently;

    1) A developer must intend to delight their customers, users and co-workers. Tools are made to be used, art is made to communicate, engineering is intended to produce results. Its not about self actualization for the developer, its about satisfying a need, providing a service, dependably providing the same result for the same input(s).

    2) Engineering is a human activity. Become a master at applying what you know, but be prepared to need to know new things, from small to large.

    2.1) A cynical corollary: viable products are ones that the users will use in spite of defects, deficiencies and irritation. They command high prices and great user interest. Something with completely defined inputs, completely defined outputs and an optimum path between them (no bug or features lists outstanding0 is either trivial or obsolete

    2.2) Less cynical corollary: You’ll seldom know in advance when its time to learn something new.

    3) Co-operate with peers, customers, managers and direct reports. Make one thing work, and you can ask two questions: is it done the best way? (ask you co-workers) and is this what the users and customers really want? (ask them). Anyone who can answer both those questions without input from others is a very, very, rare person, and/or has misplaced confidence in themselves.

    4) If you can’t get input from others, you’re heading for big trouble. If you won’t show anyone your code, or they can’t follow it, its probably not right. If you can’t show your customer at least a partially functional system or a functional prototype, or they can’t use it, its probably not right.

    4.1) Sad, sad, corollary: Dykstra once observed that premature optimization was the root of all evil. The original FORTRAN compilers tried very hard to make the smallest, tightest, machine code from whatever source they were given- going so far as to optimize variable size by expected range of values (- Monte Carlo simulations- trial runs with random inputs, were done during compile time…) Of course, this took a long time, but it was best because it made code fastest, right?
    The second generation of FORTRAN compilers were optimized for their own runtime, not that of the output, and for clarity of error messages. The typical program was NOT put into production where it was compute bound for huge periods of time… but code development was hugely assisted by quick compile times and clear error reporting, because most programs were compiled over and over when they were incomplete or incorrect, and only a small number of times when expected to be working.

    Bill

  2. jux truly awesome points

  3. […] What makes a good programmer? « The Rookie Coder […]

  4. Hello!
    Very Interesting post! Thank you for such interesting resource!
    PS: Sorry for my bad english, I’v just started to learn this language 😉
    See you!
    Your, Raiul Baztepo

  5. I enjoy this site, it is worth me coming back


Leave a comment

Create a free website or blog at WordPress.com.
Entries and comments feeds.