December 2008 Newsletter

Welcome to the first Knowledge Stairway newsletter!  As you know the challenge of obtaining clear requirements from hiring managers and matching those requirements with hundreds of potential candidates is a significant task.

This email is designed to facilitate this difficult task one newsletter at a time. Our goal is to bring you closer to hiring managers and job seekers by providing fresh information on the following topics: Interview Tips, Resume Jargon and a Professional Interview with an IT individual.

This month I interviewed Philip Daye on his thoughts about Quality Assurance and some of the challanges Testers face in corporate environments.

The Resume Jargon section discusses acronyms and concepts typically found in resumes or important to know during conversations with hiring managers.

If you find this newsletter useful, please forward it to your colleagues and ask them to sign up!

Thank you

Interview Tips 

Is ASP.NET a language?

Some hiring managers may lack the necessary technical understanding that can help you receive precise requirements. You may have received requirements stating that the candidate should have a strong ASP.NET background. What does this mean?

ASP.NET is a part of the .NET framework that developers use to code web applications. With ASP.NET developers can create rich web pages that contain forms, graphics and content. ASP.NET is not a language by itself however. .NET developers will usually code ASP.NET web applications using C# or VB.NET. 

So when a hiring manager asks you for an ASP.NET developer, be sure to ask in which language the developer will be using (C# or VB.NET).

Interview with Philip Daye

Discussion with a Sr. Software Tester

Q: What is the typical role of a Software Tester?

Simple answer: Find all the bugs before release!
 
In reality, it depends on the maturity of the organization and the processes they have in place. A good tester should be able to identify the proper test cases from the available information, document the tests in some way, execute them and analyze the results. If the test results in a defect being discovered, the Software Tester then needs to report it in a manner that leads to it being resolved.
 
The Software Tester is the stakeholders' advocate - they should always focus on what provides value to the stakeholders (including the end-user). 
 

Q: What are some of the challenges Software Testers face in the workplace?

One of the biggest is the lack of understanding of what should be the role of the Software Tester . Most of the other problems stem from decisions made without this proper understanding.
 
So, testers are often brought onto a project late, with little or no time to prepare. The budget often doesn't provide for adequate test resources and tools to do the job.
 
Finally, testers are rarely given all the information they need to do an effective job. Sometimes it's even difficult to find out who has the information.
 
All of the above is usually worse for automated testing. 

 

Q: What are the qualities of a Software Tester?

I recently read a blog post comparing Software Testers to forensic investigators - we're the CSI of software development! I like this analogy, because it highlights that a tester should be skilled and inquisitive.

Skilled: I am constantly studying all aspects of software systems in general and development and testing in particular. I need to know how things work if I'm going to find the places they're likely to fail.

Inquisitive: The tester needs to explore each bug to 1) boil it down to the simplest case that reveals it and 2) expand the parameters to see if it's part of a larger collection of faults. 

Q: If you were to hire a Software Tester which questions would you ask?

I've been finding more testers can only give text book answers to questions. They don't know how to apply it to real-world situations. I'm going to ask about problems they faced at prior jobs, how they solved them, were they successful or not, and what they learned from it.

Then I'll ask questions based on the position they'd be coming into. It's not about right/wrong answers as much as about thinking, analyzing and solving. (I might focus more on the right/wrong answers for junior testers, but I still want to see how they think. Teaching how to test takes less time.) 

About Philip:

I've been in IT for a dozen years, starting in Technical Support. Domain knowledge (from prior jobs) and technical skills opened an opportunity for me to move into testing and I knew I found what I wanted to do. Primarily, I've done test automation, but I've also done my share of manual testing, as well as Quality Assurance/Process Improvement. I've been fortunate to lead a team of testers and to act as a mentor to junior testers. 

I have a Bachelor's Degree in Mathematics from the University of Miami. I'm also a sometime musician, actor and stunt man. (No, really!)

Resume Jargon 

MVC (or Model View Controller)

Seasoned developers use advanced techniques to organize their code in files and logical units that make it easier to maintain their programs. These techniques are called design patterns.

MVC (Model View Controller) is a pattern that allows developers to separate different sections of their code into three key areas:

  • Model: The data and its business rules such as price information, sales tax logic... 

  • View: How the information is supposed to be displayed on a screen such as text boxes and buttons...

  • Controller: How the data is supposed to be displayed in the View and how the model will be used based on user input

This technique is primarily used by User Interface developers that need to ensure their code can easily be ported to other platforms. For example if an application is exposed on the Web but may be ported to a Mobile Device in the future, developers should use an MVC pattern to make the transition easier and to ensure maximum code reuse.   

Note to Recruiters: The MVC pattern is considered an advanced technique. Developers with strong Object Oriented Programming background can learn this pattern very quickly.

Note to Account Managers: If a client has multiple custom application platforms, such as Windows Applications, Web Applications and Mobile Devices, ask if candidates should have MVC experience.