Changing career paths, getting an idea for an app out of your head, or just learning something new and useful are all great reasons to get started programming. Learning a programming language might sound as intimidating as learning an actual foreign language, but with the right tips, hints and resources (conveniently provided below), you can go from bumbling bash user to the viscount of vim.
Image credit: wocintech/Flickr
Before you go all in on a new language, you should figure out what exactly you want to get out of coding. Is it a new career path, filled with a bit more flexibility (and cash)? Maybe you want to strike out on your own, and learn how to make your own apps? Whatever the case, you don't need to feel intimidated by the number of languages, or the complexity of certain bits of software you need to get started coding.
If you're not sure if you want to go all-in on a particular language, or want to get a taste of what's out there before you dedicate more time to the project, you should look into nailing the basics of multiple languages. You'll go on to understand the concepts of each programming language, learn how different symbols have different functions within each language, and figure out how they interact with one another.
Don't spend a dime on any books until you need to. If you need some reading material, how does a list of over 500 free programming, mathematics, and engineering books to cram into your brain. There are books on popular languages like C, beginner tutorials on devices like the Raspberry Pi and even a list of books about machine learning, so check out that Github database to find more.
Speaking of Github, you'll need to figure out how it works if you plan on making programming a major part of your life. Luckily, this video explains what Github is as simply as possible, and is the perfect springboard to understanding how the version control service works.
So if you've got your sea legs about you and are ready to strut your stuff, why not take on a real challenge? You can make a few bucks visiting bug bounty boards, where companies post vulnerabilities in software they're looking to fix. You'll need some extra tools, software, and perhaps a Linux-based operating system to work from, but if you think you've grown enough as a programmer, it can't hurt to test your skill on a real-world problem.