I received a mail a few weeks ago from an young Computer Science undergraduate with a dilemma. He was trying to find an undergraduate placement, or internship, but was struggling. In his own words
The main issue that I am having is that all the internships that I have found so far seem to be heavily software engineering based and whilst I would say that I am a competent programmer, it's not something that I really enjoy and I'm not sure that I want to have a career where the main focus is programming.I was saddened by this but not entirely surprised. The impression that I get from most of the recent CS graduates that I've spoken to is that they have very little visibility of any careers other than programming when leaving University. While programming is an essential element in software development, the professional field of IT has a much richer range of important roles that can form rewarding careers. Given that this is primarily a testing blog, I'm clearly talking about testing, however I'm also thinking about technical support, systems administration, implementation and many other key roles.
In my reply I explained that I understood his position, programming careers were not for everyone, and assured him that there were many possible careers that he could consider that required a range of skills in addition to or instead of programming, starting with my own areas of testing and technical support:-
Testing - this is not a role that people necessarily look to as a career when leaving university, however there are many of us out there who are enjoying careers in testing. Personally I am enjoying far greater success as a tester than I think I ever would have achieved as an Analyst Programmer, which is where I started out. Testing can provide a great mixture of problem solving, modelling, business / customer facing work and scripting / programming so is great for someone who values a mixed role. There is a trend at present to discuss the "death of testing" but I think that this is a good thing. Many historically have perceived testing as a low skilled role and actually what we are looking at is the evolution of testing roles into more interesting and challenging jobs for talented individuals.I went on to highlight some other roles that I had not personally done but that Tom could consider, these included Pre-Sales and implementation, Systems Administration, DBA and Business Analysis.
Support - technical support comes in many forms, the main two being internal IT support withing large organisations (supporting Desktop and server installations) and customer support for software vendors. My team fall into the second category. It is challenging work as the customers often have high demands, however there is a lot of problem solving involved and, depending on your company, there is the potential to work with people from all around the world. Some of our customers include organisations in the USA, Italy and Japan and large mobile phone companies in the middle east. From a support role there can be a good progression into more responsible outbound roles such as presales and implementation support, where you work directly with the customers helping them with their initial software implementations and resolving the issues that they face. Again this can be a challenging role but also very rewarding both in terms of money and job satisfaction.
An Educational Endeavour
Tom was enthusiastic about finding out more about testing and support. After further discussion, and some useful input from his university careers office, I was pleased to offer him an internship placement in my team. Our VP was very supportive and and made all of the arrangements.
I am planning a test exploration and automation task, combined with some job shadowing. I'm hopeful will provide an enjoyable position and show him how how much problem solving and creativity is involved in both testing and support jobs. Given that it is my first foray into running this kind of scheme, I'm sure I'll make some mistakes, however I hope to continue to offer similar placements in the future.
Internship placements are a great way to allow young people access to potential careers. The US based SummerQAMP scheme, backed by the AST is looking like a great incentive to expose testing as a potential career to young people in America through summer internships. In the absence of a similar incentive in the UK then the more organisations that offer similar placements on an individual level to our talented undergraduates, the better.
Let's not miss out
The lack of visibility of testing and other roles to CS undergraduates seems to be a real problem. Programming is a field that does not appeal to everyone yet there are undergraduates like Tom who appear to have little knowledge of their alternatives. The skills that make good programmers are very different to those that make good testers or implementation consultants and successful IT organisations require a mixture of abilities and personalities. Without incentives to educate our youngsters on their options, I worry that this lack of knowledge of the other careers that are available could actually be deterring young people with valuable aptitudes from progressing into IT.