How did you come to be in your current role at Red Gate?
I got into testing in my first job after university, at a blue chip company in Hertfordshire – I took a ‘summer job’ as an auditor running scripts to test photocopiers, whilst applying for positions as a developer. Part way through the summer I got involved with writing the test scripts I was running. This soon led on to other test related projects and as I was enjoying myself so much breaking software, rather than building it, I decided to focus on testing rather than development.
I’ve been at Red Gate for seven years – I originally joined Red Gate because I wanted a new challenge and I was really interested in the products the company had. Back then Red Gate was a small start-up and it has changed a lot in the time I have been here! I’ve worked in many areas of the business, including working on SQL Compare and SQL Backup Pro, and I am also now Red Gate’s Head of Test.
What are the key skills and qualities you need to be a good test engineer?
You need a natural curiosity about technology and a deep-founded desire to work out how things are built and how they work within their environments. You also need to be extremely detail-orientated to spot the errors and unusual behaviours that lead to you uncovering more serious problems.
The testers at Red Gate are all also domain experts; the testers working with the database administration tools, for example, are as well versed in the internal workings of SQL Server as experienced DBAs, most have a Microsoft certification or two under their belts too. Clearly understanding the environment within which the software you are testing operates is crucial as it allows you to create appropriate test cases and test data. However, it also allows you look at the software through your users eyes, truly understand the problem the product is trying to solve and guide the development of the product in a way that will best suit the end users.
Tell us a bit about the product you are currently working on
SQL Backup Pro is a mature product now, but is still evolving. We are currently discussing the next version of the product, I cannot really say too much at the moment, but it is an exciting time; deciding what features we are going to include, how they are going to work and how we are going to test them. This is one of the great things about working at Red Gate – you aren’t a small cog in a big machine, you can see the effects of your ideas and decisions in the products you work on and release.
Describe a typical day for a Red Gate test engineer
There’s no ‘average day’ here, as testers are involved throughout the software development process from planning, to implementation and then post release support. There is lots of variety in test work!
A day could involve a morning of designing and planning the next version of a product- ensuring the specifications are clear, that there is a strategy for testing the product and most importantly what product will what the user requires.
Then the afternoon might then involve manually testing a new feature that a developer has just implemented – creating and running test cases to ensure the feature work correctly, raising bugs when it doesn’t and ensuring test cases for these bugs are incorporated into an automated test system so they will never occur again
One of the larger challenges I have with day-to-day work is that some of the development team are based off-site in different time zones, which can make communication tricky.
What’s different about working with DBAs?
During my time in the software industry I’ve worked with database developers, exchange admins and database administrators. Database administrators are responsible for looking after other people’s information and therefore are extremely concerned about the security of their data, the stability of their systems and maintaining their disaster recovery processes – they are therefore understandably risk averse and need to have confidence that anything they install is proven and can be trusted not to compromise these areas. This means the sales cycle for database administration tools seems to be longer.
The other big thing about working with SQL Server DBA’s is the fact that there seem to be as many different hardware configurations as there are individuals in the DBA role! There are so many options for SQL Server – SAN vs no SAN, different security settings, virtualisation…all are equally valid. This makes testing more interesting as we need to allow for these different permutations when we test. The difference, for example, between the needs of a DBA in a large, blue chip organisation with 200+ servers and someone in a start-up running everything from one machine is staggering.
If there was one question you could ask DBAs, what would it be?
As mentioned in the previous question, DBAs work with such a variety of different environments and it would be great to collect more information about what is out there. I’d like to ask DBAs reading this to give us feedback about the configuration of their SQL Server environments in the comments below!
What’s the best thing about your role?
The best thing is the ability to constantly learn and develop new skills, and the great people I get to work with every day at Red Gate – it’s a really friendly place to work.
And finally, tell us a bit about yourself outside Red Gate.
Outside Red Gate, I am ridiculously keen on both photography and lego, and actually combined the two in a 365 project, Lego Tales, recently (you can see Jonathan’s project, Lego Tales, here).