-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path05-experiencing.Rmd
468 lines (328 loc) · 48.3 KB
/
05-experiencing.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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
# Experiencing Your Future {#experiencing}
So, tell me, are you experienced? Why is experience valuable and what kind of experience are employers looking for anyway? How can you get some more experience? 🤔
```{r 404-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:caption404)"}
knitr::include_graphics("images/404.png")
```
(ref:caption404) Do you respond with a sheepish `experience not found` when people ask about your experience? Is your experience like the [classic page not found](https://en.wikipedia.org/wiki/HTTP_404) error message `HTTP 404`? The client sent you a valid request for your experience, but your server couldn't find it. Awkward. Embarrassing silence? 😳 Don't worry, there are some simple and easy ways to build your experience so that instead of negative 404's, you can respond with a cheerfully positive `200 (OK)`, as described in this [list of HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). We'll look at some of them in this chapter. Experience not found sketch by [Visual Thinkery](https://visualthinkery.com/) is licensed under [CC-BY-ND](https://creativecommons.org/licenses/by-nd/4.0/)
Your future is bright, your future needs experiencing, so let's start experiencing your future.
## What You Will Learn {#ilo5}
By the end of this chapter you will be able to
1. Describe why having experience can improve your chances of getting invited to job interviews
1. Identify what counts as experience and why it's valuable
1. Recognise opportunities to get more experience before you graduate
<!-- for quizzes see the learnr package
https://rstudio.github.io/learnr/
quiz
-->
<!--
## internships and placements: Pros
1. Extended interview
1. Eliminate
## Debug your experience
## internships and placements: Cons
1. Difficult to get back into study
1. Takes longer to get your degree-->
```{r relevance-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionrelevantexp)"}
knitr::include_graphics("images/What's relevant.png")
```
(ref:captionrelevantexp) You might be surprised by what kinds of experience are relevant on your CV. There are lots of experiences beyond paid work such as projects and extra-curricular activities you've been involved in that tell a story about who you are and what you are capable of. What's relevant sketch by [Visual Thinkery](https://visualthinkery.com/) is licensed under [CC-BY-ND](https://creativecommons.org/licenses/by-nd/4.0/)
## Why is Experience so Valuable?
You are *much more* than your grades, because your education is only a part of who you are. You are the sum total of your experiences, this is one of the reasons that experience is so valuable, see figure \@ref(fig:experience-fig). It's common for students to be focused on their grades, whether those grades are low, middling or or high. At the extremes, if you have got lower grades than you'd like, you might be anxious or unhappy about them. If you've got higher grades, you're probably focussed on keeping them high. While its important to focus on getting the best grades you can, employers are interested in the whole you rather than narrowly focusing on your academic education. Alongside your academic achievements, there is also your:
* 💰 `Experience` paid work, see section \@ref(experience)
* 💪 `Projects` of all kinds, see section \@ref(projects)
* 🏆 `Leadership and awards` if you have or can demonstrate any, see section \@ref(prizes)
```{r experience-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionexperience)"}
knitr::include_graphics("images/experience.jpeg")
```
(ref:captionexperience) [Experience](https://en.wikipedia.org/wiki/Experience) is one of the best ways to develop *know-how*. While your formal education and academic study can help you develop *know-what*, you need to complement this knowledge with a range of experiences and on-the-job learning. This astronaut is training to work in microgravity by completing tasks underwater in a space suit. Like the astronaut, your education needs to combine academic study, with practical experience on-the-job. Public domain image of [Christer Fuglesang](https://en.wikipedia.org/wiki/Christer_Fuglesang) training in the Neutral Buoyancy Laboratory (NBL) by NASA on Wikimedia Commons [w.wiki/3WBf](https://w.wiki/3WBf) adapted using the [Wikipedia App](https://apps.apple.com/us/app/wikipedia/id324715238).
Your experience tells a story about who you are, what you're capable of and what you have learned. Experience is a crucial part of *how* you learn and allows you to demonstrate *what* you have learned. Experience makes you more *employable* which means:
1. experience tests and validates what you have already learned, see Sneha's story in chapter \@ref(sneha)
1. experience motivates you to learn more by helping you decide what to learn next
1. experience improves your confidence [@jackiecarter]
1. experience broadens and deepens your skills and knowledge, see figure \@ref(fig:goal-fig)
1. experience improves your chances of being invited to interview
1. experience improves your chances of being offered a job after an interview
1. experience builds your professional network of contacts, both the stronger and the weaker ties described in section \@ref(weakties)
Paul Redmond at the University of Liverpool describes experience as a key part of employability [@paulredmond] as expressed in his graduate jobs formula shown in equation \@ref(eq:redmond).
::: {.rmdnote}
\begin{equation}
E = Q + WE + S \times C
(\#eq:redmond)
\end{equation}
:::
According to Redmond, your employability ($E$) is the sum of your qualifications ($Q$), your work experience ($WE$) and your strategies ($S$) multiplied by your contacts ($C$). It is difficult to quantify employability so precisely but Redmond's equation \@ref(eq:redmond) is a good starting point for discussion. We will look at some strategies
* For qualifcations ($Q$), see section \@ref(education) on your `Education`
* For strategies ($S$) and contacts ($C$) see chapter \@ref(finding) on *Finding your Future*
* For experience ($WE$) read on, this chapter is all about your `experience`
## Are You Experienced? {#areuexperienced}
So what counts as `experience`? I'm going to use experience to mean applying what you've learnt in your formal education *outside* of school or University, this includes but is not limited to, paid employment. The good news is that studying at University provides lots of opportunities to gain a wide variety of experience, not just paid employment but volunteering and social experience. As Andy Burnham says, make sure you seize some of these opportunities during your study, see figure \@ref(fig:burnham-fig).
```{r burnham-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionburnham)"}
knitr::include_graphics("images/burnham.jpg")
```
(ref:captionburnham) Being at University provides lots of opportunities for gaining experience: paid, voluntary and social. As [Andy Burnham](https://en.wikipedia.org/wiki/Andy_Burnham), the Mayor of Greater Manchester says, “When opportunities open up right in front of you, for God's sake, make sure you take them” [@burnham] CC [BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en) portrait of Andy Burnham by Rwendland on Wikimedia Commons [w.wiki/AhwL](https://w.wiki/AhwL) adapted using the [Wikipedia App](https://apps.apple.com/us/app/wikipedia/id324715238) 🌹
People often use the word `experience` to mean different things. So I've defined and outlined terms for relevant kinds of experience shown in table \@ref(tab:jobterms) and we'll use these definitions throughout this guidebook.
```{r jobterms, echo = FALSE}
jobterm_table <- tibble::tribble(
~ "Experience", ~ "Description",
"Casual", "Casual work, for example in hospitality or retail and so on, sometimes (misleadingly) referred to as “low-skilled”. If you're dealing with customers, casual work provides solid evidence of your softer people skills on your CV",
"Part-time", "If you can balance study and paid work, getting skilled part-time work (for example as software developer) is a great way to get experience",
"Voluntary", "Unpaid, both in technical and non-technical roles for charity or nonprofit organisation, for example in Manchester see [find-volunteering.manchester.ac.uk](https://find-volunteering.manchester.ac.uk/)",
"Virtual", "Since the pandemic, more employers are offering online and remote [virtual work experience](https://www.prospects.ac.uk/jobs-and-work-experience/work-experience-and-internships/virtual-work-experience)",
"Social", "Unpaid, participating in a club or society e.g. students union, sport etc, for example in Manchester see [manchesterstudentsunion.com](https://manchesterstudentsunion.com/)",
"Entrepreneurial", "Self-employment, freelancing, contracting, “moonlighting” in a [side job](https://en.wikipedia.org/wiki/Side_job) or starting as a [sole-trader](https://en.wikipedia.org/wiki/Sole_proprietorship) or small business",
"Insight", "Usually no contract of employment. One to three weeks, sometimes known as work experience, [work shadowing](https://www.prospects.ac.uk/jobs-and-work-experience/work-experience-and-internships/work-shadowing), spring weeks, vacation schemes or even [externships](https://en.wikipedia.org/wiki/Externship). Sometimes unpaid, but often expensed. See [Alice's story](https://www.cdyf.me/alice) and [ratemyplacement.co.uk/insights](https://www.ratemyplacement.co.uk/insights) for some examples",
"Internship", "Fixed term contract of employment, typically 8-12 weeks full-time over summer, but anywhere between 1 and 6 months. [@kaplong] Sometimes part-time, *may* be an assessed part of an undergraduate or postgraduate degree. Usually prior to graduation, but some employers offer *graduate internships* such as the [Silicon Valley Internship Program](https://siliconvalleyinternship.com/) (SVIP). These kinds of internships should *really* be called fixed-term graduate jobs (or schemes) instead of internships",
"Placement", "Fixed term contract of employment, typically 12 months long and an assessed part of a degree. In Europe they are sometimes known as a “sandwich” or “industrial experience” years because they typically take place in the *penultimate* (last but one) year of a degree. In America, placements are usually [known as co-ops](https://career.vt.edu/experience/ceip/ceip-internship-coop.html) [@coops]",
"Graduate job", "Full-time permanent contract typically working in one department of an organisation",
"Graduate scheme", "Full-time permanent contract. Fast-track or high-flier managerial scheme, in your first two years, you'll probably rotate around different departments in an organisation"
)
knitr::kable(jobterm_table, caption = "Are you experienced? Terms used throughout this guidebook to describe experience, employment and their definitions", booktabs = TRUE)
```
So, experience doesn't just mean a paid summer internship or year long placement, there are many opportunities to gain experience, build your skills and knowledge during your time at University.
### Summer vs. Year-long Experience? {#interns}
You might be wondering which length of experience is better, a short summer internship or year-long industrial placement (aka co-op), see figure \@ref(fig:summer-fig).
```{r summer-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionsummer)"}
knitr::include_graphics("images/tanlines.png")
```
(ref:captionsummer) Which kind of experience is best for you? A short summer internship or a longer year in industry? [@kaplong] There are advantages and disadvantages of each outlined in table \@ref(tab:interntable). You may even be able to do both but if you want to work on your tan in the summer, make sure you combine your interests in computer programming with outdoor activities like water skiing, mountain biking, SCUBA diving, rollerblading and tennis. Image from [reddit.com/r/ProgrammerHumor](https://www.reddit.com/r/ProgrammerHumor/comments/tmdxy/tan_lines_from_typical_summer_activities_you_all/ )😉
So which is right for you? Table \@ref(tab:interntable) summarises some of the advantages and disadvantages of each kind of experience:
```{r interntable, echo = FALSE}
intern_table <- tibble::tribble(
~ "Summer internship", ~ "Year long placement ",
"You won't pay tuition fees to your University", "You will have to pay tuition fees if industrial experience is a part of your degree^[See for example [https://www.studentsupport.manchester.ac.uk/finances/tuition-fees/fee-amounts/other-fees/](https://www.studentsupport.manchester.ac.uk/finances/tuition-fees/fee-amounts/other-fees/)]",
"You can graduate sooner, after three years of study rather than four", " You graduate later, after four years of study rather than three^[this might also be an advantage if the economy is in recession]",
"Some employers don't offer summer internships, and only do year long placements", "Some employers don't offer year long placements, and only have summer internships",
"You get less time to make a good impression and pick up new skills", "You get more time to make a good impression and learn more",
"You will typically be working in one department for three months", "Some employers offer two sixth-month rotations, thereby giving you a wider variety of experience than a summer internship",
"In the UK, summer internships can be harder to find, for some employers they are too short for you to payback the employers investment of time before you leave", "In the UK, there tend to be more year-long placements available than summer internships, though it depends on the sector and location",
"Your visa may not need extending (but check what it says about working)", "If you hold a [student visa](https://www.gov.uk/student-visa) and [biometric residence permit](https://www.gov.uk/biometric-residence-permits) (BRP) and you need to transfer from a three year course onto a four year one in order to do a placement, you will need to extend your visa and update your BRP. This can take time and money.",
"A summer internship can fit more conveniently around your studies with minimal interruption", "Unless are employed in the same location as where you studied, you will spend less time with the cohort of students in your year group that aren't doing a placement ",
)
knitr::kable(intern_table, caption = "A comparison of some of the advantages and disadvantages of a short summer internship compared to a longer year-in-industry ", booktabs = TRUE)
```
In some cases you can do *both* a year long placement AND a summer internship, for example:
* From ~June of year $x$ to ~June of year $x+1$ : you complete a year-long placement
* During summer (June, July and September) of year $x+1$ : you complete a summer Internship
If you're doing a year-long placement and a summer-internship, its usually easier to the placement first (rather than the other way around), as most of them start around June time.
Although valuable, your experience of paid employment isn't the only kind of experience that employers value. What other kinds of experience are there?
### Other Experience {#other}
<!-- to do compare and contrast summer vs year long-->
Some of the experience outlined in table \@ref(tab:jobterms) was probably what you were already thinking of as experience, however there are four other important sources of experience that students often overlook:
1. **Voluntary work**: Any kind of work where you've given your time and labour to a community. That could be non-technical (working for a charity) or technical, such as contributing to open-source software, see sections \@ref(opensource) and \@ref(volunteering)
1. **Casual work**: Working in hospitality or retail (etc) is often overlooked by students as an important source of relevant experience. It doesn't have to be technical to be relevant to employers, see section \@ref(casual)
1. **Tinkering**: [Tinker Tailor Soldier Spy](https://en.wikipedia.org/wiki/Tinker_Tailor_Soldier_Spy)? Having passion projects you tinker with in your virtual playground will build your skills and knowledge either solo or collaboratively. Tinkering on your passion projects, either solo or collaboratively, can help your CV stand out, see section \@ref(tinkering). To get into ultra-competitive industries like the [video game industry](https://en.wikipedia.org/wiki/Video_game_industry), candidates are often expected to have a portfolio of one or two games developed *outside* of University, and these will be more interesting to employers than what (or where) you've studied [@aswift]
1. **Student societies** Your students' union will have hundreds of official societies you can get involved in, and they'll be plenty of unofficial fringe communities too. As well as helping you develop new or existing interests, these societies give you an opportunity to serve a particular community of interest. Many societies seek members to take on positions of responsibility, above and beyond merely participating in their events. They provide fantastic opportunities to build new skills in a safe and supportive environment see (manchesterstudentsunion.com](https://manchesterstudentsunion.com/) for example
```{r areyouexperienced-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionareyouexperienced)"}
knitr::include_graphics("images/are-you-experienced.jpg")
```
(ref:captionareyouexperienced) [Are You Experienced](https://en.wikipedia.org/wiki/Are_You_Experienced)? [@hendrix] Why is experience valuable? What counts as experience? This chapter outlines some of the many ways to identify the experience you already have and add some more to your CV. Fair use image of The Jimi Hendrix Experience via Wikimedia Commons adapted using the [Wikipedia App](https://apps.apple.com/us/app/wikipedia/id324715238).
Before we discuss these experiences, lets look at some of the more conventional places for getting experience.
<!--* Competitions: participating in competitions and hackathons will make your CV stand out-->
### Big Name Experience {#bignames}
It's probably easier than you might think to get a [big tech](https://en.wikipedia.org/wiki/Big_Tech) or [blue chip name](https://en.wikipedia.org/wiki/Blue_chip_(stock_market)) on your CV. For example, many large employers run [insight days, vacation schemes and spring weeks ](https://www.ratemyplacement.co.uk/insights). These are often aimed at first year undergraduates, and are sometimes less competitive to get into than a longer term commitment such as a summer internship, year-long placement or even graduate job. A big name on your CV early in your degree can help it stand out later, as fluff bucket the grinning [cheshire cat](https://en.wikipedia.org/wiki/Cheshire_Cat) demonstrates on their CV shown in figure \@ref(fig:bigname-fig). 😻
```{r bigname-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionbigname)"}
knitr::include_graphics("images/Big Name.png")
```
(ref:captionbigname) It's easier than you might think to get a big name on your CV, sometimes these can help your application stand out from the competition. Big name sketch by [Visual Thinkery](https://visualthinkery.com) is licensed under [CC-BY-ND](https://creativecommons.org/licenses/by-nd/4.0/)
Other ways to get a big name on your CV include joining a big name competition or event, for example:
* The European Space Agency (ESA) organises the CANSAT competition (satellite in a can) see [esa.int/Education/CanSat](https://www.esa.int/Education/CanSat) and [cansatcompetition.com](https://www.cansatcompetition.com/) (NASA)
* CERN publishes data at [opendata.cern.ch](https://opendata.cern.ch/), anyone can try to visualise collisions and dive into the data [@cernopendata]
* Amazon hosts Gamedays and other events see [aws.amazon.com/buildon/gamedays](https://aws.amazon.com/buildon/gamedays/)
* Apple hosts the Swift Student Challenge [developer.apple.com/swift-student-challenge](https://developer.apple.com/swift-student-challenge/)
* Facebook has hackathons, see [facebook.com/hackathon](https://en-gb.facebook.com/hackathon) and [developers.facebook.com](https://developers.facebook.com/)
* Google hosts several events including:
<!--+ Code Jam, HashCode and Kick Start [codingcompetitions.withgoogle.com](https://codingcompetitions.withgoogle.com/) closed 2023 https://developers.googleblog.com/en/celebrate-googles-coding-competitions-with-a-final-round-of-programming-fun/-->
+ Summer of Code [summerofcode.withgoogle.com](https://summerofcode.withgoogle.com/), see section \@ref(gsoc)
+ Developer Student Club Leads [developers.google.com/community/gdsc/leads](https://developers.google.com/community/gdsc/leads)
+ Inside Look [buildyourfuture.withgoogle.com/programs/inside-look](https://buildyourfuture.withgoogle.com/programs/inside-look/)
* [Outreachy.org](https://www.outreachy.org/) provides internships for people subject to [systemic bias](https://en.wikipedia.org/wiki/Systemic_bias) and underrepresentation in the technical industry where they are living, and is backed by big employers.
* IBM hosts the annual Call for Code [developer.ibm.com/callforcode](https://developer.ibm.com/callforcode) unlike other competitions, these have a [corporate social responsibility](https://en.wikipedia.org/wiki/Corporate_social_responsibility) (CSR) themes for the benefit of society at large
* Microsoft hosts the Imagine Cup [imaginecup.microsoft.com](https://imaginecup.microsoft.com/) and also has hands on learning paths at [learn.microsoft.com](https://learn.microsoft.com/) see section \@ref(otherbadges)
* Besides these kinds of dedicated events organised by big names, there are many competitions which are sponsored by them, see section \@ref(tinkering)
Big names can look good on your CV, but they are not the only way to make your CV stand out.
### Smaller Name Experience {#smallnames}
*Any* experience will help your CV stand out. Smaller name employers have the advantage that they tend to be less picky than big household names so it is often easier to get a foot in the door. It might not be what you see yourself doing in the longer term, but the experience and opportunities you gain working in a small company can be invaluable.
To use a footballing analogy, let's imagine you dream of playing for the world's greatest football team: [Manchester United](https://en.wikipedia.org/wiki/Manchester_United_F.C.). Unfortunately, the talent scouts at United don't return any of your calls or emails about vacancies for younger players and its incredibly hard to get a chance to speak to them in person. However, if you prove yourself at a smaller club, that would be a start. This is how most professional footballers start, such as [Marcus Rashford](https://en.wikipedia.org/wiki/Marcus_Rashford) shown in figure \@ref(fig:rashford-fig). What works in football can also work in employment too. You might even decide that big clubs are over-rated and you prefer playing for smaller clubs anyway *or* a smaller employer could be your stepping stone to bigger things. Of course, you want to be ambitious and find what is best for you but ignoring opportunities with smaller employers will severely restrict your options. At the very least, small name experience will get some evidence on your CV and start to buid your professional network.
```{r rashford-fig, echo = FALSE, fig.align = "center", out.width = "99%", fig.cap = "(ref:captionrashford)"}
knitr::include_graphics("images/marcus-rashford.jpeg")
```
(ref:captionrashford) When [Marcus Rashford](https://en.wikipedia.org/wiki/Marcus_Rashford) isn't playing for the [world's greatest football team](https://en.wikipedia.org/wiki/Manchester_United_F.C.), he has also played for the [England national football team](https://en.wikipedia.org/wiki/England_national_football_team) too. Although he's a superstar now, Rashford started out at a much smaller, lesser known club: [Fletcher Moss Rangers](https://en.wikipedia.org/wiki/Fletcher_Moss_Rangers_F.C.) in Didsbury. Like Rashford, the best way to kick-start your career might be with a smaller employer rather than a big famous household name. [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en) portrait of Rashford playing football at the 2018 FIFA World Cup in Russia on Wikimedia Commons [w.wiki/6SzW](https://w.wiki/6SzW) by [Oleg Bkhambri](https://commons.wikimedia.org/wiki/User:Voltmetro) adapted using the [Wikipedia app](https://apps.apple.com/us/app/wikipedia/id324715238)
A significant proportion of former Computer Science students I know that work in [Big Tech](https://en.wikipedia.org/wiki/Big_Tech) or [“blue chip” companies](https://en.wikipedia.org/wiki/Blue_chip_(stock_market)) did so *after* working for a much smaller employer first, see for example Raluca's story in chapter \@ref(raluca) and (by analogy) Leah's story in figure \@ref(fig:leah-williamson-fig).
```{r leah-williamson-fig, echo = FALSE, fig.align = "center", out.width = "99%", fig.cap = "(ref:captionleah)"}
knitr::include_graphics("images/leah-williamson.jpeg")
```
(ref:captionleah) Starting a new job is a bit like joining a football team. You've probably never heard of [Rushden \& Diamonds F.C.](https://en.wikipedia.org/wiki/Rushden_%26_Diamonds_F.C.) where Lioness [Leah Williamson](https://en.wikipedia.org/wiki/Leah_Williamson) started her career. Like Leah, the best place to start your career might be with a smaller employer (or “club”) that none of your friends or family will have heard of. CC [BY-SA](https://creativecommons.org/licenses/by-sa/4.0/deed.en) portrait of Leah Williamson by Ryanasman1 on Wikimedia Commons [w.wiki/6aKd](https://w.wiki/6aKd) adapted using the [Wikipedia app](https://apps.apple.com/us/app/wikipedia/id324715238)
So think big, but be prepared to start building your experience with smaller names as well as the bigger well-known employers and brands.
### Open Source Experience {#opensource}
Open source software projects are a great way to get some really solid experience of software engineering, see for example [Why Computing Students Should Contribute to Open Source Software Projects](https://cacm.acm.org/magazines/2021/7/253459-why-computing-students-should-contribute-to-open-source-software-projects/fulltext). [@sigman18] If you're a student at the University of Manchester, you could join the Open Source Software club at [bit.ly/oss-club-manchester](https://bit.ly/oss-club-manchester). There's two ways to get started with open source:
1. Raise a new issue via the project's issue tracker, such as [github issues](https://guides.github.com/features/issues/) [@githubissues]
1. [Fix a bug](https://dev.to/rose/fixing-a-bug-on-my-open-source-project-from-start-to-finish-1749) by picking existing issues. [@fixabug] It might sound trivial, but fixing a bug demonstrates that you can collaborate with others, understand the architecture and toolchain being used (which might be complex) and solve problems. See [firstcontributions.github.io](https://firstcontributions.github.io/) and the `<good first issue>` tag which helps new contributors identify starting points, see [goodfirstissue.dev](https://goodfirstissue.dev/) for some aggregated examples.
There are lots of different motivations for getting involved in open source, shown in figure \@ref(fig:opensource-fig). Whatever your motivation, contributing to open source software is fun, you'll learn heaps and it will look *great* on your CV. Open source software is widely used by, so contributing is a great way to get some real world experience of software development. Many open source projects are funded by employers both large and small, and you can get paid to develop open source software through projects like Google's Summer of Code. [@gsoc]
```{r opensource-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionopensource)"}
knitr::include_graphics("images/OS-contribution-motivations-1200x675.png")
```
(ref:captionopensource) There are lots of good reasons for getting involved in open source software, gaining skills and experience of real software engineering in the wild is just one of them. [Open Source Motivations](https://bryanmmathers.com/open-source-motivations/) by [Visual Thinkery](https://visualthinkery.com) is licensed under [CC-BY-ND](https://creativecommons.org/licenses/by-nd/4.0/)
If you're looking for a project to get stuck into, here are [Diomidis Spinellis](https://en.wikipedia.org/wiki/Diomidis_Spinellis) tips for getting started [@sigman18]:
1. Choose a project with several active contributors, so that there is a community to help you
1. Choose a relatively popular project (with some GitHub stars) so that you can avoid [abandonware](https://en.wikipedia.org/wiki/Abandonware) but...
1. ... Avoid “blockbuster” projects like [tensorflow](https://github.com/tensorflow) or [vscode](https://github.com/microsoft/vscode) , so that your contributions will not get lost in the politics and bureaucracy of a large project
1. Verify that you can build and run the project from your own setup
1. Ensure the project regularly accepts pull requests from outsiders, so that your contributions will have a chance of being accepted
1. Contribute a trivial fix to start with to test your ability use the project's workflows
The guidelines for prospective contributors to Google's Summer of Code (GSoC) at [google.github.io/gsocguides/student](https://google.github.io/gsocguides/student/) go into more depth about how you can get involved in open source software development. Many of these general guidelines apply both inside (paid) and outside (unpaid) of GSoC. [@gsoc]
### Google Summer of Code {#gsoc}
Google Summer of Code (GSoC) is a global, online program focused on bringing new contributors into open source software development. GSoC contributors work with an open source organization on a 12+ week programming project under the guidance of mentors. It's open to students and beginners in open source software development see figure \@ref(fig:gsoc-fig) [@gsoc]. As of 2024, the twentieth year of GSoC, applications open around March each year with a deadline in April. <!--In 2024, contributor applications opened on Monday March 18th with a deadline of Tuesday, April 2, 2024 18:00.--> [@stephaniesays]
```{r gsoc-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captiongsoc)"}
knitr::include_graphics("images/gsoc.jpeg")
```
(ref:captiongsoc) Google Summer of Code [summerofcode.withgoogle.com](https://summerofcode.withgoogle.com/) has been running annually since 2004. Students and other beginners get paid to write [free and open source software](https://en.wikipedia.org/wiki/Free_and_open-source_software) (FOSS) by fixing bugs and adding features to a range of different software projects. [@gsoc] 🌞
In 2024, there were 195 summmer projects to choose from with experienced mentors from a wide range of organisations including:
* [apache.org](https://apache.org/): software for the public good
* [appinventor.mit.edu](https://appinventor.mit.edu/): allows everyone (including children) to build fully functional apps for Android phones, iPhones and Android/iOS tablets
* [archive.org](https://archive.org/): The Internet Archive
* [blender.org](https://www.blender.org/): 3D Computer graphics
* [chromium.org](https://www.chromium.org/): an open-source browser
* [djangoproject.com](https://www.djangoproject.com/): Python web framework
* [ga4gh.org](https://www.ga4gh.org/): The Global Alliance for Genomics and Health (GA4GH) is an international community dedicated to advancing human health through genomic data
* [gcc.gnu.org](http://gcc.gnu.org/): GNU Compiler Collection (GCC)
* [gimp.org](https://www.gimp.org/): GNU Image Manipulation Program
* [haskell.org](https://www.haskell.org/): An advanced, purely functional programming language
* [hepsoftwarefoundation.org](https://hepsoftwarefoundation.org/): High Energy Physics (HEP) software
* [inkscape.org](https://inkscape.org): a free and open source vector graphics editor
* [jitsi.org](https://jitsi.org/): secure, flexible and
completely free video conferencing
* [julialang.org](https://julialang.org/): bringing usable, scalable technical computing to a greater audience
* [kotlinlang.org](https://kotlinlang.org/): a modern programming language designed to make developers happier
* [linuxfoundation.org](https://www.linuxfoundation.org/): provides a neutral, trusted hub for developers and organizations
* [llvm.org](https://llvm.org/): a collection of modular and reusable compiler and toolchain technologies
* [metabrainz.org](https://metabrainz.org): creating and maintaining an open encyclopedia of music and arts metadata
* [mlpack.org](https://mlpack.org/): fast, header-only C++ machine learning library
* [openclimatefix.org](https://openclimatefix.org/): using computers
to reduce Carbon Dioxide emissions
* [opencv.org](https://opencv.org/): an open source computer vision (cv) and machine learning software library
* [postman.com](https://www.postman.com): an API platform for building and using APIs
* [python.org](https://www.python.org): advancing open source technology related to the Python programming language
* [rust-lang.org](https://www.rust-lang.org/): a language empowering everyone
to build reliable and efficient software
* [www.sanger.ac.uk](https://www.sanger.ac.uk/): genomic research
* [submitty.org](https://submitty.org/): course management, assignment submission, exam and grading system
* [sugarlabs.org](https://www.sugarlabs.org/): promoting collaborative learning
* [swift.org](https://www.swift.org/): general-purpose programming language
* [videolan.org](http://www.videolan.org/): cross-platform multimedia player
* [wikimedia.org](https://www.wikimedia.org/): bringing free educational content to the world
* and [many others](https://summerofcode.withgoogle.com/programs/2024/organizations) [@stephaniesays]
Applying for Google Summer of Code isn't like applying for a regular summer internship, you don't just send your CV and covering letter off and wait to be invited to an interview, you have to be more proactive. GSoC advises [contributors to follow eight basic steps](https://developers.google.com/open-source/gsoc/help/student-advice):
1. Read The Friendly Manual ([RTFM](https://en.wikipedia.org/wiki/RTFM)), there's lots of it but it is well-written and self-explantory. See [summerofcode.withgoogle.com/](https://summerofcode.withgoogle.com/)
1. Write down a list of the skills and knowledge you have. What languages do you know? What tools are you familiar with?
1. Look through the mentoring organisations on the program site
1. Browse the organisations site and repositories. Look at the code and the issue tracker, what are the bugs and feature requests?
1. Narrow your list down to one or two organisations, then talk to them via whatever chat channel they are using, see [making first contact](https://google.github.io/gsocguides/student/making-first-contact)
1. Write your proposal, go for quality over quantity. One or two proposals max
1. Verify your application meets the requirements, many applicants don't do this
1. Don't leave it to the last minute, start talking to the organisation long before the deadline.
If you're wondering [if you're good enough for GSoC](https://google.github.io/gsocguides/student/am-i-good-enough), mentors are looking for
1. soft skills *and*
1. technical skills
The softer people skills include:
* You can find out where to go for help with technical questions
* You can take and respond well to feedback, including negative feedback
* You can work independently
* You know when to ask questions
* You can communicate effectively
... and hard technical skills include:
* You can install and configure software packages on your own
* You have access to a functioning computer
* You’ve got experience using the programming language and operating system of the project
If that sounds like you, it is worth applying for GSoC.
### Voluntary Experience {#volunteering}
Experience as a section on your CV usually means *paid* work. However, experience in the context of this chapter means anything where you can show you've been part of a team, taken responsibility for something or tried to make the world a better place somehow, see figure \@ref(fig:volunthero-fig). These include:
* Volunteering: Doing voluntary work is a great way to pick up new skills
* Being involved in societies: e.g. taking responsibility for things in an organisation
* Getting involved in a community, either physical or online
```{r volunthero-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionvolunthero)"}
knitr::include_graphics("images/volunthero.jpeg")
```
(ref:captionvolunthero) [Volunteering](https://en.wikipedia.org/wiki/Volunteering) is a great source of experience that employers value. That could mean volunteering for charitable causes, taking responsibility in a student society or getting involved in open source projects. Picture of volunteers cleaning up after Hurricane Sandy in 2012 by Jim Henderson via Wikimedia Commons [w.wiki/3Z96](https://w.wiki/3Z96) adapted using the [Wikipedia App](https://apps.apple.com/us/app/wikipedia/id324715238)
Your University should be able help you find volunteering opportunities, for example at the University of Manchester, a wide range of volunteering opportunities can be found at [find-volunteering.manchester.ac.uk](https://find-volunteering.manchester.ac.uk/).
Volunteering doesn't have to be something involving your technical skills but there are some unique opportunities for students of computing to pass on their technical knowledge and skills through various kinds of teaching, see figure \@ref(fig:codeclubs-fig)
```{r codeclubs-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captioncodingclubs)"}
knitr::include_graphics("images/codingclubs.jpg")
```
(ref:captioncodingclubs) As a student of computing, your technical skills and knowledge can be valuable to members of your local community looking to learn. Organisations like [codeclub.org](https://codeclub.org), [codefirstgirls.com](https://codefirstgirls.com) and [coderdojo.com](https://coderdojo.com) are just three examples where your tecnical expertise is valued. Code Club and CoderDojo are both voluntary, Code First Girls pays its instructors once they've completed a training course.
When and where you teach will depend on who you are and how much time you feel you can give. For example:
* [codeclub.org](https://codeclub.org): Requires a weekly commitment, usually over a 12 week period. CodeClub is a global network of free coding clubs for 9–13 year olds
* [coderdojo.com](https://coderdojo.com): Requires a monthly commitment, see for example Manchester CoderDojo, which meets every month at Ada, the National College for Digital Skills [mcrcoderdojo.org.uk](https://mcrcoderdojo.org.uk/)
* [codefirstgirls.com](https://codefirstgirls.com): if you're especially interested in helping girls and women of all ages learn coding skills and eliminating the diveristy gaps in technology
However you do it, teaching others to learn how to code will develop valuable skills that employers care about. It will also help your CV stand out when applying for jobs, because these projects SHOW the reader (rather than just TELLING them) that you are developing your communication, mentoring and leadership skills, see section \@ref(prizes).
### Hacking & Tinkering Experience {#tinkering}
Another good source of experience is [tinkering](https://en.wikipedia.org/wiki/Tinker) or [hacking](https://en.wikipedia.org/wiki/Hacker_culture). Hackers and tinkerers improve or repair things in their spare time for fun, either as personal passion projects or in collaboration with others. For example, why not build an experimental:
* Hackable burglar alarm?^[hackable by you, not the burglars, obvs]
* DIY smart energy meter?
* Home media centre or [network attached storage](https://en.wikipedia.org/wiki/Network-attached_storage) (NAS)?
* Plant watering system for when you go on holiday? [@plantwatering]
* See also [github.com/codecrafters-io/build-your-own-x](https://github.com/codecrafters-io/build-your-own-x), [online.coolestprojects.org](https://online.coolestprojects.org/) and section \@ref(bignames) for some starting points
Yes, these projects are amateur, but tinkering and hacking clearly demonstrates your passion for learning and engineering. Apart from being fun, weekend hacks can look *great* in the `PROJECTS` section of your CV, see section \@ref(projects).
```{r hackathon-fig, echo = FALSE, fig.align = "center", out.width = "99%", fig.cap = "(ref:captionhackathon)"}
knitr::include_graphics("images/hackathon.jpeg")
```
(ref:captionhackathon) Most [hackathons](https://en.wikipedia.org/wiki/Hackathon) are collaborative and social events where you can learn how to rapidly prototype ideas in a friendly and supportive environment. Picture of participants at a Wikimedia Hackathon in Prague by [Chris Koerner](https://en.wikipedia.org/wiki/User:Ckoerner) on Wikimedia Commons [w.wiki/5rjR](https://w.wiki/5rjR) adapted using the [Wikipedia app](https://apps.apple.com/us/app/wikipedia/id324715238).
Attending [Hackathons](https://en.wikipedia.org/wiki/Hackathon) is another way to learn and gain `experience` by tinkering, in a collaborative and social environment, see figure \@ref(fig:hackathon-fig). The word hackathon is a portmanteau of hacking (from [hacker culture](https://en.wikipedia.org/wiki/Hacker_culture) not [security hacking](https://en.wikipedia.org/wiki/Security_hacker)) and [marathon](https://en.wikipedia.org/wiki/Marathon). Hackathons tend to be short (24 to 48 hours) but intense, some examples from the UK and beyond:
* [hackathons.org.uk](https://www.hackathons.org.uk/)
- [greatunihack.com](https://greatunihack.com/)
- [studenthack.com](https://www.studenthack.com/) and [mcrstudenthack.com](https://mcrstudenthack.com/)
- [ichack.org](https://ichack.org/) at Imperial College London
* [codeforces.com](https://codeforces.com/)
* [devpost.com/hackathons](https://devpost.com/hackathons)
* [mlh.io](https://mlh.io/) (Major League Hacking)
* [hackupc.com](https://hackupc.com/)
* [hackzurich.com](https://hackzurich.com/)
<!-- [hackerearth.com](https://www.hackerearth.com/) more like hackerrank than an event?-->
Alongside these competitions, there are other hackathon-type events which are organised by a single employer, see section \@ref(bignames). There are also opportunities to build your technical experience by practicing coding interviews online such as hackerrank and leetcode, described in section \@ref(codinginterview).
Passion projects like these help to distinguish you from your peers, but they don't *have* to be technical, see section \@ref(casual) and \@ref(volunteering). You might feel that you are too busy to do any passion projects, but if working hard on academic study and getting top grades means that you:
* Neglect hobbies, interests and friends
* Start to suffer from anxiety or depression
* Only have `PROJECTS` that were a compulsory part of your formal education
It might be time to reflect and consider re-balancing your priorities if you can.
### Casual Experience {#casual}
You may already have experience of paid employment as a casual or part-time worker. This could include jobs such as waiting tables, serving in a bar or working in other areas of hospitality or retail, for example as a Saturday job.
```{r paperboy-fig, echo = FALSE, fig.align = "center", out.width = "99%", fig.cap = "(ref:captionpaperboy)"}
knitr::include_graphics("images/Titanic-paperboy-crop.jpeg")
```
(ref:captionpaperboy) Casual and part-time work tell an important story about you on your CV. For example, from the age of 12, I was a [paperboy](https://en.wikipedia.org/wiki/Paperboy), delivering newspapers directly to the doors of paying customers. This demonstrates reliability and work ethic, because I did this in all weathers (sun, wind, rain, snow, hangovers etc) for six years. If you have casual experience like this, don't forget to include it in your CV. Public domain image of the Titanic paperboy, Ned Parfett selling newspapers in London via Wikimedia Commons at [w.wiki/35HA](https://w.wiki/35HA) adapted using the [Wikipedia app](https://apps.apple.com/us/app/wikipedia/id324715238). 🚢
It is important to recognise that these jobs have value. Many students make the mistake of overlooking their casual work experience because they discount it as non-technical and “low-skilled”. In section \@ref(structure) we saw that one of the stories you want to tell in your job applications is that you:
1. take responsibility
1. achieve things
1. are nice to have around
Doing casual work can demonstrate all of these things. For example, from the ages of 12 to 18 I was a [paperboy](https://en.wikipedia.org/wiki/Paperboy), except unlike the Titanic paperboy selling newspapers in the street in figure \@ref(fig:paperboy-fig), I delivered newspapers directly to the doors of paying customers every morning. This was not a particularly highly skilled job, but it *does* demonstrate:
1. [work ethic](https://en.wikipedia.org/wiki/Work_ethic): getting up early *every* morning (including Saturdays). Sometimes work is about just turning up everyday!
1. taking responsibility and being reliable
1. understanding the value of money by earning a wage
<!-- this is repetitive, see earlier in the section-->
I've often spoken to students who neglect to tell me about their paid work in retail or hospitality. “But it's not technical” they say, “it's low skilled and irrelevant”. However, serving customers demonstrates your ability to provide good customer service and work as part of a team, often under pressure, see figure \@ref(fig:budgens-fig). This is good evidence of the “nice to have around” bit that Jonathan Black refers to [@topnotchcv] and is something your formal education will not typically provide much evidence of. So, don't fall into the trap of discounting the value of casual or part-time labour.
```{r budgens-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captionbudgens)"}
knitr::include_graphics("images/budgens.jpeg")
```
(ref:captionbudgens) Early in your career, casual work in hospitality or retail, such as a supermarket like [Budgens](https://en.wikipedia.org/wiki/Budgens) where I used to work as a teenager, is worth mentioning on your CV. If you have any experience of this kind, make sure you mention it and describe the skills you developed. Think carefully about the verbs you can use to describe casual experience, see chapter \@ref(verbalising).
<!-- see https://github.com/dullhunk/cdyf/issues/49-->
## Breakpoints {#bp5}
(ref:breakpoint)
```md
* PAUSE ⏸️
```
* What experience do you have to date?
<!-- include voluntary work and casual work show in section ... -->
* What activities could you do to get some more experience?
* What are the pros and cons of summer internships vs. year long placements?
+ Which one is right for you?
```md
* RESUME ▶️
```
## Summarising Your Future {#tldr5}
(ref:tldr)
Your future is bright, your future needs experiencing. Experiencing your future will help you design your future because your experiences often lies at the intersection of theory and practice. Designing your future will help you to start coding your future
```{r goodstuff-fig, echo = FALSE, fig.align = "center", out.width = "100%", fig.cap = "(ref:captiongoodstuff)"}
knitr::include_graphics("images/good-stuff.jpg")
```
(ref:captiongoodstuff) Both theory *and* practice are an essential part of computing. The good stuff often happens where theory and practice overlap, and getting experience is a great way to apply the theory you've learned to practical problems in the workplace. Good stuff by [Visual Thinkery](https://visualthinkery.com/) is licensed under [CC BY-SA](https://creativecommons.org/licenses/by-sa/4.0/), remixed by [Yours Truly](https://remixer.visualthinkery.com/r/x32wWIkyZGbs4dFI7UnI). Make your own at [remixer.visualthinkery.com](https://remixer.visualthinkery.com/)
In this chapter, you have reflected on what your experience is to date, not just the paid experience but all your other experiences that prospective employers will care about. If you feel like you don't have much experience, we've outlined actions you can take to do something about it. Practical experience is crucial as it allows you to start applying some of the theory you've learned in your formal education at school and University. Where theory and practice overlap is often where the good stuff happens, for example in the workplace, see figure \@ref(fig:goodstuff-fig).
In the next part, chapter \@ref(choosing): *Choosing Your Future*, we'll look at different roles you can take on in order to get paid experience in computing. What are the possibilities, and how are you going to decide between them?