I came across a citation the other day for the blog post “How to Steal Like an Artist (and 9 other things nobody told me)“, by Austin Kleon. Given my feeling that some artists get way too possessive of any idea they have and that we grow by sharing ideas and adapting them, I was intrigued to say the least. It listed many ideas that applied just as much to what I think about ways to be a great tester as they did to my life as an artist, including how we grow ourselves over time in our careers. It started as an exercise in thinking about observation skills for me, but then grew to the list below as I thought more about the ideas he put forth.
These aren’t new or earth shattering concepts. Lots of people have mentioned them in lots of places for different and for similar reasons. That’s a good part of the point of Austin’s post – when you look at something, figure out what is valuable to you in that moment and do something with it. In this case, these are valuable ideas that occurred to me when reading the article and thinking about how they apply to growing myself as a tester.
- Look at what others are doing in the same space to learn new approaches and gain inspiration.
- Garbage in, garbage out, but good stuff in can be a gold mine- you are affected by what you surround yourself with, so read good blogs, books, & mailing lists, watch good TED talks, Google testing conference videos, and attend good conferences (like the upcoming CAST 2011 conference!). Join in the conversations with others in the field, in asides if you can’t bring yourself to post to the mailing lists. (You do know there are great mailing lists out there for testers, right?)
- Go back and review interesting things you have collected periodically (the invisible gorilla videos, Michael Bolton presentations, James Bach writings, blogs aggregated magazine style from other testers, IT thinkers, and innovators like Seth Godin). You may not always agree with them, but you can sometimes learn as much by examining why you disagree with them and considering how you would rebut their assertions.
I started by carrying a large set of Firefox bookmarks with me, but now also use aggregators like Zite and Flipboard on my iPad to keep putting fresh new ideas in front of me. People like Brian Marick and Andy frequently share interesting things they run across through their Twitter and Facebook accounts. This lets me skim those things without being enslaved to the parent platform and wasting time getting too distracted.
- Notice more things as you go through your current activities, at work and at home.
- Look for new testing ideas, both from others in the testing field and from other fields than software. What can you learn from market analyses or building court cases?
- Look for bugs in more than your work-for-pay applications
- Practice observation skills, in games to make it fun (like Spot the Differences or concentration games!)
- Focus on what is really important in what you say and do, so that others will observe what you want them too!
- Find the bugs that you would care about. It’s far harder to sell a bug that you really don’t care about either, and it shows to the others on the team. It’s also harder to feel like you are making as much of a contribution as you know you could if you spend all your time looking for low value bugs.
- Practice with technology. If you can’t wait to get off the computer at the end of the day and you never poke around new technologies on your off-time, you won’t have the background to get on the next cool toy project cause you just won’t know what is going on.
- Have side hobbies and another life. Its harder to think outside the box when you spend all of your life inside of it.
- Do good work and talk about it. Don’t just hide under the dry numbers of test execution metrics; do tests that find stuff that is interesting to you and the team so people want to know what you’ve been doing lately! Talk with others on the team about the systems, even if it is only wondering about things together.
- Be nice. It’s a small world. It’s especially important to do when your job is easily misconstrued as being critical of others’ hard work.
- Keep the discipline to actually get through to done and stay focused enough (but not too much!).
- Surround yourself with great advisors, even if they don’t know who you are or live half way around the world. (See #1 above.)
- Leave out / condense the boring (all of the “checking” tests that passed) stuff so that the interesting findings get the attention they deserve.
I love it that when people get my test strategy / plan documents, they say things like “This is shorter than I expected. But it tells me what I really need to know.” This means that they both read it and got value out of it. I hate boilerplate documentation, so if it isn’t important enough to warrant a bullet point on a two page Powerpoint summary, it tends to get short shrift in my full length document or gets put in an appendix full of the picky detailed things that I may need, but most others won’t be interested in.
- It is important to understand your own strengths and weaknesses as a tester in order to hone and refine them.
- Don’t wait for someone to give you the opportunity to learn a new testing technique or skill – start doing it to learn it. Then you have a compelling story to support your next request to do it on the job!
- Different approaches and techniques in testing help me identify different classes and instances of problems. Some are easier and more natural for me to remember so it is important to work on the ones that I find more difficult in order to make them easier.
I recently spent a couple of days watching videos from GTAC on unit and integration tests from the stance of several respected developers. They gave me some insights in to structuring my UI and business facing tests that greatly improved the clarity, robustness, and maintainability of my automated tests. If you spend time on the rough spots, they will get better.
People ask me how I have developed the skills and gained the experiences I have, given that I now live comfortably in both the technical and non-technical spaces. These are some of the things I do to keep myself evolving as a tester / developer. They also help me have testing days that are as enthralling as my studio time, when my testing approaches the level of intensity and absorption that I feel when creating my art. It’s draining, but it’s a great burn.
Your mileage with any given idea, as always, may vary. Let me know which ones strike you, either good or bad, and why!
“Immature poets imitate; mature poets steal; bad poets deface what they take, and good poets make it into something better, or at least something different. The good poet welds his theft into a whole of feeling which is unique, utterly different from that from which it was torn; the bad poet throws it into something which has no cohesion.”
— T.S. Eliot
(from Austin’s post on 25 quotes to help you steal like an artist)