Comments on: The Myth of the Super Programmer https://simpleprogrammer.com/the-myth-of-the-super-programmer/ Sun, 28 Jan 2018 19:28:29 +0000 hourly 1 https://wordpress.org/?v=7.0 By: Don't Overwhelm Yourself Trying to Learn Too Much - Simple Programmer https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-907 Thu, 11 Jan 2018 21:04:58 +0000 https://simpleprogrammer.com/?p=1580#comment-907 […] Sometimes it can seem like there are super-programmers out there who seem to know everything and can… but it is only an illusion. Those super-programmers are usually programmers that have one or two areas of expertise and a large amount of general knowledge that they apply to a variety of different domains. […]

]]>
By: 想学会所有东西的想法会压垮你 | 闻森林的博客 https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-906 Mon, 18 Jul 2016 10:36:19 +0000 https://simpleprogrammer.com/?p=1580#comment-906 […] Sometimes it can seem like there are super-programmers out there who seem to know everything and can… but it is only an illusion. Those super-programmers are usually programmers that have one or two areas of expertise and a large amount of general knowledge that they apply to a variety of different domains. […]

]]>
By: Robert McBride https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-905 Thu, 27 Aug 2015 17:48:00 +0000 https://simpleprogrammer.com/?p=1580#comment-905 Great post. I see a lot of long comments, but not a single one that points out a problem that requires a super programmer, so I’m inclined to believe you’re right.

]]>
By: imran https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-904 Thu, 09 Apr 2015 12:29:00 +0000 https://simpleprogrammer.com/?p=1580#comment-904 Ooo man, you stumble me. The difference between Super programmer and simple programmer. There are 2 points.
1. Knowledge bank of specific language/plate form
2. Mathematical attitude, good observer, problem solving skills

1. Good, solid knowledge of programming language is one pillar of a super programmer. The knowledge bank of language, a person have, dictates how he/she will handle the problem. For example, If I am working on graphics in PHP language, It depends on my level of knowledge of its GD library or other graphic related functions of PHP. If I have strong hand in it, I will solve my problem more quickly and efficiently than a person who do not have know how.
Now put the example of super programmer who write difficult algorithms that control caches on hard drives and that super programmer do not know how to write RESTful web service in cakePHP (a PHP framework) and he never did that before. Now assign him task to write RESTful web service in cakePHP along with a simple application developer who did that before thrice. You will see application developer will do that more quickly. Your super programmer will lose the contest.
Now give application develop the books of hard level / network programming and give him adequate time to learn. After his/her learning cycle, you will see the application developer will start to do such stuff. Does he become super programmer huh :).

2. Another important aspect is the person mathematical/programming attitude. Programmer with good maths will write good equations in complex situation. A person will poor mathematical skills will also do that, but with the cost of more time and less efficiency. A super programer will be good observer. For example I assign a buggy code to 2 different programmers. 1 has good observation and analytical skills while the other one just have a bird eye view on code. The person with good observation will fix the issue quickly whereas other one will also do the job but take more time. Same goes for problem solving skills.
Take the example of doctor. A good doctor will diagnose the chronic disease more quickly in patient, because he has adequate knowledge and strong senses to find the culprit.
I want to give another example to be more clearer my point of view. Lets assume, I have a video game program of space ships (with no helping comments in code). I deliberately change the area of code where space ships fires and ,in a way, that fire’s angle is changed. Now space ships fire in an incline angle instead of firing straight. Now I gave this program to 2 programmers who both have knowledge of that language and have same weight of experience. But one is strong observer and other has weak observation. The programmer with strong observation will find the area of code, that is, responsible for firing more quickly. Then he will find the section of code that is responsible for firing angle. and then he set the right angle in that. The person with poor ability will also do that, but he will be second in this contest.

So I conclude the 2 points above make a programer super/simple. The task of writing algorithms that control caches on hard drives, writing google search indexes, network programming, reading/writing sockets, business application development and website development has nothing to do with super / simple programmer. These are simple nature of projects.

]]>
By: Wolf https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-903 Fri, 20 Mar 2015 16:34:00 +0000 https://simpleprogrammer.com/?p=1580#comment-903 Sorry to say, but maybe you missed the point?

