Dinesh, an aspiring student and future computer science graduate asked me a very simple question, “How to become a hacker?”. The question gripped me for a while until I decided to give it my full attention.
The question is generally asked by beginners with no or minimal knowledge of computers.
If you are looking to become an ethical hacker. Check out the small guide on How to become an ethical hacker 2015
How to Become A Hacker 2015
Becoming a hacker is not an easy task. It requires resilience, attitude, and practice. And, no one can become a hacker in a span of six months or a year — it takes more time to master the art of hacking. You can improve, but becoming an expert hacker takes at least 10,000 hours of practice.
Answering the question, “Am I part of the Hacking Cult”? is somewhat similar to “Am I a hacker?”.
If you can answer the following questions with affirmation, then you are on the right path of becoming a hacker or probably already a hacker.
- Can you read code like any other natural language, such as English or your mother tongue?
- Hackers are all about contributing and collaboration, do you really understand the values of the community surrounding hacking?
- Ask whether you are going to fill in the gap in the community with your skills?
- Are you recognized by people other than your friends, who call you and recognize you as a hacker?
If the answer to all of the above questions(four) is Yes, you are already made it to the end. A well-established hacker understands the needs of the community and offers his service to make the world a better place. (Yes, just like a superhero. Hackers are no less than superheroes of the modern world. )
0. Learn Basics of Computer
“Don’t try to run before you learn how to walk.”
The biggest mistake newbie hackers or wannabe hackers make is to try complex things without understanding the core of the subject.
Without understanding the basics of the computer. How its works? Why the computers work on the binary? etc.
To check your basic knowledge of computers, you can try to answer the following questions. The questions are randomly picked and If you are comfortable answering the following questions, you are already beyond the basic level.
- How computers stores data? What is the significance of 0’s and 1’s?
- How the processors works? What are the different processors architectures used in current and old generation computers?
- Can the hardware be hacked?
And many other questions that test your basic understanding of the computer. There is no limit on how to gauge your basic knowledge.
For beginners, it is always a good idea to learn about the basics before jumping on to complex concepts in Computer Science. Without clear understanding, the path to becoming a hacker can become tough.
1. Understand the attitude
Hacker’s Attitude is different. They see the world differently and reading the Hacker Manifesto can give you an idea on how the mind of a hacker works. If you want to become a hacker, you need to understand the attitude of the hacker.
The urge to hack any system or to see the world differently is what constitutes the hackers. Hackers are also great problem solvers and can solve a simple problem from different outlooks.
There is no universal formula on how the hacker’s mind works. But, it does constitute of fearlessness for the authority, rules, regulations, and protocols. With fear, it can be hard to find your true talent, so the first step is to let go of the fear for once and all.
If you are following me correctly, I am not selling you hacker’s mind or the ideology to become a hacker. In strict terms, a hacker is a person who doesn’t see the world like normal people do. They break things and love to use their creativity in problem-solving.
There can be many of us, who think that creativity only lies in arts and other related subjects, such as writing. But, that’s not true. Real hackers are insanely creative people, who can utilize their hacking and creative skill to bring the necessary change in the world.
2. Learn Dedication and Perseverance
Dedication is your number one path to a build yourself as a hacker. There are many people, who inspire to become a hacker, but they are not dedicated to the task at hand. They wonder and waste time and eventually doesn’t reach anywhere.
10 mistakes that beginner programmers make discusses the mistakes a beginner programmer makes beyond not being dedicated or showing perseverance.
Practice is one of the keys to mature into a world class hacker. Practice is the universally accepted token for skill development. It doesn’t matter where you live, what you know and what you are aiming for. At the end, practice can change our skills drastically.
According to the Daniel Coyle in his book, Talent Code, any skill can be summed up in a temptingly concise equation,
Deep practice x 10,0000 hours = world-class skill.
Deep practice in the above equation refers to the deliberate practice and generally both the terms do not differ in actual meaning. The book focuses on how our brain builds up myelin, a white substance in our brain as we practice.
The term World-class skill refers to the expertise in any field of study.
To attain a world-class skill as a hacker, you need to invest those 10,000 hours or 10 years (considering 1000 hours each year) before you can attain those skills yourself.
There are many controversies to the above idea, and there are many people who attain skills much faster than others. But, the idea of deep practice, dedication and preserve have one thing in common — to attain mastery in your field of study and it holds true in the case of learning hacking skills.
3. Learn how to talk and represent yourself both online/offline.
Communication is the key to success, and many people would agree to the statement.
It doesn’t matter if you are using your communication skills offline or online. Having good communication skills can open hidden doors of opportunities. Tell people that you can do their work efficiently — tell them you can hack their system to make it more efficient or fix a security hole and the person will be after you. Overdo the same stuff in an inappropriate manner and you are out of the context.
It takes time and effort to get a balance between show off and real skill showcasing. It is always a better idea to practice communication skills with friends and family.
It is also important to understand how soft skills affect your career growth as a hacker and why it can help you gain information where technical skills fail.
I have written a post on social engineering and how it is used by hackers to gain access to information that can accelerate their hacking process or better give some hints on where to get started. The article was written for general users and how they should be aware of the social engineering attempts. In the same way, a white hat hacker can use his communication skills to gain knowledge about a system without altering anyone.
So, in short, learn how to use communication to meet new groups and gain an advantage in the competitive world.
4. Understand and Learn Programming
A hacker with no programming knowledge? A big, NO. Programming is the core of the hackers skill. Without proper knowledge of programming, no one can become a hacker. Tools can help you get started in the quest of becoming a hacker, but it has its own limitation.
In the article, Introduction to hacking, I discussed some of the basic idea about hacking and the types of hackers. Automated tools and scripts are limited and really doesn’t make you a hacker.
Anyone can use scripts and run it against some website to gain information. While it is a thrilling act at first, but it soon gets old, boring and monotonous.
Real hackers code and they code well. They can read code just like any other natural language. With such innate ability, they can find loopholes faster than anyone else(and of course fix them).
So, which programming should you learn first?
There are many programming languages you can learn. In the post, 11 Programming languages to learn in 2015, I discussed some of the popular programming languages in 2015. The debate of which programming language should you learn first is discussed in one of the following points.
Programming languages knowledge is essential and you must be sharpen it each passing day for better results in the future.
5. Learn Database
Learning database is important from a perspective of both the hacker and the software engineer. Without understanding how servers store data, there is not much you can do in the field of computer science or hacking.
Recommended course: Introduction of Databases from Stanford
Database exploitation is a common place for the hackers. Also, good hackers can extract vital information from database and can expose the vulnerabilities easily. As like any other computer science subject, Database is also one of the complex subjects out there.
The web is the home ground for hackers. There are hundreds and thousands of websites that are ready to get hacked or fixed. Even though, they are hackable, you must be sure not to harm anyone during your hacking sessions.
It is always a better idea to hack a website and report the vulnerabilities to the site admin so that they can fix it.
Once mastered, you can easily create websites and can also host your own forums or start sharing your tricks and tips online.
Recommended Read: 25+ Awesome Ways To Learn HTML5 Online
7. Learn More: Online Courses to the Rescue
Learning is a never ending process and that’s why I urge my readers to never stop learning. It doesn’t matter if you want to become a hacker or a software engineer or something else, learning should never be stopped.
The good news is that Massive Open Online Courses(MOOC) are now easily available online. With no half measures, you can really dive deep into becoming a computer ninja.
With platforms such as Udacity, Coursera and edX, you now have the most customized learning platform ever available in the history of online learning. Each of these platforms has their own appeal when it comes to online learning.
I have completed more than 15+ courses from these three platforms, and the learning has shaped my thought process.
Learning Online can be a tough task. To learn online, you need perseverance, dedication, and self-motivation. Without any of these, completing courses can become a nightmare and statistics also support a lack of motivation by online learners. Only 1-2 % of the registrants complete the course and make it to the final certificate.
I have already shared an interesting article on courses that improve your tech skills. 10 courses to improve your tech skills is aimed at already established tech junkies, but you will find good information to get started or bookmark it to access it later.
8. Choose a Text Editor
Choosing a text editor is tricky, and is not directly related with becoming a hacker. But, I want to disucss it for the sake of completeness. At TechAltair, we love text editors, and have already published a few text editor related articles.
There are many text editors for different programming language. But the two text editors that are taking the talk to the town are Sublime Text and Atom Text Editor. I have reviewed both of them and also compared them to a good extent. You can read them and decide it for yourself, which one is the best one for you.
- Atom Text Editor Review 2015
- Sublime Text Editor Review 2015
- Atom Vs. Sublime Text Editor Comparison 2015
There is another debate of choosing between a text editor or an IDE, but it all depends on your preferences.
9. Start with Python
In one of the earlier posts, I discussed on how important it is to learn and understand programming. Now, it is time to one step further.
There is always a confusion among the newbies on which language to start their journey with. Many people will suggest you to C, C++, Java and other programming languages. But, according to me and many other universities in the world, it is always a great idea to start learning with Python programming language.
In the article, 7 best Python IDE for Pythonist, I discussed on how awesome Python is. It is simple and easy to read and write, and the biggest advantage is it is easy to learn as well.
Java, on the other hand is also a great choice for learning. But, Python easily qualifies for the best programming language for hackers as it can also be used for writing scripts.
10. Learn Open Source and Unix/Linux/Kali Linux
The world is going Open Source.
If you want to become a hacker then a clear understanding of Open Source is important. Contributing to the Open Source is another way to sharpen your skills.
The home of open source project is GitHub. The platform contains tons of frameworks, libraries, websites, software — all ready to be hacked and improved upon.
Taking part in real-life projects can really improve your learning capacity and skills. It also teaches you the basics of Open Source and the value of the community surrounding the Open Source idea.
Unix/Linux/Kali Linux: Understanding operating systems is an important step for a programmer. The firs step is to compile Unix or Linux Operating system. It is better to tweak the system and understand the different concepts that are associated with the operating system.
11. Learn Networking Concepts
Networking Concepts is essential for any hacker. There are many courses available online that can teach you the basics of networking.
I would recommend
It is extremely important for a hacker to understand the in and out of the computer networks. Without clear understanding of networks, it would be tough for them to really grasp the expertise of a hacker.
12. Learn Cryptography
Cryptography is the art and science of hiding information using advanced mathematics techniques. It has been widely used in the World War II and now it has now flourished into a fine subject.
Understanding basic cryptography can really improve your skill as a hacker. There are lot of courses online for learning cryptography.
- Applied Cryptography — It is an advanced level course so it is always better to be confident in your programming skill before attempting the course.
- Cryptography I Stanford — Advanced Course
- Cryptography II Stanford — Advanced Course
13. Experimentation is the Key to Success
Experimentation is the key to success and without experimentation you will not be able to improve your ability as a hacker. Skill development is always associated with experimentation and constantly challenging yourself away from your comfort zone.
With proper experimentation and understanding, you will reach new heights and create useful software or frameworks for the industry.
It works similarly to being a scientist — thinking beyond the limits to find or create something new.
14. Learn Frameworks and use them to understand
Frameworks are a piece of software that has its own rules, regulations and provide abstraction for creating useful application using it. With framework, you can easily abstract your work and increase your productivity.
Frameworks such as Django, Symphony 2 or game frameworks can be used to create wonderful applications for your projects.
- Understanding the difference between template and framework
- 7 Best CSS Frameworks for Web Designers 2015
- 7 Best PHP Frameworks for Developers 2015
This is just the beginning. Becoming a hacker is a tough job and requires a lot of practice and perseverance.
And, I hope that I was able to answer the question, “How to become a hacker.” There can be numerous ways one can approach the question, and I approached it differently to give it a better look.
If you are aiming to become an hacker, then you do not have to worry about losing your job to automation.
The guide is not complete by any sense and I will update it regularly to reflect my thinking and the new trends in the current industry.
Bonus: New to Programming? Love Games? Start learning programming by playing games.
The article was not small by any means and I hope that you were able to extract some information that is useful to you.
Loved the article? Comment and share! Also, make sure that it reaches your best friends who are also interested in becoming a hacker.