Posted: 22 Jan 2014 | 09:23
On Monday 2 December, I took part in a panel on Software Engineering for the Professional Software Development course at the University of Glasgow's Computing Science department. Organised by Dr Tim Storer, a lecturer in Software Engineering, the panel was an opportunity for 3rd-year students of the computing science and software engineering programmes to quiz a varied group of software engineers. EPCC was one of the groups invited to attend this year, so as a graduate of the software engineering programme at Glasgow, I volunteered.
The panel was organised in a 'Question Time' style, where the discussion was mostly driven by the questions of the audience. Doing a panel like this is always a daunting prospect as it relies on the audience to participate for it to work well. It also relies on a good chair to direct the discussion and ensure panellists do not ramble on.
There was a range of experiences present on the panel. Meurig helped to set up Kelvin Connect, which provides mobile information solutions for the criminal justice and social care sectors.
Chris works in quality assurance for JP Morgan's information technology section and is driving its uptake of behaviour-driven development. His company experience ranged from development to management, including knowledge of how agile methods are used to deliver rapid development products for its clients.
Ilze was the most recent graduate on the panel and since graduating has been working at Morgan Stanley on development projects, including regulation compliancy software. She gave a good description of her work, the different processes that are followed, the types of methods used and how training works at Morgan Stanley.
The students were able to ask lots of questions of the panel, with bribes of cake used to get the ball rolling. Even without this incentive, the questions would have come quite well. The students were very engaged, asking a range of questions about careers and different areas of software engineering.
Some questions were about daily activities, such as how much time did we spend developing as opposed to other activities, which led to a bit of a discussion about what counts as development activities. Others asked about the structure of the panellists' days, highlighting the differences between those with management responsibilities and those without. It helped that the two panellists with management responsibilities (Chris and Meurig) were good examples of how to approach management activities.
One of the first questions asked was about favourite programming languages and technology stacks. This produced some difference in the panel, with SmallTalk, Java and C# all being mentioned. All the panellists noted that often technology choice is driven by the problem at hand (some technologies address different problems better), existing software or development practices or client requests, and the developer has to work within that framework.
One of the last questions was what would we change about where we worked? And although I jokingly said ban caffeinated beverages, the panel was pretty much in agreement that review processes and HR arrangements were key things that could be streamlined.
Before the panel session ended, Tim took the opportunity to ask us: 'What was the most useless thing you learned at university?'
None of us could think of anything that was useless, but some of us regretted that we didn't make better use of the learning and teaching opportunities available at the time. Some of the things we 'learned' have come back later in our careers, leaving us wishing we had concentrated more on them at the time.
I would like to thank Tim Storer for organising and chairing the panel, he did a good job and I think the panel went well with the students. The other panellists' answers certainly gave me plenty to think about, and hopefully the students gained new insights into software engineering.
Taking part in this panel was a good experience that I can thoroughly recommend. If the opportunity arises again I will not hesitate to take part.