Thursday, June 30, 2016

Test is a Ghetto

If you read software testing news aimed at the general public, you might be of the opinion that software testing is done by, and *properly* done by:

The key of course is "minimal training". There is a class of software testers who have minimal programming skills, or system administration skills, or database skills, or any technical computer skills at all. These testers do honorable work and can be valuable members of a software development team. They have been my colleagues; I have helped hire them; and I have trained them in test automation. And I still do that sort of work myself sometimes, although others are better at it than I am.

However, their lack of technical skills mean that they tend to have lower status, lower income, and are often considered fungible, easily swapped out as economy dictates, or replaceable by automation. At least at the start of their careers, these testers can be caught in a vicious circle of not having the technical skills or critical abilities to advance their careers, while also lacking enough understanding of modern software development to see a way to improve their skills. Many stay in this circle indefinitely, where a whole mythology of the value of codified ignorance evolves. This is the software testing ghetto.

Ghettos exclude their occupants from the general discourse, but it is also true that ghettos are exploited by agents of the greater culture. Software testers, particularly junior-level software testers, especially such testers that are because of their circumstances ignorant of modern software development discourse, are especially prone to exploitation. If they are represented by an agent, then someone is paid to recruit them and train them. Someone is paid to negotiate their contracts. Someone sells their employers the tools they have been trained to use.

I have not found out anything about the training that autistic people, Aboriginals, or Malaysians receive; the original draft of this essay was to have provided a detailed analysis of the training provided by Doran Jones, Per Scholas , and Keith Klain in New York City. There is a wealth of material available, and I urge you to search online yourself.

However, in the course of doing that research, I discovered that Doran Jones has sued Keith Klain and Per Scholas for fraud over that software testing training program. The entire document (PDF download link)  is a fascinating look at the inner workings of those agencies that sell software testing services. The part of the lawsuit relevant to the software testing training begins at paragraph 89, for those who wish to read it. Also of interest given the stated list of Per Scholas partners is paragraph 37.

Under the circumstances, and given the nature of the claims against Klain and Per Scholas, I think it is not appropriate for me to publish my comments, but I would like to point out one fact not contained in the lawsuit documentation: the Association for Software Testing committed their resources  to the Per Scholas training program in NYC while Keith Klain was a member of the AST Board of Directors. I expect that the current and recent officers of the AST are extremely interested in the outcome of this lawsuit.

Klain says this about software testers: "Software testing is a strange business. It’s commoditized (sic), devalued, misunderstood, and goes through cycles of being chopped, changed, and lives at the front lines of imminent takeover by our robot overlords. Why anyone would want to be a professional software tester is even harder to understand." Read the whole thing

Interestingly, Klain and the people involved in this Per Scholas project are also the most vocal opponents of software testing certification, sometimes with questionable approaches to gutting certification efforts.

It makes sense that these agents of minimally trained software testers would oppose certification. A global, generally-accepted, inexpensive certification in software testing would allow those entry-level software testers with limited knowledge of modern software development culture to more easily be their own agents in that culture. The market for this sort of exploitation might shrink considerably. In hindsight, I wish I had said this explicitly when I tackled the topic in 2010.  As your career matures, your CV becomes more important than your certifications, but getting certified early on is a perfectly reasonable career move.

As Marlena Compton said in her 2015 essay "A Tableflip Guide: Transitioning from Tester to Developer"  "If you go to a testing conference you’ll find people talking about how you can stay in testing forever and how it is a great career path. I’ve noticed that, often, the testers who shout the loudest about staying in testing forever have carved out their own place in the power structure of the software testing industry." I urge you to read the whole essay.

I'll suggest further that those testers shouting the loudest may also depend on the minimally skilled testing ghetto for their livelihood, and may not have your best interests in mind.

If you as a software tester

are happy with your career path and prospects for growth
are happy with the skills you have and the prospects to develop them further
are respected by everyone on your development team and are treated as a peer
represent your own interests to your employer with good faith on both sides
have technical training available to you
understand technical aspects of software development other than testing

then this essay probably does not describe you. If these things are not true for you, you may be in the software testing ghetto.


David Greenlees said...


I’m a member of the Doran Jones management team, and have been for the past 12 months. I have seen first-hand how the company has helped change the Bronx Tech Community, the wider NYC Tech Community, and individual lives… all in a very positive way. Every member of the team prides themselves on the fact that we’re going good things for those that have been less fortunate. Not only can we be proud of the testing we do, but also the work we can do to help these communities.

I would like to bring attention to this part of your post…

“Interestingly, Klain and the people involved in this Per Scholas project are also the most vocal opponents of software testing certification, sometimes with questionable approaches to gutting certification efforts.

It makes sense that these agents of minimally trained software testers would oppose certification. A global, generally-accepted, inexpensive certification in software testing would allow those entry-level software testers with limited knowledge of modern software development culture to more easily be their own agents in that culture. The market for this sort of exploitation might shrink considerably.”

Now, while I can’t be certain of your intention with these comments, my interpretation of them is rather negative. It’s as if you’re saying that we have been vocal against certification all these years so that we can then exploit a particular group of people. If that’s not your intention then my apologies, and perhaps you can clarify what it is? If that is your intention then I take personal offense to it and I think you should be ashamed of yourself for making such a broad, general, bold, and uneducated claim.

Lastly, I know many very happy software testers and hardly any of them could claim to meet all that you have listed at the end of your post. Do you truly believe that all of those are required to not be in a ‘testing ghetto’?

