However, a couple of things happened recently that highlighted the knowledge gap between developers and testers and how vague "learn to code" is.
I'm lucky enough to work with a bunch of smart developers and, like the best testers, they are always learning new skills and techniques.
One of them recently tweeted from the Clojure/conj about Zygohistomorphic prepromorphisms
Could be an elaborate in-joke or could be serious, I have no idea...
Another one is learning J - which was a new language to me, didn't know we'd got past C...
though it seems my old C knowledge is limited as I didn't know these things about C nor that C could be considered a functional language
Another dev is blogging about Unifying Programming and Math and explaining ( or trying to, my brain melted ) the Curry-Howard Isomorphism and Martin-Löf Type Theory. I tried using Google Translate to get it into English but it came back with the same words.
Is that the sort of learning I should be doing ? Or do the 'testers should code' brigade mean that I know enough to use page objects in Selenium and not use the Selenium IDE ?
and I'm not even going to start, but might hint, that even knowing code is not enough, testers should also have some understanding of design
Meanwhile, I am currently halfway through the BBST Foundations testing course. It's a great course, good interaction with the other testers on the course and makes you think about your testing and what you really know and don't know. It's a month long course, 20-30 hours a week in your own free time, has to be paid for and gets booked up in advance. So it attracts good and keen testers.
The latest exercise we had to do on the course involved thinking about how many tests would be required to test the square root function if a 32-bit word was passed in. This caused some confusion amongst some of the testers who were not sure what a 32-bit word was ( no, it didn't mean that hyphenated words were a test case nor that lower and upper case should also be tested ). Should I ask them what they think of heaps, call stacks, tail recursion, monads, singletons...
In the end "learn to code" is as vague as "learn to test", but makes a good attention grabbing title when used for a talk ( well, not anymore it should be binned along with the 'is dead' meme ).