Some of reply from Experts, do advise your thoughts
In addition to what has already been told..
A good programmer understands the nitty-gritty of a langauge as well as operating environment. He knows all the theoratical aspects but has prudence not to apply many of them depending on the situations.
A good programmer must have high level view of what is being achieved by the code he/she is writing and where the code he/she is writing is going to fit in on a larger scale.
He might have several ways to tackle a problem at hand but he, depending on his knowledge and experience, must be able to chose the best among those.
He has to be addicted to something.. coffee, tea, smoke etc OR might be half insane (social recluse).. If he is not, chances are high that he might be knowing many things but would have applied hardly 10% of what he knows.. 🙂
A lot has been said and I agree. But… there are a lot of “good programmers” in India and China (and in several other similar countries) and if they are “good programmers” for $5 per hour, that is the way things are. I still do some programming, and I do not receive $5 per hour…
One thing to add is that there there is no real use for a “good programmer” without a “good analyst”, and a “good project leader” and a “good end user” etc etc etc, meaning without a proper team, individual effort is useless.
Specific to Oracle Apps, a good programmer will always look for existing APIs to do the work – and he/she must be conversant to the ways to use them and always check the outcome of the APIs action.
He also needs to understand the functionality the program is intended to add, and do so critically, since the design documents are not always perfect ( to say the least ).
have Willingness to reach the goal, whatever it is, and all the other guys involved (Business Analists, Key users, PM and so on ) as well, all of them need to have the same willingness.
Even if you don´t have background enough if you have willingness you reach whatever is needed
A good programmer will also question the need of every modification. In Oracle’s e-business suite, something I see all the time are users asking for functionality that already exists within the application. Either they aren’t using it or they don’t understand how to make it work. Thankfully, I have awesome users!
The best programs are the ones you don’t have to create or pay to maintain.