Jason said...

Honestly David, that list at the end sounds an awful lot like the bare minimum attributes that somebody living in a free country would want in a job. I certainly wouldn't settle for less now. I did on my first couple of software testing gigs, but with the explicit understanding that I was getting my foot in the door and that I fully expected a job that looked like that list as soon as I could demonstrate the necessary competence, and that I would get that job one way or another (meaning with or without the blessing of my employer at the time). I'm very curious which of them you would consider to be optional.

Being systematically asked to settle for less, on a long-term basis, does sound an awful lot like a ghetto to me. I think that's what Chris was driving at.

man9ar00 said...

Comments regarding 2 items in the list at the end:

* have technical training available to you

I wonder what "available" means. A clarification would be nice. Today, tech training is a lot more accessible/available (and can be free) to all via the internet if you know how and what to look for - many different types of resources (videos, courses, books/ebooks, blogs, articles, magazines). Going back to more traditional/older times, public libraries offered a way to get tech training with free checkouts of books and videos, assuming one has a good neighborhood library with tech material.

So I would think this item is rare not to have except for the very poor that don't have much if any internet access and good neighborhood libraries.

On the other hand, in the corporate space, very few employers offer explicit tech training on the job, or reimburse for any paid training you take. So most of the time, you learn on the job in your own way, unless you find a nice big corporation of an employer that has training/reimbursement programs.

* understand technical aspects of software development other than testing

If this is about SLDC and software development process, then that's a different matter. Although I'd wonder why the tester would not know this to begin with, since SLDC and the process in most cases involves everyone on the project (developers, testers, business folks, project managers). To leave others out indicates a badly run company/team/project.

If this is really about tech skills more akin to programming and being a software developer, then this is also partly on mindset and career goals. I have observed even testers who "should have" come from a "supposedly" decently trained background that would not indicate a "ghetto" have this issue (e.g. have Engineering or Computer Science degrees but end up in software QA and have somewhat sub-par programming skills).

Rosie Hamilton said...

Thank you for sharing your experience Chris. This is a very interesting blog post.

During the time I spent working in the UK games industry I did experienced what you would describe as a ghetto. Zero hours contracts, testers seen as unskilled disposable employees. There were demands placed on testers to work additional unpaid hours, known as the dreaded "crunch" time.

Since leaving the UK games industry my experience has been the complete opposite of a ghetto. I have experienced competitive wages and opportunities to develop my skills. I feel like I'm part of the team and certainly not disposable.

I recently completed a study of software testers (full details published on and wanted to contribute some of the stats I discovered.

86.6% of tester say they feel like part of the team
84.4% of testers say they feel they are making a positive difference
76.9% of testers say their company supports them to attend training courses and conferences
73.5% of testers say they are happy in their current testing job.
73.1% of testers say they feel their employer values their technical skills
72.6% of testers say they feel there are opportunities for them to progress and take on more responsibility.
72.6% of testers say they are not expected to work unpaid hours
64.5% of testers say that people in their workplace appreciate the role testing plays in development
58.6% of testers say developers are seen as superior to testers in their organization
15.6% of testers say they are blamed for missed bugs

I think the ghetto you describe certainly exists. However I also think the population of the ghetto described is likely to be much smaller than imagined. It is my belief that certain industries are like to be more ghetto than others. Games and pharmaceutical industries immediately spring to mind.

All the best,

Jack Arnstein said...
This comment has been removed by the author.
Jack Arnstein said...
This comment has been removed by the author.
Jack Arnstein said...

As a graduate tester, I was unsure what my first experiences would be like within the workplace but i have been pleasantly surprised. There has been no discrimination between myself and graduate developers. Instead we have received the same training and tutoring in programming languages and development tools for many weeks. This was followed by being financed to attend training courses on testing and access to many online resources to further enhance my testing skills, and the promise that any course which interests me in the future will be considered as part of my future training by the company.

From the moment I began to work on real projects, I was a valued member of a team, appreciated by developers, project leads and even clients. I have never once heard a developer blame a tester in my work place for missing a bug.

I feel that the issues being discussed here dont relate to the job of "tester". Instead they relate to specific companies and industries perceptions of what that role entails. They also relate to the companies/industries position about training and career advancement as a whole.

The right companies value testers. They train them, they advance them, they help them learn and to grow.

The right people value testers. They treat them with respect, they include them, not isolate them and they most certainly dont treat them as less than developers or consider certifying a developer as better investment than a tester.

Of course im not at the top, looking down and shouting about how great testing is. Im only a graduate tester, shouting out how much I enjoy it from down here, so im not sure how much my opinion really matters ;)

David Greenlees said...


“I think that's what Chris was driving at.”

If that was what Chris was driving at then it helps clarify things a bit. I agree that dealing with not having one or more of the items in the list for a long period of time would be rather unpleasant.

I took the technical training item as being training provided by one’s employer, and in that case I know many that don’t provide it while still having very happy testers. Of course it would be better if they did provide it, but I don’t see the lack of it pushing a tester into the ghetto. If Chris means any available technical training then the item is not required on the list, as you can get this almost anywhere on the web these days.

Also, being happy with the skills you have and the prospects for developing them are two very different items. Items that can change on a day to day basis depending on your role, personality, wellbeing, etc, etc.

If we were to generalize the statement a bit like, ‘If you are a software tester and generally…’ or ‘If these things are not true for you for any great period of time…’ then I get it.