
The Average IQ of a Programmer🤓
According to a study by the Statistic Brain Research Institute comparing the average IQ of different college majors, the average IQ for Computer & Information science is 124, which is higher than the average IQ of the population of 100 (Note that computer science is not just programming, and certainly not the same thing, but the closest thing to programming).
See following Table for reference:
Place | Major | Average IQ |
1 | Physics & Astronomy | 133 |
2 | Mathematical Sciences | 130 |
3 | Philosophy | 129 |
4 | Materials Engineering | 129 |
5 | Economics | 128 |
6 | Chemical Engineering | 128 |
7 | Other Engineering | 128 |
8 | Mechanical Engineering | 126 |
9 | Engineering | 126 |
10 | Electrical Engineering | 126 |
11 | Physical Sciences | 125 |
12 | Banking & Finance | 125 |
13 | Other Humanities & Art | 124 |
14 | Chemistry | 124 |
15 | Computer & Information Science | 124 |
16 | Civil Engineering | 124 |
17 | Industrial Engineering | 123 |
18 | Religion & Theory | 121 |
19 | Earth, Atmos & Mar. Science | 121 |
20 | Biological Sciences | 121 |
21 | English Language & Literature | 120 |
22 | Humanities & Art | 120 |
23 | Arts-History, Theory, Critical Theory | 120 |
24 | Political Science | 119 |
25 | Foreign Languages & Literature | 119 |
How difficult is it for the average Person to become a Programmer?
Programming is very simple on its own. If normal school work isn't beyond your ability, you might be a good programmer. A higher level of intelligence will help you to become a better programmer. But "brain skills" such as analytical / logical thinking are much more vital than basic intelligence, as is the skill to "rationalize thought". Each program is a story about how something happens. How a sale takes place, how a document is generated, how something responds to your commands, all stories are reduced to individual statements and commands to make the stupidest device you've ever invented do exactly what you want. If you're good at envisioning what people are telling you as simple Steps, you're probably going to be a good programmer.
What do you need to have as a programmer?
In my experience, the most valuable characteristics of a programmer are:
1. Curiosity is the need to know anything about this. It is curiosity that has made great human developments. When curiosity strikes humans, this immense need to know more is growing. Due to great curiosity, many great Programmers have been able to invent cool stuff. Curiosity is driving people to grow more.
2. Persistence is very important because you're going to fail a lot. Failure is a kind of feedback. Personal failure could be a sign that you are simply not talented or qualified enough to achieve your goal. In such a situation, it could be a feedback mechanism to get up and try harder next time. It could also be a sign that you need to change paths completely.
3. Desire to learn📕. Evolutionary, if you didn't have that desire, you'd die (or worse, get fired😉). If we didn't learn that some food was poisonous or that some animals had an aggressive temperament, we'd still make the same mistakes. Learning also enables humanity to thrive. If we didn't learn how to do some things, we wouldn't have the procedures and architecture that make our lives comfortable. Every primate species is likely to learn in some form, and this makes it easier for them to survive. It's a very fun thing to do, too.
4. Abstract thinking🤔 is important, because almost everything you're dealing with is abstract. You need to understand complex abstract concepts, you need to create abstract concepts, and you need to imagine abstract concepts effortlessly. Some people, for example, are skilled at making concrete math equations, but they are confused by complex equations unless they substitute actual data for variables. Some people manipulate abstract symbols as easily as concrete values, and I think this helps with coding.
Do you even need to have a high IQ to be a SUCCESSFUL Programmer at a big Company?
1. Step: Getting In
I think your IQ is more about finding a solution to something you don't know yet, or learning faster. In an interview with a top firm like Google, Facebook, etc. , you 're not going to need that, you just need to remember how you've solved a similar problem.
As time goes by, you 're starting to face similar problems, like "I've already seen something like this, maybe making minor changes, and it's going to be right". It's supposed to be the same with you during an interview. You 're not going to face a brain teaser, all these problems can be reduced to a well-known solution, not even an efficient one. If you've solved a lot of problems with different topics, and you've really understood each solution, you'll have an easier time applying to these companies.
2. Step: Staying In
They just need a good worker bee. Most of them have a strict interviewing process to ensure that they hire capable people to fulfill their roles, and there are brilliant minds in all of these companies in the management, lead and architect roles where creativity and design take place. Promoting within the system requires a mix of strong aptitude, work ethic and a good deal of maneuvering, playing the game of office politics. No matter how stale the work might be, there's value in having a lot of technical experience on the resume and usually a lot of benefits and paying for those who choose to make a career.
Do you have to be good at Math in order to be a good programmer?
It depends.
1. Game development🎮
Game developers who have to work on game engines and physics rely heavily on mathematical principles. In any shooter, a virtual bullet must follow some form of natural law. Even though it can be simplified in a game, it still has to follow principles. It requires acceleration, direction, velocity and so on. But if you're working with a Game Engine like Unity or Unreal, where most of the Laws are already programmed, it's a little easier. But even with an Engine like Unity, I already had a situation where I was trying to calculate the distance between the Enemy and the Player, and I first had to remember how the Pythagorean theorem works🤓.
Having said that, math is just one element in the development of a game. Non-mathematical concepts like actual game logic, menus, fighting systems and so on are still involved.
2. Payment processing💳
If you're already a web developer, you probably already had to calculate Coupon rebates, tax rates, sub-totals and totals before. Coupons may seem trivial when you're just using them, but they can grow in complexity pretty quickly when programming their logic.
Mini-Conclusion
So, do you need to be good at math to be a developer? Well, I think it's going to help you more than hurt. It'll give you more tools to expand your code arsenal. Something that you thought impossible just last week suddenly becomes feasible with just a few lines of code. But this is generally correct with any kind of skill. Become better in photography, in art, in business. All these things are going to help you out, too. Don't just pick a subject that you don't like, and use it as an excuse not to pursue something that you might eventually wind up enjoying.
Having said that, don't go to your local college and take math classes to get ready to be a coder.
Conclusion
Programmers are likely to have a higher IQ on average. But does it matter to you? Not really! Programming is like learning a new language. 📖 With enough time, you're going to get the hang of it and the journey is going to be fun. But just as when you're trying to learn a new language, you need to be really interested and persistent while learning.