Before I started working in information security, I worked in systems administration and network engineering. My practical experience with writing code has been limited to system administration and automation scripting. Now that I’m in charge of helping developers write more security code and less on securing operating systems, servers, and networks, I need to learn to code myself. I believe programmers, for the most part, see non-coders as outsiders. I need more street cred so I’ve embarked on the journey to learn a few programming languages. Here are a three sites I’ve found very useful so far. All of these are completely free or have free components that you can use to learn as well.
Codecademy is geared towards beginners and folks who have not programmed before. The language tracks have an integrated console so you can spend less time setting up development tools, and jump right into learning syntax and completing exercises. Tracks for the following seven languages are available:
Also available are individual courses such as Learning the Command Line, Learn SQL, and Learn Git. So far I’m a good portion through the PHP and Python tracks. Both are well put together but also very simplistic. If you are just starting out and interested in one of the language list above, I highly recommend Codeacademy.
freeCodeCamp is and open source community where the content is project based. Four certifications are made up of self-paced challenges and you can draw on the community from other campers for support and assistant.
- Front End Development Certification
- Data Visualization Certification
- Back End Development Certification
- Full Stack Development Certification
Once I wrap my Codeacademy tracks I plan to head over and start on freeCodeCamp projects that look interesting.
Udacity has a large online course offering. Many of the courses are free but you will also find intermediate/advanced level courses that are available via a monthly subscription. Udacity has partnered with companies such as AT&T, Amazon, GitHub, and Google have created and contributed to the curriculum that they offer as nanodegrees. At the moment there are 15 degree programs. I have not enrolled in a degree program but so far I’ve greatly enjoyed some of the free course offerings available.
Have you used online resources to learn software development that are great? If so please share them in the comments below.