Friday, 7 July 2017

How to improve your software testing skills by following Isaac Newton's strategies

How to improve your software testing skills, by following these strategies, that’s how. Based on a quick book recommendation - Isaac Newton by James Gleick I want to explain how we can learn lessons from his approach to his work and career.

Isaac Newton didn’t just work from contemporary materials. He did, as he was starting out, and when he entered officialdom, but he mainly worked from his own research and from older texts. We can do this. Keep going back to the source for any contemporary material, then look at the source for that and find older material that you can mine for goodness.

For the longest time, Isaac Newton didn’t publish - he produced a mountain of notes and written work throughout his life but much of it has not been published.

When he did publish it was at the behest of people wanting to learn, because he had worked out information that they need to move forward.

Isaac Newton eventually published some his work and was criticized, accused of plagiarism and told it was of no value and wrong. This put him off publishing for some time, he only later published when he learned that people were putting out work that he had already ‘discovered’ and had covered in more depth.

Don’t be put off publishing because of the potential for negative feedback or responses.

Publish so that:
  • other people can learn - your material will resonate with some people, and not with others
  • you can get feedback
    • some people will provide useful feedback on your material.
    • Some of that feedback will be critical, but it might help you improve. Certainly I’ve made improvements to blog posts and online training because of questions, issues and feedback that people have provided.
    • some of the feedback will be negative and not constructive, there is nothing you can do about that. Your work won’t resonate with everyone. Move forward.
  • you create a body of evidence of a practitioner
  • you will learn in the explication
Isaac Newton worked on his own, a lot. He was able to work on his own because he was building on earlier work on math, philosophy and alchemy: studying it in depth and building on it with objective critical thinking. And the key to his success, given that he worked in isolation, was objective critical thinking, if we can learn to do that then we can grow from analysis of our own experience.

When Isaac Newton did publish later, people were able to build on it and use him as an exemplar practitioner whose work they could aspire to achieve or better.

I continually try to seek out practitioners that I can learn from. When I see an expert, I look to see if they have left a trail of evidence that I can study and learn from. I don’t just want their conclusions, I also want to see their working, as I can learn from that.

Recently I’ve been following the work of the following practitioners on GitHub because they are leaving a trail of evidence that I can learn from: Bas Djikstra, Mark Winteringham, Angie Jones, TJ Maher

I’m sure there are plenty of other practioner’s who’s work I should be studying but am not aware of. And there are many I am aware of but have not mentioned here: I do have a newsfeed that monitors 931 blogs across a range of topics but I couldn’t list all of that. or them, here. If you know of any people you study then please leave a comment so we can all learn.

I like to find practitioners who are leaving a trail of ‘working’, not just explained results, but processes, code, ‘doing’ videos, case studies. I think this add longer term study value than an outcome report.

And study their work because they may be working at an aspirational level - a level of competence that you have not yet achieved, but they demonstrate the possibility of achievement and you can learn from them to build the skill to do what they do, or take a different implementation path after learning from their experience (a path you then document for future practitioners).

One thing I found particularly interesting about Isaac Newton was that he studied and practiced Alchemy as well as extensive exegesis on Biblical texts. He was looking for patterns, predictions and missing or obfuscated truth, that he could then apply. I haven’t read a detailed publication covering Newton’s Alchemical work, but I’d like to. I imagine that his experimentation heavily influenced his scientific work. But the key for me is that we should study subjects that we are interested in.

Not necessarily the subjects that everyone else studies. Study the stuff that resonates with you, and pull the experiences and skills from that study into your testing. You will spend a lot more time studying testing when you do that. Newton kept his notes and writings on his ‘secret’ studies secret, he made a massive impact with his mainstream work. Perhaps your secret studies will inform your mainstream work in ways you can’t possibly yet imagine.

  • use older texts and materials, not just the work of your contemporaries
  • use critical thinking, objectively applied to your material
  • study the published and demonstrated work of other practitioners
    • if they haven’t published then ask if they have code, or evidence they can share
    • Use their work as a benchmark for what is possible and “up your game”
  • Look for the evidence behind the experts
  • find people who work at an aspirational level
  • publish
    • People can comment on your stuff
    • Remember “haters are gonna hate”, ignore them
    • But do act on critical feedback that can help you improve
  • study topics that you are interested in
    • regardless of whether other people think they are relevant
    • if you can learn from them then that is important
People mentioned in this article and the video:

No comments:

Post a Comment