"Mediocre programmer - A programmer who has a limited toolset. He knows the syntax of only the simplest commands, but he knows where to find the syntax for more complex commands. He doesn’t know how to write the most efficient code, but he knows how to rewrite and test the code for greater efficiency if he must. He runs into more roadblocks along his passage to success, but he views each as a challenge and is confident that he will find a path around each roadblock. He may take longer to get there, but he always reaches his goal. He doesn’t know how to create a DLL, but he knows he can if necessary. Like most programmers, he doesn’t particularly like documenting his work but does so anyway because he is a professional." Alan Norton (2010)
A definition which in their heart of hearts a lot of successful people would see themselves in.
The basic point being from the perspective of this blog is good problem-solving skills are central to being successful. Getting the basics right - understanding the requirements, good analysis and design, project management and perseverance can get an average/mediocre programmer through.
I really enjoyed this blog posting and there is a lot there professional and students alike. The posting includes the following: " Yes, I am a mediocre programmer, primarily because I never needed to be a great programmer." Alan Norton (2010)