What is the difference between excellent and mediocre software development?

in #development7 years ago

An excellent software development uses the best development processes and tools. All the best practices are considered during the software development. The codes involved in an excellent software are well written and properly commented. Excellent software development builds a software for the future.

pixabay_directory-1274229_1920_how_do_you_recognize_if_you_are_mediocre_small.jpg

While a mediocre software development uses a not too good development process and tool. It is development of low quality, mostly done in a hast maybe to just solve a pressing problem. software developed through mediocre processes don't last and are always buggy. Their maintenance is usually too high.

An excellent programmer either can create solutions for unknown problems or create solutions to very hard problems. They are often like the best chess players who just always make the right move. Good programmers are good at solving known problems and know/admit quickly when the problem is too hard for them to solve but they know how to find a solution (they are the ones who Google it and get the right solution for instance).

A mediocre 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. 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.

Excellent and Mediocre softwares can be developed by either a good programmer aw well as a mediocre programmer.

Even though that excellent developer is full of skills he can choose not to follow the best development practices for reasons best known to him. He may be in a hast to meet up with tight deadlines or may be doing a job for a client who he assume haven't paid well to deserve an excellent software.

In the same vain a mediocre programmer though limited in knowledge can still top up his game, do a good research and come up with an excellent software developed following the best practices.

jeangiraudoux1-2x.jpg

The question is, how do one actually know an excellent and a mediocre programmer since both of them could actually come up with an excellent software..
Drop your comments lets here what you have to say.

Sort:  

Congratulations @xclusivefx! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!