Skip to main content

How To Learn Programming For A Cybersecurity Career

This is the first step I took in learning. I had to learn coding and my amazing Googling skills thought me this. Programming is not necessary for InfoSec, but knowing how to program definitely helps and makes your job easier.


Let me make this simple:

From what I have learned, you only need to know these:
  • C/C++/Java
  • Python
  • JavaScript and PHP  
  • Bash Scripting 
Now let me explain.

You need to learn any one of  C/C++/Java. Why?


These languages teach you the "basics" of programming.

C is pretty much used to build every OS.  It is an early language that will teach you the fundamentals of programming.

C++ is big brother of C. It will teach you what you didn't learn in C.

Java is a more modern version and is the most used fundamental programming language. It is easier to learn than the other two.
If you learn learn C/C++ first and then move to Java it will be quite easy. But, if you learn Java first and then want to move to C/C++ it will be very hard.

I personally learnt C++ and I had a lot of fun doing it. It made learning other programming languages very easy.
 
Also see: Differences between C, C++ and Java

Books:
The C Programming Language
C++, The Complete Reference
C, The complete guide
Object Oriented Programming with C++
Java, The Compete Reference(10)
Java, The Complete Reference(9)

 



PYTHON


Now this is the language that I love.

This is the easiest language to learn.

But that does not mean it isn't powerful. It is one of the most powerful languages. You can basically use it to go anything. A lot of tools have been written in Python. Python is also widely used when performing crypto-analysis and malware-analysis.

Learning Python was awesome. It is so simple and easy. I took no more than a month. But, this is also because I knew how to program in C++.

Books:
Learn Python The Hard Way
Python for Beginners
Automate The Boring Stuff with Python
Python Crash Course


See: Python Website



JavaScript and PHP

Simple, JavaScript is the most used implementation language and PHP is the most used Server-side scripting language. It will be extremely helpful to you.

These languages are very useful if you want to learn about web-apps and the web in general.

Books:
Learning PHP, MySQL & JavaScript with jQuery, CSS & HTML5
JavaScript, The Complete Reference
JavaScript, The Good Parts
PHP, The Complete Reference

See: JavaScript Website and PHP Website


BASH

It is a great scripting language. To become a CyberSecurity expert, you need to be able to Linux comfortably and BASH helps you in doing that.

I’d suggest people who are unfamiliar with Linux to learn some of the language as it would not only help with automating menial tasks, but also most likely will introduce you to new commands.

Books:
Bash Pocket Reference: Help for Power Users and Sys Admins
Mastering Linux Shell Scripting,: A practical guide to Linux command-line, Bash scripting, and Shell programming
Shell Scripting: How to Automate Command Line Tasks Using Bash Scripting and Shell Programming

See: What is a Bash Script?

 



CONCLUSION:

These languages are not necessary but will help you a lot

It is better to know these languages because you never know if it will help you. 

Also it does increase your knowledge in the subject. 


Thanks for reading!

AZID 

Comments

Most Viewed Content:

Final Year Project

I'm in the final semester of my degree and my project is something I've been thinking about for a while. I want to solve a problem, so I formed a team and now the project we are planning on creating is "DDoS Detection". We want to create an app which detects DDoS attacks and stop them live. I haven't really started doing much, but first thing I want to do is get datasets. I will search online for datasets on DDoS attacks. My mentor mentioned that I could create a virtual network in VirtualBox and simulate different types of attacks with some programs I can find online. That sounds pretty interesting and I'm going to do some research and find out if thats something I can do.   2 of my teammates are also helping me write code, we plan on using Python and a machine learning library, mostly Keras, to train the model and learn patterns. Lets see how it goes.

I gave my first talk at a Security Conference

Last month I gave a fun little talk called "Plenty of Phish in the Sea" in my local security conference. It was a fun presentation on how I phished my friends in high school.  I used to make music back in high school and sent a phishing link to 3 of my best friends to my "Soundcloud" and asked them to sign in through their email. I had created a fake domain that copied the Soundcloud login page but the form to submit username and password had a php script that sent the credentials to a txt file I had on the server.  My friends had weird passwords of course, one guy had his girlfriends name, another had his favourite sport mentioned, and another friend literally had his whole phone number as his password.  I made jokes about it and kept the whole tone of the presentation humorous.   This talk wasn't very technical, but it was my first time and this was an actual experience. Hopefully, next time my talk is a technical one, where I teach the audience something I le...

I got a Job as a Security Engineer!

Long time since I wrote a blog post, but things happened. I graduated from University with a degree in Information Science. I interned in 3 different companies since getting certified in CEH and CCNA. I also did huge projects in the final year of college. I had around 200 applications over 2 months and 7 interviews. After being rejected and ghosted numerous times I got a few interviews. 5 of which didn't go so well. Either I wasn't qualified or they didn't think I had enough experience. Fortunately,  the last 2 interviews went extremely well and I got a job offer from BOTH companies! Company 1 is a big Networking company where I where the job was being a part of the Incident Response team and Company 2 is mid-size education software provider. Company 2 had 1 other security person, and I would be person 2, which would have been a great opportunity to learn and grow with. I took a few days and talked to a bunch of people in my family and even posted on Reddit to get advice on...