forked from UoMCS/softeng
-
Notifications
You must be signed in to change notification settings - Fork 0
/
13-mentoring.Rmd
156 lines (107 loc) · 10.7 KB
/
13-mentoring.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Industrial mentoring {#mentoring}
Hello, welcome and thanks for your interest in our software engineering mentoring program. This chapter is aimed primarily at **mentors not students** so if you're a student on this course you can go ignore this bit and go straight to chapter \@ref(ourmentor) to find out more about how mentoring works.
If you're a mentor (or a potential mentor) read on...
```{r mentoring-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionmentoring)"}
knitr::include_url('https://youtube.com/embed/H3rnYhd5hx8')
```
(ref:captionmentoring) An outline of software engineering mentoring at the University of Manchester. You can also watch the 13 minute introductory video for mentors at [youtu.be/H3rnYhd5hx8](https://youtu.be/H3rnYhd5hx8)
A short video explaining our software engineering scheme is shown in figure \@ref(fig:mentoring-fig) which describes:
* the course and our students, see sections \@ref(thecourse) and \@ref(aboutus)
* employers who are currently involved, see section \@ref(thanks)
* what we ask of volunteer mentors, see \@ref(mentoringscheme)
* what mentors get in return for volunteering, see \@ref(payback)
* how to sign up, see \@ref(registration)
## When are the mentoring sessions? {#when}
There are two one hour sessions timetabled, where you will meet with the same team. Please only register if you can make BOTH of the sessions in the Allotted time:
1. **Thursday 21st October 2021 at 11am** BST (GMT+1) London (on Zoom)
1. **Thursday 18th November 2021 at 11am** GMT London (on Zoom)
These are the only times when we can guarantee that everyone in a given software engineering team will be available. Timetabling 400+ students is complicated as they are all on different degree programs with different options selected. This is why the mentoring sessions are rigidly fixed.
## I'm interested, how can I register? {#registration}
We are looking for around 60 mentors in September 2022, a registration link will appear here closer to the time. When we are oversubscribed we will give higher priority to:
* returning mentors, those employers who have already supported the scheme (see section \@ref(thanks))
* 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
* local employers, as part of the University's commitment to [civic engagement and social responsibility](https://www.manchester.ac.uk/discover/vision/#panel-civic-engagement)
<!--
registration link was
* [zoom.us/meeting/register/tJUrdO-rqDgiGtcKDTP_Zj_d_oWTPznHYl8t](https://zoom.us/meeting/register/tJUrdO-rqDgiGtcKDTP_Zj_d_oWTPznHYl8t)-->
## About us {#aboutus}
The Department of Computer Science at the University of Manchester [www.cs.manchester.ac.uk](https://www.cs.manchester.ac.uk) is one of the oldest and biggest in the UK. The [world's first stored-program computer](http://www.computinghistory.org.uk/det/6013/The-Manchester-Baby-the-world-s-first-stored-program-computer-ran-its-first-program) (the “[Manchester Baby](https://en.wikipedia.org/wiki/Manchester_Baby)”) was developed here in 1948, by the engineers and scientists who would go on to found the Department. This was followed by:
* the first floating point machine
* the first transistor computer
* the first computer to use virtual memory
This history of innovation continues today with cutting-edge research projects like SpiNNaker (part of the Billion Euro [Human Brain Project](https://www.humanbrainproject.eu/)) which has built a [million core ARM-powered neural High Performance Computer (HPC)](https://apt.cs.manchester.ac.uk/projects/SpiNNaker/project/). 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 2022, our [entry tariff is A* A* A*](https://www.manchester.ac.uk/study/undergraduate/courses/2022/00560/bsc-computer-science/) with an A* in Maths, and a minimum of one Science subject at A*. 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 \@ref(prereq).
You can find out more about mentoring and other business engagement activities at [www.cs.manchester.ac.uk/connect/business-engagement/industrial-mentoring/](https://www.cs.manchester.ac.uk/connect/business-engagement/industrial-mentoring/)
## About the course {#thecourse}
If you volunteer, the course unit you will support is our second year compulsory course on [Software Engineering 1 (COMP23311)](https://studentnet.cs.manchester.ac.uk/ugt/COMP23311/syllabus/). This is a year-long course unit that is taken by students on all of our undergraduate programmes followed by [Software Engineering 2 (COMP23412)](https://studentnet.cs.manchester.ac.uk/ugt/COMP23412/syllabus/). 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 2021/22 academic year, we have a cohort of more than 400 students taking Software Engineering. They will be working in small teams of around 7 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.
## About the Mentoring Scheme {#mentoringscheme}
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 \@ref(dealing). The dates/times for the visits are described in section \@ref(when). Both sessions are fifty minutes long.
## Meeting agenda {#agenda}
After a quick round of introductions, we suggest the following questions may be useful for structuring your meeting:
### Getting to know your team {#teambuilding}
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?
### Challenging and guiding the team {#challenging}
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?
### Questions the Students Might Ask Mentors {#studentqs}
*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?
## What do mentors get in return? {#payback}
There are several benefits for you and your employer as a mentor:
1. Increasing visibility of your employer as an organisation that makes high quality software
1. 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
1. Career development: this is an opportunity for junior software engineers to demonstrate leadership and mentoring skills
1. Digital badge: we're offering signed digital badges as micro-credentials to thank our volunteer mentors
1. 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
## Who are the mentors? {#thanks}
We would like to thank all of our collaborators, partners and industry club members who have helped us to date including:
(ref:mentors)
Thanks also to over 1,500 students who have taken the course since its inception in 2016 and given us feedback on how to improve it.
`Document version:` `r format(Sys.time(), '%d %B, %Y')`