Programmers need to think like hackers! 
Tags: programming, hackers
Published: 2020-10-01 18:11:47

---
title:Programmers need to think like hackers! 
published: true
description: 
tags: programming, hackers 
//cover_image: https://i.imgur.com/o6H47bz.jpeg
---
Programming is a complex task that includes five steps: problem identification, solution design, coding, testing and reporting. All of these steps are necessary to analyze security standards. Nowadays, attacks on IT systems and corporate infrastructures are a daily occurrence. Experts believe that the attacks will continue to increase due to the increased use of technology. The use of new technologies, the internet, computers, etc. also brings some security issues. Programmers are required to create not only functional applications but also secure ones.

Most consumers are aware of the need for secure applications. Therefore, programmers must make security a priority.

Hacking attacks cause major problems for victims (theft of personal data, installation of malware, etc.). So what is the solution? Developers need to think like malicious hackers. If this is done, cyberattacks could be greatly reduced.

Most organizations now recognize the importance of an effective security policy. They are also trying to find staff who are well-trained in cybersecurity. To be more productive, developers need to start behaving and thinking like hackers. But their goal must be security (ethical hacking).

Why should developers get into the logic of hackers? What characteristics should they adopt?

1. **Great durability**

Hackers are extremely persistent. They try hard to achieve what they want. Also, most are self-taught. They are very determined and do what they can to overcome any obstacle in front of them. Cybercriminals do not need "formal" education, degrees and theoretical knowledge. Most of the time they are self-taught and do not rely on the advice of others.

Programmers need to adopt these characteristics of perseverance, determination and knowledge that they have acquired on their own to create secure programs. Many times, because they are trained and qualified professionals, they do not consider simple solutions. This is bad. Also, many programmers rely on other team members and do not take initiatives. Therefore, they do not experiment and do not evolve.

2. **Learning from experience**

According to research, the most effective way to learn something is to do it in practice (experience). People gain 5% of their knowledge from lectures, 10% from reading books and 75% from experience. Cybercriminals always learn from experience and are confident in themselves. Developers need to follow suit and be willing to experiment and make efforts. The knowledge they have acquired through their studies is not enough.

3. **Willingness to exceed the limits**

Of course, "exceeding the limits" does not mean exceeding the ethical limits. It has to do with taking initiatives, experimenting and overcoming obstacles. The difference between hackers and programmers is that the former seek new vulnerabilities to exploit them, while programmers must identify them to fix them. Programmers should always learn and discover new ways to combat malicious situations.

4. **Enjoy your work**

When people treat a job as an obligation, they may not put in the maximum effort. A programmer who has to get a job done within a certain time frame is under pressure and may not be very innovative. Stress can make someone productive, but less effective. Programmers should always enjoy what they do and have fun to be as efficient as possible. 

Cybercriminals do their job without having deadlines and pressure in mind. Their only goal is success. They are more oriented towards their goal than a deadline. If programmers see things the same way, they are likely to perform better.

Cybercriminals as role models?

Cybercriminals are certainly not considered role models. However, they have some positive features that programmers could adopt to be more efficient and useful in creating secure applications.