Wednesday, May 08, 2013

Career advice for testers

Here's a blog post that has taken me a few years to create.

There was a site called prizes.org. The idea was that people can post questions and responses were graded for their merits by the people posing the question. In exchange for a good response, you could earn money. In this case, someone asked the following question:
Searching for projects in test engineering to improve my technical skills
Test engineering has long been a passion of mine. I dabbled in it in school and has worked as a full time software test engineer since. I have no interest in management nor do I want to become a developer, I'd like to focus purely in the testing field. 
In the last 4 years, I've been so busy with my day job that I haven't had time to improve on my technical abilities outside of work. I want to take this opportunity to offer a prize for the best recommendation on part time gigs or projects that will challenge me mentally, sharpen my skills and push me to learn new things in the field. I don't mind if there's no compensation involved, I'd really like this to be a learning experience.
Google owned prizes.org. Like many of their other properties, it was taken down and its content removed. Rather than it being lost forever, I thought I should post it here.

The following answer was created by me and it also 'won' the competition; a whole $20. Apparently money does occasionally motivate me. :-) Anyway, it was worth something to someone once; I hope its worth something to you too.

Below is my response (circa 2011, I think):

Personally, I think your best options are to do the following:
  • Meet people: if you want to talk to other testers, http://weekendtesting.com/ is a great place to challenge your skills and meet people
  • Take a course: join AST (http://www.associationforsoftwaretesting.org/training/courses/foundations/) and take the foundations course. Great way to meet people and learn/add to your skillset. Its free once you join the AST and membership is only $80 US
  • Read some books: Depending on your perspective, find a book and read it. Read anything, fiction, blogs, etc. Anything from Gerald Weinberg or Andy Hunt would be excellent. Find your own context. My recommendation, stay away from purely technical books like "learn C++". I'm currently reading "How to Break a Terrorist" (http://www.amazon.com/How-Break-Terrorist-Interrogators-Brutality/dp/1416573151); amazingly useful when talking to developers!
  • Practice! : http://testing-challenges.org is a great place to actually try out some of the skills you have learned. Alternately, join uTest - from my experience, you get to use all your new found skills in a safe environment; and you can make money to boot.
  • If test automation is your thing: Join either an open source group and do some of their testing (see Github, bitbucket.org, SourceForge). If you don't know how to program, try Ruby as your first language. There's lots of web testing frameworks (Selenium and Watir). Remember, test design before coding... ask yourself what you are trying to test, then design the test. Maybe it can be automated, maybe it can't. Good test design is the key. See "A Practitioner's Guide to Software Test Design" (http://www.amazon.com/Practitioners-Guide-Software-Test-Design/dp/158053791X). Older book, but still really good.
  • Context Driven Testing Y! list. Lurking is good. To that end, if you are a AST member, try the new forums. Maybe there's something there.
That is easily enough to keep you busy for a year. For the last few years, I have been trying all of these and found them immensely useful. In fact, there are two more things that could be added to the list. Going to conferences of your peers and writing a blog. Both of these take a lot of money or a lot more time. Both require you to be self directed. My suggestion, follow through with one of the the points I mentioned and you'll be better suited to do the conference/blog thing later.

Frankly, don't do the "get a certification" route. there's lots of "experts" that suggest it is a title without meaning. See:
I would agree with them. Certifications are mostly memorize and regurgitate. Not terribily useful if you actually want to improve your technical skills.