My interest begun while watching people swimming on lanes in an outdoor pool.
Those people were amazing.
They were gliding through water slowly, efficiently, effortlessly and very quietly.
They made swimming look so easy and simple. And beautiful ...
So easy and simple that anyone may think that he can do it. By himself .....
So I started learning. How difficult could it be to move your arms and legs in the water?
I realized shortly that I either don't do it properly or I don't understand how they do it.
I persevered though and practiced more using a swimming training DVD as a guide.
From the DVD, I learned that swimming is actually quite complicated as it consists in individual movements that need to be done in a well coordinated way.
To swim well, I needed to understand how to rotate the body in the water, how to breath, how to syncronize the strokes with breathing, how to move my legs.
Some of these things, especially breathing, are very difficult to get by yourself.
My swimming got a bit better but very soon I stopped again making progress.
So I hired a private instructor.
This time, I committed money and time and worked towards my goal.
After 3 months of practicing drills, repeating the same thing again and again, being frustrated of not doing it well, I finally started to make progress.
I am currently at the point where I have the skills for swimming short distances and can move to the next phase of training.
What is the connection between learning test automation and swimming?
Test automation seems easy, especially when looking at other people doing it or when reading articles written by test automation tools vendors.
How difficult can it be to record a script by using a site and then playing the script back? For sure, anyone can do it by himself ....
So you try it by yourself first.
Soon, you realize how limited is this way of "test automation" and how little you can do with it.
So you persevere and learn about the need for a programming language.
You read a programming book, learn some concepts and then come back to the test automation project.
But just a programming language and a tool for recording scripts is again not sufficient.
Reading more about test automation, you learn about other concepts like XPATH, browser DOM, code debugging, abstract layers, JUNIT, code refactoring, coding patterns, test driven development .....
But the swimming, sorry, test automation, was supposed to be easy and anyone can do it by himself!!!
At this moment, the illusion is gone and you start thinking seriously what to do.
You can persevere by yourself now that you see the territory to be explored or you can take your own swimming (test automation) instructor (course).
One thing is clear: learning the new skill will not be quick, it will take time to get all the individual drills and integrate them but the end result is very rewarding… test automation code that is simple, efficient, elegant and effortlessly created ...
You can get here with patience, perseverance and lots of practice.
Same for swimming!