Tag Archives: interview

Recruiter

I thought this would be an interesting share, this has never happened to me.  A few days ago I received a recruitment email from a local recruiter who found me on LinkedIn. I figured it couldn’t hurt to see where the exchange might lead.  I’m always curious to learn what’s happening in other parts of our industry. I’ve learned that often times you can distinguish what values are implicitly expressed and valued by an interviewers questions. You can also learn a lot by what is not asked in an interview.

<Insert Recruiter Name>

Here are the responses that you requested. I realized while answering the questions that there is perhaps a significant difference between <My Company Name> and <Company Seeking Groovy Peoples>.  Our organization is fairly flat when it comes to our Professional Services QA team. There are no test leads per say, we act as a collective body who critique each other. As a generalization each person on the team tends to specialize in areas of the product. I was brought onto the team to focus on automation and push the team towards best practices.

But what does a test plan at <My Company Name> consist of?
The short answer is the level of granularity in a test plan at <My Company Name> varies depending on the specific project, the amount of risk introduced into the system by the changes, the module being tested, and time constraints. Often times these begin as broad-stroked outlines of tests that we aggregate into test suites. Due to the nature of our interpretation of the agile process a story’s implementation often evolves throughout the sprint. It is up to the tester to work closely with the developers, customer, product owner, and system architect to understand and guide the test plan appropriately.  I should note that I believe it falls on the tester to play the role of understanding the largest picture of the system that is being developed for and helping the team keep that picture freshly oriented during the different development phases.

Were they created by him alone or as an assist?
I create test cases and plans on a regular basis. The initial test plan is formed when we’re discussing a story’s acceptance criteria during planning.  When the iteration begins, it is the responsibility of each tester on our teams to take ownership of drafting the initial test plans for the story that they’ve picked from the task list. These test plans are fluid tours of what needs to be tested.  When I say that the test plan is the responsibility of the individual, what it really means is that they are responsible for engaging other team members in the process. Quality is owned by the team, the role of the tester is that of an advocate.
Where did he learn testing methodology? Who was his mentor and/or basis for his skills?
I learned the basics of test design in school and supplemented that experience with experimentation while managing development teams and projects at Freecog. Now that I am aligned with <My Company Name> I continue to study process and test theory and experiment with practices that may be relevant to our processes. There is also a lot of discussion amongst the team about best practices.  As for direct mentoring there is a development lead and senior architect who share interests with me and provide a forum for discussion and direction (the first individual in automation, the second in better test design for our product). I am also an active member in the agile test community and find great inspiration from the people that I interact with.

Technical Interview

I’ve recently had the discomfort of being on the other end of the interview table, the side asking the questions. A couple of warm up questions that I’ve posed to would be candidates left me a bit surprised or at least underwhelmed.

I should note that I personally hate interviews that the interviewer bases success solely on your ability to write the solution that they’re looking for. That said we’d recently gone through a very frustrating bout with a few contractors who claimed they loved to test but also have the handy ability of writing code. There resumes clearly stating that they were very qualified.  The last bit we learned quite painfully was a bit of an over-exaggeration on their part.

Using any language (preferably Python – the job description notes we’re Python fan-boys & girls):

  1. Write a simple loop to iterate over a dictionary and print out key, value pairs?
  2. Write a simple loop to iterate over a list and print out the values?
  3. What’s one method to print out the values from 0 – 10?
map = {1:"one",2:"two",3:"three"}
for k,v in map.iteritems():
  print k,v

list = [1, "two", 3, "four"]
for item in list:
  print item,

for i in range(11):
  print i,

The above code is really nothing special but its a reminder of how important understanding some base concepts of how to access data structures is.

Below is a quote from my mentor:

“You really need a strong resume to get an interview, and to get past the phone interviews you need to have a solid understanding of data structures (lists, queues, stacks, trees, maps, hash tables, sets), their implementations, big-O order of operation, which one to use in what situation, etc. I strongly recommend reviewing your data structures text book. I also recommend reading the book ‘Object-Oriented Design and Patterns’ by Cay Horstman, as object oriented design, design patterns, and their use are also important topics that get covered in the interview. Another useful book is ‘Programming Interviews Exposed’ as it gives some insight into the kinds of questions you might get asked and the way to handle them.

I can’t stress this too strongly – I reviewed data structures (including some obscure ones) and these book, and it really helped me in the interviews. Based on my experience here and at Google, the questions will be very detailed, you will need to be able to think on your feet, and you need to be able to justify your design decisions (why did you use that data structure? Do you really need that class? etc.)”