This is my first in a series of posts about how to become a better Test Automation Engineer.
I was very fortunate to get to work with some really great developers in the first 5 years of my career. Perhaps the most influential was in my third year as a professional.
He was probably 15 years into the profession at the time. I had the opportunity to pair program with him for several weeks over a year.
We worked in an Extreme Programming environment. When we paired up it was for a particular task and never for less than a day.
Pair programming is difficult. You have to focus on the task at hand while listening to your partner and explaining what you’re thinking and doing. There is no “nodding off” or distractions in good pair programming. Both parts of the pair focus on the task at hand. Sure, there’s camaraderie, joking and the occasional slightly-off-the-topic conversation about whether “Han shot first”, but overall, the two of you work together to solve the problem at hand.
It was this more than anything else that taught me skills I needed for a career in software development.
Too often these days I see folks convinced they have all the answers and don’t need help from those around them.
For me, pair programming taught me how to “code by intent”; “make a breaking change” intentionally to guide you toward understanding the impact a change makes; the best sequences for applying refactorings; use the computer to do the work; how to create mock objects, shims, simulators & much more.
I look for people better AND worse than me to learn from in development. There is always more to learn.
People who are not as far along in their skills have also taught me a lot. Much of it I’m still working on daily – patience, tolerance, the confidence to let someone try something and fail in order to understand what I already know.
I’ve learned that some people don’t want to learn or get better at their craft. In those cases, I study how to use my time effectively while NOT advising or teaching. Sometimes being beside someone is enough.
What can you learn today and from whom?