Originally published on Quora.
Ideally you could talk with your manager and get the necessary time to do it right, and access to shadow people who are already doing it. Assuming this isn’t possible for you for some reason:
I suspect you have some small scraps of time during your workday in order to try to learn a subject that seems insurmountably large. The first suggestion I would make is to adopt a time management process, particularly the Pomodoro Technique, which allows you to break up large tasks into small ones and make the most of small, discrete chunks of time.
Second, you need to know what you will tackle in those small chunks of time. I’m sure there are other ways of breaking it up, but I might break learning test automation into these broad parts:
Starting with terminology, spend some of your little chunks of time to learn enough to know what you want to focus on. Learn enough of the terms of art to be able to understand podcasts, tutorials, or blog posts without having to stop and look things up. Or, learn as you go—whichever way works better for you!
The rest are a balancing act. When you learn to code, you will need to learn a little bit about engineering principles. You’ll also need to learn about the framework you’re coding against, which in turn will require you to learn a bit more about code, and principles. So to keep this from spiraling out of control, start with a small project with a modest goal: say, learn how to automate entering a random string of letters and numbers into Google’s search box and assert whether it was found or not, and how many matches there are. Use this project as a backdrop for your learning. Chip away at the things you need to learn in order to execute this project, fifteen or twenty minutes at a time. Take on a new project as you complete the first, and increase its complexity.
Good luck and find others to learn with, it’ll be easier and more fun!