The Software Testing Club recently put out an eBook called "99 Things You Can Do to Become a Better Tester". Some of them are really general and vague. Some of them are remarkably specific.
My goal for the next few weeks is to take the "99 Things" book and see if I can put my own personal spin on each of them, and make a personal workshop out of each of the suggestions.
Suggestion #42: Explore your ideas through blog posts, discussions, or by speaking at events. Listen to others opinions and use to broaden your own - Amy Phillips
One of my favorite exchanges I've ever heard was on Dan Carlin's Hardcore History podcast. It was one of his older shows back in 2008, when he was interviewing James Burke, the noted writer/historian and BBC television personality (Connections, The Day the Universe Changed, etc.). James Burke was talking about how his idea of "inter-connection" came about. He was a student many years back at Oxford, and he described how he had seen a footnote in a book that a professor had written about how, with the invention of a larger weight bearing stirrup, knights were able to get greater leverage and attack other horsemen. This led to an arms race to armor soldiers, which led to breeding stronger horses, which led to a need for more land for horses to graze, which led to the dukedoms and duchy's of the middle ages, and the resulting European order, etc.
James Burke found this idea of inter-connectedness to be fascinating, and went to his professor and asked him if he could use this "inter-connected" aspect for research he was personally doing. The answer from the professor? "I stole it. You steal it!" When Burke answered with an incredulous "You stole it?!", Burke said that the professor replied back "My boy, you don't honestly believe that we are born with ideas, do you?"
The truth is, there is really nothing new under the sun. Every one of us takes ideas from others and we apply them to our own realities, and if we like what we see, or we like the results, we talk about them. Sometimes, even if we don't like what we see or we hate the results, we talk about them anyway. this is how knowledge advances, and this is how our ideas and experience advance. We learn from each other, and we grow based on the things we learn.
Workshop #42: Leverage the bold boast. Pick a topic that you are less familiar with, but would love to know much more about. Commit to a blog series, conference talk, podcast or some other means to broadcast the information, but broadcast the information.
Back in 2010, I started a little idea that I called a "Practicum" on my own blog. I decided that I wanted to see what would happen if I were to publicly take on a challenge. For me, the challenge that has always been the one I wish I was better at is programming. I made a public sandbox, said I would post my ideas and my experiences, my shortcomings and my pitfalls, and I would approach some areas that interested me. To date, I've covered Selenium 1, Selenium 2 and the Ruby Programming Language. In the wings I am looking at JMeter, Metasploit, and developing a better understanding of unit testing frameworks as well.
These all started from the same place… what I and many others refer to as the "bold boast". The bold boast is a public pronouncement. It's effectively me saying "I'm going to do something great/terrible/amazing/embarrassing/powerful/demeaning/enlightened/dis-spiriting… and I'm going to do it with each and every one of you watching!" For some, that's a guarantee that they will never dare to do such a thing. I am, either fortunately or foolishly, not one of those people.
How can you leverage this yourself? Here's some thoughts based on past things I've done.
1. Pick an author you respect, on a topic that would be a stretch for you. Commit to a book club approach and an action plan based on the book you are covering. Devote a post to each chapter and the associated exercises, and share what you have learned, as well as what you find frustrating or less than ideally explained. If you really want to take this the distance, contact the author and tell them you are doing this, and that you would like to have them participate. Be careful to not overdo or tell too much from the book or examples, or you might be slapped with a plagiarism suit (authors tend to want to sell copies of their work, and I don't blame them one bit for feeling that way), but generally speaking, authors are often quite generous when people do this, and they are often happy to contact and follow up based on what you cover.
2. Focus on a conference that interests you, and make a proposal for a talk and a paper (yes, both, even if the talk doesn't have a paper requirement). Commit to writing the paper and preparing a presentation, even if the talk is not accepted. If you feel you have good information to share, you may find that there is an audience for it, even if the conference in question decided to not accept it. Develop a presentation to go with the talk and practice delivering it, even if it's just to three or four co-workers of friends. Ask them for feedback and how you might improve your paper, talk and presentation. Then incorporate that feedback, and present it again at another venue. The good news about "evolving talks" is that they can be proposed in multiple venues; often those who attend one conference don't necessarily attend others, so the audience at each event will most likely be new people, and your presentation will likely also be new to them.
3. Choose a blog post, a book, or a talk that you find that you disagree with. Prepare to write a rebuttal or a counter-argument. This could make for a short talk, or a blog post or a blog series. Whatever you choose, make sure that you write the position civilly and carefully. Write the paper to counter the ideas and be prepared to defend your reasoning. If you disagree with a position, attack the position, not the person behind the position.
4. Pick a tool or a technology that you want to know more about, and make a game plan for learning more about it. Write basic tutorials as you go as a service to the broader community. Preview materials on the tool's site and see if there are areas that could be improved or documented better. Volunteer to help beef up the documentation for the application or add some supplemental guides and tutorials.
5. Get involved in a project or initiative with a friend in the community. Work together to solve a problem, deliver a service, or develop materials for a talk or presentation, and again, strive to be able to present it at a gathering of your choice (a local meet up, an international conference, or anything in between).
There are lots of opportunities to learn from our interests, and putting it out there for others to see can be a great opportunity to share with others what we have learned, and help build some credibility of what we know or don't know. As we research and as we experiment, there are others that would be very interested in learning what we find, and looking to see if our experiences can help them move ideas forward.
Using a bold boast can often kick start amazing creativity. It can also give a person some major anxiety if they do it too often or too aggressively. Given time and practice, though, those who dig in will likely learn a great deal they will be able to apply to their work, and in the process, show a lot of people the breadth and depth of their understanding and clever ideas.
With all this, though, remember to listen to the feedback you receive along the way. You might be surprised at how many people will be willing to offer constructive feedback to help you with your ideas and your skills as you develop them. They will also, later on, very likely be some of your most vocal supporters as you progress.