My mother passed away this week after fighting a progressively debilitating disease for many years.
The past several days have been a time of reflection for me, not only due to the loss of my mom, but because year end is a time when most of us reflect about the year that is ending and beginning planning for the year to come.
My mother taught me many things about life, instilling principles that have made me not only a better person but also a better test automation engineer. As 2014 comes to a close, I’d like to share a few of those things with you.
Respond positively to change
My mom raised four children alone after becoming a widow at a young age. What was even crazier is that all those children were under the age of seven when my father passed away.
Despite her best efforts to attain stability by getting married, managing a home and having children, Mom was forced to deal with some pretty dramatic life changes after his death.
The testing community has also been undergoing some major changes with regard to the ways in which most organizations develop software. One of the most significant changes has been a move away from waterfall practices and towards Agile practices.
In fact, one of the Agile Principles from the Agile Manifesto is Responding to Change. This one principle could likewise be used to describe the majority of my mother’s life.
No matter how meticulously we plan, life, like a software project, is constantly changing. How we respond to those changes says a lot about us and how successful our project will ultimately be.
We all crave stability, but that is just an illusion. What I learned from my mom — and from my own experiences — is that you need to “go with the flow.” Meet the change head-on. Embracing it and then adjusting as needed is the only way to survive.
Before Agile was a gleam in its creator’s eyes, I had already been exposed to one of its central tenets — respond to change as opposed to following a plan. Change can be scary, but you need to be brave regardless – whether it’s work or life-related.
Always be learning
One way to overcome the fear of change is to embrace continuous learning. One of my favorite childhood memories is when Mom used to sit me on her lap in front of a keyboard and sing “I’ve Been Working on the Railroad.” The thing of it was, my mom was no musician. She didn’t know even how to read music, so what she did was place stickers on the keyboard keys she needed to press in order to play the song.
I’ve often seen and heard engineers say that they can’t do something because they don’t have the training or they need to take a course or get a degree — whatever they need to do to convince themselves that they can’t do something. In essence, they’re waiting around for permission to start. I say, do it now and ask permission afterwards.
You don’t need to know something 100% before starting. Don’t let the fear of failure hold you back! Simply roll up your sleeves and jump in.
Furthermore, don’t get caught up trying to decide what technology you should learn — a programming language, for instance. Just pick one and learn it. The principles you learn will apply to any programming language.
For example — a few years ago I wanted to learn more about API testing, so I set out to learn a new HP tool – known as Service Test at the time – in order to start testing some web and Rest services. Because APIs are a universal technology, most of the concepts I learned about when I was studying Service Test I can now leverage with any other API testing tool.
Boy Scout Rule
Because I was and am an introvert and loner by nature, my mom made sure that I participated in group activities like the Boy Scouts. As a Boy Scout, one of the first things that you learn when camping is that before you leave you should pick up any mess you find around the camp site regardless of whether you created it or not. The point of this exercise is to leave the campground in better shape then you found it in for the next group of campers.
This Boy Scout rule has also been adopted by many developers who are dedicated to creating clean code.
The same principle should apply to test automation code or any other development project. If you are working on new methods or modifying existing code and notice something else that doesn’t look right, fix it — even if it is code that you didn’t originally create.
You should always endeavor to make your tests better then when you found them, because you won’t always be working on the same project. You will eventually move on, but remember the other engineers that will have to take over the code base. You can make their lives a little easier by doing the right thing.
Women in Technology
I’m the youngest child and only boy in my family. I grew up with three older sisters, so I’m no stranger to being bossed around by women. I guess that’s the main reason I’ve never understood sexism.
My mother was my first role model, and she taught me that anyone — male or female – can be successful at whatever they choose to do if they work hard enough at it.
This year I started a podcast called TestTalks, in which I interviewed many of today’s leading developers and testers. I quickly discovered that some of my most popular guests (like Danielle Louise Warman) happened to be female industry thought leaders.
Testing and Life is hard
Over time, my mom’s medical condition caused her to lose virtually all movement in her limbs, and eventually robbed her of the ability to even speak. One of the last memories I have of her is singing a hymn in church in a small voice but with all the sound she could muster.
Right until the end, true to her character, she never completely gave up.
Let’s just admit it now – testing and automation is hard. Just like life. Don’t give up; move forward. Enjoy what you have and consider yourself blessed.