If you don’t know how to touch type, this is where you need to start. Having the ability to type without looking at the keyboard is the most important factor in achieving a fast typing speed. Even if you have memorized many of the keys, unfamiliar keys will slow you down just like speed bumps on the freeway. Taking your eyes off the screen to peek at the keyboard disrupts your focus and costs you time. You want to be able to keep your eyes on the screen and your fingers moving to the correct keys without thinking. Achieving this kind of flow takes practice. The better you can do it, the faster you will be. Read on to learn how.

Skillcrush’s Free Coding Camp is our totally beginner-friendly intro to tech, techies, and kick-ass careers that you can complete in less than five minutes a day. Delivered straight to your inbox, you will learn how to code in the simplest terms possible—and even get to try writing your own code!—so you can see if learning coding is the right move for you…
Do you have a smarthome device like the Amazon Echo? You can put your coding skills to the test by creating customized mini-programs to get more functionality out of your devices’ digital assistants. Amazon’s Alexa may already know many basic voice-command “skills,” like reading the latest news headlines, but you can teach her more complicated tasks by coding in Node.js, Java, Python, C#, or Go. (Or, if you want to start with something easier, try the simpler Alexa skill blueprints site.)
As a self-taught programmer, you might also benefit from books that offer broader advice on the profession. You’ll improve your thinking and habits, traits you can apply to any language you decide to learn. Steve McConnell’s 900-page Code Complete: A Practical Handbook of Software Construction (2nd Edition) is considered the definitive guide for best practices, with data-backed advice on everything from project design to debugging code.
AGupieWare is an independent app developer that surveyed computer-science programs from some of the leading institutions in the U.S. It then created a similar curriculum based on the free courses offered by Stanford, MIT, Carnegie Mellon, Berkeley and Columbia. The program was then broken into 15 courses: three introductory classes, seven core classes and five electives.
Udemy bills itself as an online learning marketplace, hosting 130,000+ user-created courses on all kinds of topics (including over 2,000 coding-related classes). While some of Udemy’s offerings are paid (costing $20-$200 per course), there are plenty of free coding classes as well, including some shorter Tech 101-type courses that teach code for beginners.
Take a few minutes (or a day) to think about the reasons—the real reasons—why you want to learn a programming language. Be honest with yourself. Are you trying to learn the barest minimum to score a promotion? Are you looking to make a big career change? Do you want to create the next greatest app? Thrill your roommates by programming your various smart devices to do something awesome?
The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
Sometimes, it’s just easier to watch someone show you how it’s done. You can find all kinds of educational videos about nearly any coding-related topic nowadays: ex-Googlers sharing solutions on coding interviews, YouTubers livestreaming their coding marathons, and even programming veterans showing you how to troubleshoot a specific error in any language you want.
Coding games are also a fun way to get your feet wet in programming. If you have an hour to kill, you can give the simple Hour of Code games a try. Additionally, many schools already use the Minecraft: Educational Edition to teach kids programming basics with coding blocks, and even JavaScript. (You can download this version of Minecraft for free if you have an Office 365 Education account.)

Whether you’re an adult looking to transition into the tech industry, a student looking to learn the latest language, or a hobbyist who just wants to understand how software and services work, all you need is a computer and internet access to start your programming journey. But before you take a flying leap into The Matrix, here are our best tips and resources to set you off on the right foot.