5 Experiencing Your Future
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? đ¤
Your future is bright, your future needs experiencing, so letâs start experiencing your future.
5.1 What You Will Learn
By the end of this chapter you will be able to
- Describe why having experience can improve your chances of getting invited to job interviews
- Identify what counts as experience and why itâs valuable
- Recognise opportunities to get more experience before you graduate
5.2 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 5.3. 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 8.7.4 - đŞ
Projects
of all kinds, see section 8.7.5 - đ
Leadership and awards
if you have or can demonstrate any, see section 8.7.6
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:
- experience tests and validates what you have already learned, see Snehaâs story in chapter 36
- experience motivates you to learn more by helping you decide what to learn next
- experience improves your confidence (Carter 2021)
- experience broadens and deepens your skills and knowledge, see figure 2.1
- experience improves your chances of being invited to interview
- experience improves your chances of being offered a job after an interview
- experience builds your professional network of contacts, both the stronger and the weaker ties described in section 11.2.5
Paul Redmond at the University of Liverpool describes experience as a key part of employability (Redmond 2010) as expressed in his graduate jobs formula shown in equation (5.1).
\[\begin{equation} E = Q + WE + S \times C \tag{5.1} \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 (5.1) is a good starting point for discussion. We will look at some strategies
5.3 Are You Experienced?
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 5.4.
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 5.1 and weâll use these definitions throughout this guidebook.
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 |
Virtual | Since the pandemic, more employers are offering online and remote virtual work experience |
Social | Unpaid, participating in a club or society e.g. students union, sport etc, for example in Manchester see manchesterstudentsunion.com |
Entrepreneurial | Self-employment, freelancing, contracting, âmoonlightingâ in a side job or starting as a sole-trader or small business |
Insight | Usually no contract of employment. One to three weeks, sometimes known as work experience, work shadowing, spring weeks, vacation schemes or even externships. Sometimes unpaid, but often expensed. See Aliceâs story and 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. (Kaplan and Courtney 2023) 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 (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 (Tech 2016) |
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 |
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.
5.3.1 Summer vs. Year-long Experience?
You might be wondering which length of experience is better, a short summer internship or year-long industrial placement (aka co-op), see figure 5.5.
So which is right for you? Table 5.2 summarises some of the advantages and disadvantages of each kind of experience:
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 degree9 |
You can graduate sooner, after three years of study rather than four | You graduate later, after four years of study rather than three10 |
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 and biometric residence permit (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 |
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?
5.3.2 Other Experience
Some of the experience outlined in table 5.1 was probably what you were already thinking of as experience, however there are four other important sources of experience that students often overlook:
- 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 5.3.5 and 5.3.7
- 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 5.3.9
- Tinkering: 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 5.3.8. To get into ultra-competitive industries like the 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 (Hanuk et al. 2022)
- 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
Before we discuss these experiences, lets look at some of the more conventional places for getting experience.
5.3.3 Big Name Experience
Itâs probably easier than you might think to get a big tech or blue chip name on your CV. For example, many large employers run insight days, vacation schemes and spring weeks. 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 demonstrates on their CV shown in figure 5.7. đť
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 and cansatcompetition.com (NASA)
- CERN publishes data at opendata.cern.ch, anyone can try to visualise collisions and dive into the data (Collider 2017)
- Amazon hosts Gamedays and other events see aws.amazon.com/buildon/gamedays
- Apple hosts the Swift Student Challenge developer.apple.com/swift-student-challenge
- Facebook has hackathons, see facebook.com/hackathon and developers.facebook.com
- Google hosts several events including:
- Summer of Code summerofcode.withgoogle.com, see section 5.3.6
- Developer Student Club Leads developers.google.com/community/gdsc/leads
- Inside Look buildyourfuture.withgoogle.com/programs/inside-look
- Outreachy.org provides internships for people subject to 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 unlike other competitions, these have a corporate social responsibility (CSR) themes for the benefit of society at large
- Microsoft hosts the Imagine Cup imaginecup.microsoft.com and also has hands on learning paths at learn.microsoft.com see section 19.4
- Besides these kinds of dedicated events organised by big names, there are many competitions which are sponsored by them, see section 5.3.8
Big names can look good on your CV, but they are not the only way to make your CV stand out.
5.3.4 Smaller Name Experience
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. 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 shown in figure 5.8. 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.
A significant proportion of former Computer Science students I know that work in Big Tech or âblue chipâ companies did so after working for a much smaller employer first, see for example Ralucaâs story in chapter 39 and (by analogy) Leahâs story in figure 5.9.
So think big, but be prepared to start building your experience with smaller names as well as the bigger well-known employers and brands.
5.3.5 Open Source Experience
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. (Spinellis 2021) If youâre a student at the University of Manchester, you could join the Open Source Software club at bit.ly/oss-club-manchester. Thereâs two ways to get started with open source:
- Raise a new issue via the projectâs issue tracker, such as github issues (Octocat 2020)
-
Fix a bug by picking existing issues. (Robertson 2020) 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 and the
<good first issue>
tag which helps new contributors identify starting points, see goodfirstissue.dev for some aggregated examples.
There are lots of different motivations for getting involved in open source, shown in figure 5.10. 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. (Googler 2024)
If youâre looking for a project to get stuck into, here are Diomidis Spinellis tips for getting started (Spinellis 2021):
- Choose a project with several active contributors, so that there is a community to help you
- Choose a relatively popular project (with some GitHub stars) so that you can avoid abandonware butâŚ
- ⌠Avoid âblockbusterâ projects like tensorflow or vscode , so that your contributions will not get lost in the politics and bureaucracy of a large project
- Verify that you can build and run the project from your own setup
- Ensure the project regularly accepts pull requests from outsiders, so that your contributions will have a chance of being accepted
- 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 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. (Googler 2024)
5.3.6 Google Summer of Code
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 5.11 (Googler 2024). As of 2024, the twentieth year of GSoC, applications open around March each year with a deadline in April. (S. Taylor 2024)
In 2024, there were 195 summmer projects to choose from with experienced mentors from a wide range of organisations including:
- apache.org: software for the public good
- appinventor.mit.edu: allows everyone (including children) to build fully functional apps for Android phones, iPhones and Android/iOS tablets
- archive.org: The Internet Archive
- blender.org: 3D Computer graphics
- chromium.org: an open-source browser
- djangoproject.com: Python web framework
- 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: GNU Compiler Collection (GCC)
- gimp.org: GNU Image Manipulation Program
- haskell.org: An advanced, purely functional programming language
- hepsoftwarefoundation.org: High Energy Physics (HEP) software
- inkscape.org: a free and open source vector graphics editor
- jitsi.org: secure, flexible and completely free video conferencing
- julialang.org: bringing usable, scalable technical computing to a greater audience
- kotlinlang.org: a modern programming language designed to make developers happier
- linuxfoundation.org: provides a neutral, trusted hub for developers and organizations
- llvm.org: a collection of modular and reusable compiler and toolchain technologies
- metabrainz.org: creating and maintaining an open encyclopedia of music and arts metadata
- mlpack.org: fast, header-only C++ machine learning library
- openclimatefix.org: using computers to reduce Carbon Dioxide emissions
- opencv.org: an open source computer vision (cv) and machine learning software library
- postman.com: an API platform for building and using APIs
- python.org: advancing open source technology related to the Python programming language
- rust-lang.org: a language empowering everyone to build reliable and efficient software
- www.sanger.ac.uk: genomic research
- submitty.org: course management, assignment submission, exam and grading system
- sugarlabs.org: promoting collaborative learning
- swift.org: general-purpose programming language
- videolan.org: cross-platform multimedia player
- wikimedia.org: bringing free educational content to the world
- and many others (S. Taylor 2024)
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:
- Read The Friendly Manual (RTFM), thereâs lots of it but it is well-written and self-explantory. See summerofcode.withgoogle.com/
- Write down a list of the skills and knowledge you have. What languages do you know? What tools are you familiar with?
- Look through the mentoring organisations on the program site
- Browse the organisations site and repositories. Look at the code and the issue tracker, what are the bugs and feature requests?
- Narrow your list down to one or two organisations, then talk to them via whatever chat channel they are using, see making first contact
- Write your proposal, go for quality over quantity. One or two proposals max
- Verify your application meets the requirements, many applicants donât do this
- 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, mentors are looking for
- soft skills and
- 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.
5.3.7 Voluntary Experience
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 5.12. 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
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.
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 5.13
When and where you teach will depend on who you are and how much time you feel you can give. For example:
- 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: Requires a monthly commitment, see for example Manchester CoderDojo, which meets every month at Ada, the National College for Digital Skills mcrcoderdojo.org.uk
- 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 8.7.6.
5.3.8 Hacking & Tinkering Experience
Another good source of experience is tinkering or hacking. 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?11
- DIY smart energy meter?
- Home media centre or network attached storage (NAS)?
- Plant watering system for when you go on holiday? (Whittaker and Barnatt 2021)
- See also github.com/codecrafters-io/build-your-own-x, online.coolestprojects.org and section 5.3.3 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 8.7.5.
Attending Hackathons is another way to learn and gain experience
by tinkering, in a collaborative and social environment, see figure 5.14. The word hackathon is a portmanteau of hacking (from hacker culture not security hacking) and marathon. Hackathons tend to be short (24 to 48 hours) but intense, some examples from the UK and beyond:
-
hackathons.org.uk
- greatunihack.com
- studenthack.com and mcrstudenthack.com
- ichack.org at Imperial College London
- codeforces.com
- devpost.com/hackathons
- mlh.io (Major League Hacking)
- hackupc.com
- hackzurich.com
Alongside these competitions, there are other hackathon-type events which are organised by a single employer, see section 5.3.3. There are also opportunities to build your technical experience by practicing coding interviews online such as hackerrank and leetcode, described in section 13.2.3.
Passion projects like these help to distinguish you from your peers, but they donât have to be technical, see section 5.3.9 and 5.3.7. 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.
5.3.9 Casual Experience
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.
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 8.7 we saw that one of the stories you want to tell in your job applications is that you:
- take responsibility
- achieve things
- 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, except unlike the Titanic paperboy selling newspapers in the street in figure 5.15, I delivered newspapers directly to the doors of paying customers every morning. This was not a particularly highly skilled job, but it does demonstrate:
- work ethic: getting up early every morning (including Saturdays). Sometimes work is about just turning up everyday!
- taking responsibility and being reliable
- understanding the value of money by earning a wage
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 5.16. This is good evidence of the ânice to have aroundâ bit that Jonathan Black refers to (Jonathan Black 2019b) 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.
5.4 Breakpoints
Letâs pause here. Insert a breakpoint in your code
and slowly step through it so we can examine the current values of your variables and parameters.
- What experience do you have to date?
- 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?
5.5 Summarising Your Future
Too long, didnât read (TL;DR)? Hereâs a summary:
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
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 5.17.
In the next part, chapter 6: 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?