What makes a GOOD programmer?

Started by
39 comments, last by Dale 22 years, 5 months ago
Hi folks. We all know what it takes to be a programmer. A little knowledge, a language, a compiler and a PC. But what does it take to be a GOOD programmer? IE: - Excellent problem-solving? - Good ideas? - Patience? I''m just really curious on this as I''m deciding whether I really DO want to leave PC support for PC programming. Thanks in advance. Dale ----------------------------- Student - "How do I make my first game?" Lecturer - "Based on your marks from your last assessment?"
-----------------------------Empires! Visit online at http://www.daleszone.comProgramming for a funner world.
Advertisement
> But what does it take to be a GOOD programmer?

A very long time and lots of practice among other things... But it''s worth it if you wanted to ask that as well...

HTH,
Stuart.
quote:Original post by Dale
...what does it take to be a GOOD programmer?

Genius.

Face it, most programmers suck. They have bad habits, comment sloppily and even worse social skills. A good programmer is the guy who doesn''t do what doesn''t have to be done, does what needs to be done as efficiently and effectively as possible, ensures that other people can understand what he''s doing on a line-by-line (or section-by-section if the lines are self-explanatory) basis since others may need to use or maintain his code in the future, and can reduce all its technical complexity to a football analogy for management.

In short, you have to be me. Since there''s only one of me, you''re out of luck

(Everything except for the preceding paragraph is true though).


I wanna work for Microsoft!
In my view a good programmer is someone who denounces all highlevel languages and programs everything in Assembly and C, and who can actually make a big program that works properly this way. But as the above persons are probably almost non-existant(as opposed to people who *think* they are like that i think its one who uses good solid OOP principles, without exaggerating, and still has at least a decent understanding what goes on "under the hood".
And above all, such a programmer needs damn good discipline.
quote:Original post by Ziphnor
In my view a good programmer is someone who denounces all highlevel languages and programs everything in Assembly and C, and who can actually make a big program that works properly this way.

That is a REAL PROGRAMMER, not a good programmer
I agree with Oluseyi, except i wish to add one more criterion: they hava an attitude problem.
I''m no expert in this field but I tend to agree with Ziphnor. A "GOOD" programmer does everything in C(C++) and assembly!

Newbie to game programming?
visit

KaBooMgames
Great for Newbs, Masters welcome as well
------------------------------------KaBeeM Web
<><
quote:Original post by Ziphnor
...i think its one who uses good solid OOP principles, without exaggerating, and still has at least a decent understanding what goes on "under the hood".

So procedural programmers can''t be good?

Seriously, a good programmer analyzes the problem to obtain a robust solution (preferrably one that holds to a high degree of mathematical rigidity) and then implements it as elegantly and efficiently as possible with whichever tools/paradigms he/she is using.

What does it take to become a good programmer? Practice and time, and a willingness to learn.

quote:And above all, such a programmer needs damn good discipline.

With this I agree completely.



I wanna work for Microsoft!
Thanks for the replies guys.

Are there any "secondary" skills required outside of programming? I''ve heard some people say that a background study of physics and maths is beneficial (which I have at first-year uni level) and problem-solving skills (which I have a knack for, why I went into support originally. )

Also, one other question. How much and what parts of the programming cycle, is a programmer allowed to exercise independant decision-making? I assume there wouldn''t be too much in the design cycle, but when it comes down to HOW an outcome is reached it would be a lot of decision-making. Is this true?

Thanks
Dale


-----------------------------
Student - "How do I make my first game?"
Lecturer - "Based on your marks from your last assessment?"
-----------------------------Empires! Visit online at http://www.daleszone.comProgramming for a funner world.
I would have to disagree that you have to use C++ and/or Assembly in order to be a GOOD programmer. You can be a GOOD programmer and just program Visual Basic as long as you meet the points that Oluseyi set forward. And sometimes, the simple difference between a GOOD programmer and a BAD programmer can be the KISS principle and when it is applied. I must say that at certain times (especially when developing pretty straight-forward business applications) it makes MORE sense to develop within VB because of how easy it should be to maintain in the future and how easy it should be to implement.

Granted, my personal taste is C++ but that has come with experience. I learned on Visual Basic and as you move on in your programming life, you realize that there are things that are just easier to implement in C++ because of things like pointers ( if not impossible in Visual Basic ). Now, I realize that you can "cheat" your way around this and program a lot of stuff in VB but it comes to a point where these things are easier to maintain and just more practical to do in C++.

I think I would phrase it that over time, a GOOD programmer tends to prefer to use C++ and/or Assembly because at least then "the sky is the limit".

Now granted, I am still pretty young (21 years old), so this is just my opinion and those of you with more experience may very well disagree with me .
In my personal opinion a good programmer is:

  • One who is an all around intelligent person with a rather robust mathematical and scientific background.

  • One who has a great deal of discipline in programming techniques and methodologies.

  • One who is innovative, creative, and "thinks outside the box."

  • One who is experienced in programming

  • One who is willing to expand their horizons and educate themselves.

  • One who is extremely efficient and effective with their code design, implementation, and production of the final product.



To become a good programmer one must take the advice of this famous poem:

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.

Hope this helped Dale, good luck!

Edited by - Viscous-Flow on November 7, 2001 6:43:57 PM

This topic is closed to new replies.

Advertisement