What is programming aptitude?

Every job has an aptitude. Programmers also have the aptitude, and unfortunately, many people have left the field because they don’t have the aptitude.

In this article, for those who aim to be programmers, I analyzed what programmer aptitude is, comparing those with and without programmer aptitude. It’s okay if you don’t have the aptitude right now! All you have to do is acquire the necessary aptitudes before becoming a programmer.

Table of contents

  1. Programmer’s Aptitude ①: Logical Thinking Ability
  2. Programmer’s Aptitude ②: Communication Ability
  3. Programmer aptitude 3: Technical curiosity
  4. summary

Programmer’s Aptitude ①: Logical Thinking Ability

A program is A calling B and passing it to C

Do you remember learning about functions in math class at school? A function is something that you pass a value to and get a result from.

Programs are like functions in mathematics. Programs are divided for each function and process, and they are called as needed, passed values ​​to obtain results, and then passed to other programs.
As the title suggests, a program is something that A calls B and passes the results from B to C.

build logic in one’s head

Programmers draw the flow of logic in their minds and put it into programs. Conversely, when programmers see programs written by others, they follow the process fluidly.

I understand that it is said that “programmers need to think logically”.

What happens if you can’t think logically?

If you can’t think logically, you can’t follow the flow of the program in your head. You start reading a program from the beginning as if you were reading a sentence, and as soon as you reach the logic of complex movements, you can’t follow the flow and get lost.

If you look at the program in parts, it certainly flows from top to bottom. But everywhere I branch the flow and use functions to get values. If your logical thinking is weak, you can’t follow these movements = you can’t imagine how the program works.

I can’t verbalize what I don’t understand

“I don’t know what I don’t know, I don’t know from there (tears)” This kind of question is often asked.

It’s the same with programming, and this question is often asked by people who are just starting to learn. Certainly, it is not unreasonable to do so, but from the side of the follower, there will be nothing more to do when this word comes out. If you can think logically, you can verbalize what you don’t understand, saying, “I want to do this in the first place, but I don’t know this part.”

Programmer’s Aptitude ②: Communication Skills

Programmers need it too

I have the image of a programmer who keeps hitting the keys single-mindedly and is lonely, but communication skills are necessary.
That should be true, even a programmer is a craftsman and a member of society. Communication skills are very important aptitudes as long as you are involved with various people in your work.

Necessary on both the side to give and receive instructions

Let’s take a closer look at the need for communication skills.

The first is the issue of giving instructions.
Once you have some experience as a programmer, you start looking after younger or less skilled programmers. In my work, I often give instructions to others and evaluate programs. As a person who gives instructions, it is necessary to have communication skills so that the person receiving instructions does not make the wrong move and works efficiently.

Next, is the side receiving instructions.
To receive instructions and move on to the next action, it is necessary to have communication skills to accurately understand the instructions. It is also necessary to verbalize what you do not understand and to give instructions.

What happens if you can’t communicate?

“You always have no idea what he’s saying.” There’s a leader who’s been told that by young people. I am unable to give clear and concise instructions.
Some leaders have too much pressure. For some reason, they look down on you, ignore instructions, and get angry when young people make a mistake… It’s hard to work under a leader who doesn’t have communication skills.

On the other hand, if the person receiving the instruction does not have communication skills, the people around them will not know what the person is thinking, and they will not even know if they have understood it. It becomes difficult to follow around.

This is not limited to programmers’ workplaces, but communication skills are very important for everyone to work comfortably and efficiently.

Programmer’s aptitude ③Technical curiosity

Any technology will disappear eventually

Do you know that Struts(Ver1.x), Ceasar , and PHP5 have something in common?

The correct answer is languages ​​and frameworks that once flourished but are no longer in development. Any technology will disappear eventually. Conversely, even languages ​​and frameworks that are currently in the minority may suddenly come into the spotlight in the future. The technology we have today won’t last forever. As a programmer’s aptitude, it is very important to acquire various skills or be interested in them, so that they may disappear at any time.

Unfortunately for those who lacked technical curiosity

“I can’t do it because I’ve never done it before.” It’s like saying, “I’m not going to do more than I can, I don’t want to.” This is quite disappointing as a programmer and not suitable for the fast-paced world of IT technology.

The fate of those who cling to a specific technology is…

As I mentioned earlier, even if it used to be the standard technology in the industry, it will eventually decline or at worst disappear. It doesn’t just disappear completely. Systems built using that technology will survive for some time. Gradually even those systems will finish their role and will be rebuilt with different technology. Then, the range of projects that can be selected by programmers who can only do so becomes narrower.

As time goes on, you get older. This time, not only technology but also age will take a follow-up. When you’re old and inexperienced, it becomes difficult to outperform young engineers who can flexibly work on various technologies. To prevent the worst, I would like to work on various technologies with curiosity.

summary

In this article, I explained the following three points about the aptitude of programmers.
1. Logical thinking ability
2. Communication skills3
. technical curiosity

It would be great if this could serve as an opportunity for those who want to become programmers and those who are involved in programmer-related jobs such as recruiting and training for IT companies to think about “programmer aptitude.”

Leave a Comment