Mastering typing skills takes training and practice. Practice on a regular schedule, 10 minutes to an hour per session, depending on your energy and focus level. As Vince Lombardi said, “Practice doesn’t make perfect, perfect practice makes perfect,” so it is important that you practice at a time and place where you can maintain focus and accuracy. Eliminate any potential distractions. If you find yourself making lots of errors, slow down and find a way to regain your focus or call it a day. The goal of practicing is to build muscle memory. You do not want to “learn” bad habits and mistakes.
No matter how many certificates and coding workshops you complete, or how many programming languages you learn, the proof of your coding skills will be in your programming project. While your personal project doesn’t have to be as ambitious as creating the next Google Maps, it should be something you’d want to work on 24/7 to constantly improve and expand its scope.
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.

Third, Keybr.com lets you introduce as few keys as possible to the lesson, adding more keys automatically when it decides that you are proficient at the current level. When you only start learning it generates lessons with words from a very small alphabet of the most frequent letters. When your typing speed for every key in that alphabet reaches certain threshold, the algorithm adds the next most frequent letter to the alphabet. And so on, until the next letter. This way you will learn the most frequent letters first, and the least frequent ones later.


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.
Khan Academy is a 501(c)(3) nonprofit organization with the mission of providing a free, world-class education for anyone, anywhere. Khan Academy Kids was created by experienced early learning experts who have created 22 other top-selling titles and received 22 Parents’ Choice Awards, 19 Children’s Technology Review Awards, and a KAPi award for Best Children’s App at the International Consumer Electronics Show. The Khan Academy Kids team is a passionate group of engineers, artists, designers, and educators who joined Khan Academy from Duck Duck Moose, a maker of popular educational apps for kids. Khan Academy Kids is 100% free without ads or subscriptions.
Third, Keybr.com lets you introduce as few keys as possible to the lesson, adding more keys automatically when it decides that you are proficient at the current level. When you only start learning it generates lessons with words from a very small alphabet of the most frequent letters. When your typing speed for every key in that alphabet reaches certain threshold, the algorithm adds the next most frequent letter to the alphabet. And so on, until the next letter. This way you will learn the most frequent letters first, and the least frequent ones later.

EdX is another leading online-learning platform that is open source instead of for-profit. It was founded by Harvard University and MIT in 2012, so you know that you’ll learn about cutting-edge technologies and theories. Today, edX includes 53 schools. You probably can’t go wrong with the free Introduction to Computer Science from Harvard University.
×