13 Industrial mentoring
Hello, welcome and thanks for your interest in our software engineering mentoring program at the University of Manchester. This is an online event where software engineers can share their experience with undergraduate students of Computer Science as they fix bugs, run tests and add features to a large open source software project called stendhalgame.org. If you are:
- a mentor, or a potential mentor, read on and register your interest in section 13.2
- a student, you skip this and go straight to chapter 14 to find out more about how mentoring works
A short video explaining our software engineering scheme is shown in figure 13.1 which describes:
- the course and our students, see sections 13.4 and 13.3
- what we ask of volunteer mentors, see sections 13.1 and 13.5
- what mentors get in return for volunteering, see 13.7
- employers who are currently involved, see section 13.8
- how to sign up, see 13.2
13.1 When are the mentoring sessions?
There are two one hour sessions timetabled, where you will meet with the same team on Zoom. Please only register (before Friday 13th October) if you can make BOTH of the sessions in the allotted time:
- Thursday 19th October 2023, 3pm to 4pm BST (UTC+1) London (on Zoom)
- Thursday 16th November 2023, 3pm to 4pm GMT (UTC) London (on Zoom)
These are the only times when we can guarantee that everyone in a given software engineering team will be available. Timetabling 500+ students is complicated as they are all on different degree programs with different options selected. This is why the mentoring sessions are rigidly fixed.
13.2 I’m interested, how can I register?
We are looking around 50 mentors in October 2023, you can register your interest at:
When we are oversubscribed we will give higher priority to:
- returning mentors, those employers who have already supported the scheme (see section 13.8)
- female mentors, because women are under-represented in our community
- BAME and other minority group mentors
- alumni, especially former students who have done this course since 2016, all 2000 of them!
- local employers, as part of the University’s commitment to civic engagement and social responsibility
13.3 About us
The Department of Computer Science at the University of Manchester www.cs.manchester.ac.uk is one of the oldest and biggest in the UK. The world’s first stored-program computer (the “Manchester Baby”) was developed here in 1948, by the engineers and scientists who would go on to found the Department. (Kilburn 1949) This was followed by:
- the first floating point machine
- the first transistor computer
- the first computer to use virtual memory (Denning and Ibbett 2022)
This history of innovation continues today with cutting-edge research projects like SpiNNaker (part of the Billion Euro Human Brain Project) which has built a million core ARM-powered neural High Performance Computer (HPC). (Furber et al. 2013) This is the world’s largest neuromorphic supercomputer.
In the most recent government ranking of all research across the UK, the School was ranked 4th in the UK (based on GPA), and was assessed as having the best environment in the UK for computer science and informatics research. Since awarding the first undergraduate degrees in Computer Science in 1965, the school has awarded 10,000 degrees in Computer Science at Bachelors, Masters and Doctoral level. Our students are sought after by employees, and are active (and successful) in taking part in major coding competitions and hackathons.
As of 2023, our entry tariff is A* A* A* including Mathematics and one science subject. As this is a second year course, students already have some experience of programming in Python and Java from their first year undergraduate study, see section 0.3.1.
You can find out more about mentoring and other business engagement activities at www.cs.manchester.ac.uk/connect/business-engagement/industrial-mentoring/
13.4 About the course
If you volunteer, the course unit you will support is our second year compulsory course on Software Engineering 1 (COMP23311). This is a year-long course unit that is taken by students on all of our undergraduate programmes followed by Software Engineering 2 (COMP23412). The course focusses on the skills and expertise needed to be able to work with a large body of open source code. Students will gain experience of
- fixing bugs in code written by other people
- writing and automating tests using test first development
- adding new features to code without breaking the existing functionality
- making larger scale architectural changes to improve non-functional properties of the system
…all while keeping the system up and running for its users.
For the 2022/23 academic year, we have a cohort of more than 500 students taking Software Engineering. They will be working in small teams of around 8 students to undertake team-based coursework assignments across the semester, and a final examination in the summer.
As well as learning about the academic discipline of software engineering, students take this course unit to gain key employability skills, to prepare them for interviews for industrial placements and graduate positions, and to allow them to hit the ground running when they do start work.
13.5 About the Mentoring Scheme
As a mentor, you are asked to meet with your team of students twice, to work with a team of students for around an hour each time using Teams/Zoom. The visits take place in specific weeks, during time when the teams are scheduled to be working on their Software Engineering coursework, see section 18. The dates/times for the visits are described in section 13.1. Both sessions are fifty minutes long.
13.6 Meeting agenda
After a quick round of introductions, we suggest the following questions may be useful for structuring your meeting:
13.6.1 Getting to know your team
Questions to get to know your team:
- What degree programme are you studying?
- What ideas do you have about your career?
- What interests you about computers/building software?
- Are you thinking of doing an industrial year, or a summer placement?
- What is the largest piece of software you have built/worked with so far?
13.6.2 Challenging and guiding the team
Questions to challenge and guide your team:
- What are you working on at the moment?
- How are you coordinating work within your team?
- What sorts of challenges are you facing at the moment?
- What team working issues have you faced so far?
- How did you divide the work between the team members?
- How do you think your team is performing? How do you know?
- Are you on target to meet your next deadline? If yes, how do you know that?
13.6.3 Questions the Students Might Ask Mentors
Questions about the mentor:
- Can you give a brief overview of your career up to this point?
- How did you get into the job you are doing today?
- What do you enjoy about your current role?
- Was there anything that surprised you about working in industry compared to being a student?
Questions about team-work:
- How do you resolve technical disagreements in development teams?
- How do you deal with personality clashes within your team?
- How do you encourage people to recommit to the team?
- One of our team members isn’t contributing. Would this happen in industry? How would you resolve these problems?
Questions about the process of developing software:
- What processes/methodologies do you use in your company?
- What software tools do you use and why?
- What process do you use to release software in your company?
- What code review practices do you use?
- What makes a good commit message?
- What does a good test look like?
- How big is the software system you are working on now?
- What techniques do you use when working with code written by other people?
- How can we avoid getting into a mess when using Git (or other version control systems)?
- We’re having a lot of trouble fixing this bug/making this change? Do you struggle with this too? How would you go about dealing with this sort of problem?
Questions about employability:
- What skills do I need to be competitive in job applications?
- What skills do you look for when you are hiring people?
- What do you know now you wish you’d known as a student?
- What are the current trends in software development?
- What up-and-coming topics do you recommend we should know about?
- What can I do to make my CV stand out when applying for placements/jobs?
13.7 What do mentors get in return?
There are several benefits for you and your employer as a mentor:
- Increasing visibility of your employer as an organisation that makes high quality software
- Share your knowledge and expertise: employers often complain that students could be taught better, this is your chance to improve the quality of teaching and prepare students for the workplace by making them aware of the realities of modern software engineering
- Career development: this is an opportunity for junior software engineers to demonstrate leadership and mentoring skills that might be difficult to get in their workplace
- Fun: Many of our mentors enjoy the experience of working with young people as they take on a big software engineering project, often for the first time
13.8 Who are the mentors?
We would like to thank all of our collaborators, partners and industry club members who have helped us to date including:
Airbus, Airnode, Alphabet (Google), AND Digital, Apadmi, Apple, ARM, Auto Trader UK, Barclays, the BBC, Bet365, Beyond Trust, Biorelate, BJSS, Blaize, Bloomberg, Booking.com, Brightec, CERN, CDL Software, Cisco, Codat, CodeThink, Code Computer Love, Cognizant, Couchbase, Cubic Motion (now Epic Games), DAI, DataCentred, Digital Bridge Ltd, Disney Streaming, EGN Digital, Farm Digital, Giant Digital, Goldman Sachs, IBM, Interact Software, Ivanti, Koder.ly, Matillion, MediaTek, Meta (Facebook), Microsoft, Moonpig, Morgan Stanley, Nandos, NCC Group, On The Beach, Peak.ai, Push Doctor, Rental Cars, Sainsburys, Sage Group plc, Shout Platform Limited, Roku, Siemens (Mentor Graphics), SKY, Slalom, Spotify, SteamaCo, The Startup Factory, Tanglewood Games, THG, ThoughtWorks, Tranzfar, UK Parliament, UL, Unipart Digital and Zuhlke.
Thanks also to over 2,000 students who have taken the course since its inception in 2016 and given us feedback on how to improve it.