Technologically minded workers are in a unique position around the world today. Unlike many other fields that are becoming increasingly difficult to break into – with advanced degrees and unpaid internships needed before making it to a market with a limited number of positions – programming and data science jobs are abundant and offer ample rewards to those with the discipline to build skills on their own time. While not anyone can walk into an engineering gig, it’s not strictly necessary to have even a Bachelor’s in your chosen field in order to get your foot in the door. This means not only opportunities for aspiring engineers but upward mobility for those already in the field. To add to the good news, there is an impressive community of people offering free resources to help others build coding skills. These resources are relevant at any stage of your career, and while some are better known than others, even experienced engineers may not know all of the opportunities available to them.
Massive Open Online Courses, or MOOCs as they’ve come to be known, make STEM education accessible to everyone, from current college students to adult learners. These often free courses range from introductions to computer science all the way up to advanced techniques in statistics and machine learning. Some of the better known dedicated MOOC providers include Coursera and Khan Academy, but many universities such as Stanford offer a wide range of their own courses online. Many even offer a certificate of completion for a relatively miniscule price – that looks great on a resume!
2. Coding boot camps
Coding boot camps are not technically free, and they can even be quite expensive. What many offer, though, is a tuition waiver in exchange for a percentage of your first year’s salary at a job they help you find. This means that they have extra motivation to help place students. Boot camps are increasing in popularity and range from large organizations such as General Assembly that operate in multiple cities to smaller schools that take only a handful of students at a time. While not all boot camps are created equal, many have great reputations for turning out top notch students.
Meetup is a website that helps connect people with common interests who then hold events, make new connections, and provide support for one another. Tech meetups of all stripes can be found all over the world, and they provide unique opportunities to both flex your new skills and participate in projects you may have not previously heard of. A great example is Open Oakland in Oakland, CA, a Meetup dedicated to programming for the civic good. Programmers and data scientists of all skill levels work to provide a service for their community and make great connections in the process.
4. Programming competitions
A staple for all sorts of computer savvy folks for years now, these competitions are hosted online and give participants a chance to see how they compare to others solving a single problem. Again, these competitions range in skill level from beginner to master, and performing highly comes with much prestige. Learning on your own can be a vacuum, giving little insight into mistakes you may have made and how you can improve. Being able to compete and see winning strategies for a variety of problems is a great learning opportunity.
Podcasts aren’t learning materials in the same sense as a MOOC or a boot camp, but they can be extremely valuable nonetheless. Tech minded people tend to love finding new resources like the ones mentioned here, and the strength of tech focused podcasts is that they also love sharing. Podcasts like Partially Derivative and Programming Throwdown are entertaining ways of getting a surface level overview of the industry while obtaining a massive list of resources to help you dive a bit deeper into the topic of your choice.
6. Volunteer your skills to experts in other areas
Do you know a linguist who needs statistical analysis done on a data set? Perhaps an artist who doesn’t have a website? Everyone has tech needs today. Volunteering your time to a friend or colleague is an amazing opportunity to learn about a new subject and, moreover, gives you a project to showcase your skills. There are infinite tutorials you can do online to help you learn Python or how to build an API, but applying those in the real world will get you feeling comfortable as a professional and will also look fantastic in the eyes of prospective employers.
7. Tweak your open source coding skills
These should be the most obvious resources for almost anyone who has already dipped their toes into the computational waters. What’s worth noting is the varied ways in which people have come to use them. Stack Overflow, a very well known set of forums dedicated to programming questions, is part of a larger set of communities known as Stack Exchange, which answers questions on everything from philosophy to chemistry. If you’re searching for some domain specific information that will help on your journey, Stack Exchange is a great place to start. If you have a question about why your for loop isn’t iterating correctly, definitely check Stack Overflow.
Github is widely known as a version control platform, allowing easier collaboration among engineers. What people may not know is that its repositories are also used to host learning resources as well. A simple Google search will help you find volume after volume of free books on all sorts of math, programming languages, and much more on Github.
The sheer number of resources engineers, programmers, IT professionals, and other tech savvy people compile for one another is astounding. It’s part of what makes the community special, and it’s a big contributor to why they are currently thriving. No matter what your endgame, these resources will help you get there, and the best part is there are always more being created every day.