понеділок, 16 січня 2017 р.

Being a Remote Tester

Being a people person, my first priority when seeking a new testing job always was a Team. Moreover, last couple of years I've been working in agile development team, mostly as a Scrum-master, with tight daily collaboration with developers (all sitting next to me) and whole-day-round chatting with a product owner (being remote but always available for any conversation during my working hours). I used to be aware of all processes and conversations going on in the team. I even could give a rough estimate instead of developers. Our team was really cross-functional and agile.
But the projects move in and out, companies grow and blow up.
So it was a time for me to move on. After almost a year of looking for a team/project that would be as good as the previous one, I gave up and accepted a proposal that made me an only team-member on the Europe continent with 10 hours time difference with the rest of the team. At that moment I truly felt what Gerald Weinberg puts in his Secrets Of Consulting
Struggling to stay at home can make you a wanderer.
Struggling to travel can make you a stay-at-home.

And I'm surprised how comfortable I am now in my new "stay-at-home" status!

http://thednetworks.com/wp-content/uploads/2012/03/under-sea-cable-map.png

These are main differences I hit on my new job:
  •      Much less conversation, much more action.
    •   I have to do more stuff by myself. Either I figure out what is wrong and make a work-around, or... well, I don't have other options.
  •     Completely different environment: stand-alone, C++, Windows (1990-ish, isn't it?)
    •  New approaches, new oracles, new test techniques
    •  I learned a bit of C++
    •  When you know things on other platforms it's great to learn how this is done on Windows :-)
  •     Weak influence to product and architecture decision-making
  • This is rather unusual for me but hey! Let the marketing wind blow to my sails of testing!
  •     Forget about "Development flow under my control"
    •   I attend team meetings 3x20min/week, so I don't have development details that I do sitting next to developers.
    •   I'm excluded from all types of within-team conversations except a Slack team chat that is not so buzzy. Moreover, they mostly chat when I'm asleep, so it's literally "yesterdays weather".
  •     Welcome to "Procedures control" 
    • My work is still a conversation with developers, but now it's mostly formal.  
    • We need to develop new procedures and follow them strictly to make our collaboration effective. And I appreciate the efforts of my developer colleagues; for them to change is harder than for me, as they are quite conservative (you know, they write C++ in 2017).
  •     No interruption during working hours! That's amazing! Even this costs all the minuses.
  •  More focus on testing itself! Me and my System-Under-Test are tête-à-tête for the whole day.
  • The issues I considered blockers are not blockers anymore! 
    • It appears, testing can be far more independent than I used to see it.
  • I'm constructing my own understanding of the product and its dependencies. And it's truly mine! 
    • It helps me to find bugs I'd never find with the "team shared understanding". Although the agile practices promote collaboration, the result of interchanging opinions does not always make things better. 
    • Diversity is important even in Software Development. And especially between testers and developers.