Your article is great to distinguish “normal” programmers, but talking about “Super Programmer” is not to focus on hard (looking) problems, it’s about complexity.

You can only reason about something that fits in your head. And these “special” and rare once can simply handle more and more complex things than other people. Sometimes up to an unbelievable grade. They can play with it in real time, chance or extent things, go back and forth, transform systems, and so on, until they “see” the solution or something totally unexpected new way of doing stuff. At that point they write down the code in one rush.

“Normal” people have to break down the complexity, but they are not able to reason on the hole system at once. Yes, you can write down the hole system, which we all do, but the problem remains.

Hope you get my point.

]]>
By: Andrzej Rehmann https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-902 Tue, 17 Mar 2015 21:16:00 +0000 https://simpleprogrammer.com/?p=1580#comment-902 Making complex things simpler is hard 😉

]]>
By: James Murphy https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-901 Tue, 24 Feb 2015 20:11:00 +0000 https://simpleprogrammer.com/?p=1580#comment-901 I love this quote by the famous HoarennThere are two ways of constructing a software design: One way is to make it sonsimple that there are obviously no deficiencies and the other way is to make itnso complicated that there are no obvious deficiencies.nn u2014 C.A.R. Hoare, The 1980 ACM Turing Award LecturennnFor me a Super Programmer is a programmer that can distill even the most complex problem into a simple to understand solution. If they can’t do that then they can’t be deemed to be super programmers. Many of the great computer scientists of today got to be great by building up their solutions to complex problems over time. Many programmers I’ve seen and met all have their weaknesses – some lack discipline, others lack perseverence and others are so super confident in their own abilities that they claim something must be the way but are actually oft-times wrong.nnnMany excellent programmers I’ve noticed opt for over-design, over-use of patterns and a tendency to remove duplication regardless of clarity. Sometimes duplication is OK. Over anything else common sense coding and coding for the lowest common denominator (someone who doesn’t know the codebase) should be the order of the day.nnnnA real Super Programmer is willing to admit when they are wrong in the face of criticism and learn from it. Willingly eager to help those less fortunate than themselves. Those are the true heroes of Software Development.

]]>
By: jsonmez https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-900 Sun, 22 Feb 2015 23:20:00 +0000 https://simpleprogrammer.com/?p=1580#comment-900 In reply to Macchendra.

Hah. Nice. You are right though. We are spending so much time rebuilding and rebuilding the same thing.

]]>
By: Macchendra https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-899 Sat, 21 Feb 2015 18:14:00 +0000 https://simpleprogrammer.com/?p=1580#comment-899 Most super programmers get rich and retire. But there is extreme variation in abilities. Here is why: You can create abstractions of difficult problems and make them simple. This is tool building. For example, Microsoft does this for a lot of people with frameworks like MFC, ATL, ASP.NET, their implementation of MVC, Entity Framework etc. But the best tool is the one a programmer builds for themselves. There will come superprogrammers who build tools that will destroy the job market for applications developers, virtual walmarts of code. Most codebases that I have seen, collapse under the weight of their own complexity, and they are always solving the same problems again and again with business logic that is very disorganized. The general problem, when solved, will be infinitely more maintainable. One of these days, that man in the xkcd cartoon is going to finish his condiment tool, then all of the salt passers will be out of a job.

]]>
By: Ronnie Mukherjee https://simpleprogrammer.com/the-myth-of-the-super-programmer/#comment-898 Fri, 13 Jun 2014 11:48:00 +0000 https://simpleprogrammer.com/?p=1580#comment-898 The best programmers are those with enough experience to intuitively choose the best solution for a given problem. I agree that mathematical complexity is generally not beyond the programmer, its just understanding of the domain (both business and technical), ability to think creatively, and the ability to follow a methodical and disciplined approach.

]]>