The first part of this book is about designing your future. Before we get started, we need to reboot and tackle a fundamental design issue. Why the hell would you want to bother reading this guidebook when you have so many other things to do right now?
- ✅ You are a busy person, YES!
- ✅ Your time is a precious and finite resource, YES!
- ✅ You could be spending that precious time right now in lots of other ways, YES!
- ✅ There are mountains of self-help guides and courses already, YES!
- ✅ Do you really need yet another guidebook? YES! YES! YES!
You should read this guidebook because it is different to all the other guidebooks! It will help you design, test, build, debug and
code your future in computing.
Before you start coding, we need to reboot. Come with me down the rabbit hole in figure 1.1 and let me explain… 🐇
After reading this chapter you will be able to reboot your future by :
- Setting your expectations for using this guidebook, and open some doors to your future
- Travelling down the rabbit hole into the underworld of employment
- Discussing some of the gaps that exist between formal education and employment and how you can bridge them
In the novel Alice’s Adventures in Wonderland (L. Carroll 1865), the protagonist Alice follows a white rabbit down a hole. What she discovers is a strange underground world populated by weird and wonderful characters. The world of work can sometimes be a mysterious underworld where you adventure in wonderland accompanied by colourful characters.
You will spend lots of time in this wonderland, potentially as much as 80,000 hours of your life. (Investor 2019, 2020) So join me down the rabbit hole, it’s fun (honest), and sooner or later you’ll have to come down here anyway. So open up the door to the new possibilities in your future.
So University is a fantastic opportunity for you to open lots of new doors in your life and see where they take you.
As well as opening your future, studying at University is about investing in your future. You’re spending lots of your time and money at University. Hopefully, you’ve picked a subject that stimulates and challenges you intellectually while allowing you to find and develop your unique talents. But there’s another reason that you probably chose to study at University and that was to improve your job prospects. This guidebook will:
- Help you maximise the return on investment (ROI) of the substantial amount of your time and money you have already put into your education, from high school through to University
- Give you an overview of important professional issues that are sometimes neglected or sidelined in school and University curricula
- Highlight and review essential resources beyond this guidebook that will help with the above
All of the resources that can help you are scattered around in lots of different places. There are books, there are videos, there are podcasts, there are websites and jobs boards. There are online courses, blogs, social media, newspaper columns, journal articles, marketing material and many other good resources. It is overwhelming.
When Andy Stanford-Clark started working at IBM as a graduate fresh out of University, his manager gave him the career advice shown in figure 1.3:
Andy is now Chief Technology Officer (CTO) of IBM in the UK and an IBM Master inventor, so it was probably good advice. There are plenty people who can help design and build your future, ultimately it is YOU who has to take responsibility for the implementation (if you like, the
code). The sooner you get coding the better.
At University, there are lots of people can help design and build your future: peers, friends, academic staff, your careers service, employers and your wider social and professional networks but ultimately it is your responsibility to sort out whatever comes next. That might sound obvious but don’t wait to get started later or for somebody else to do it for you, because it probably won’t happen.
You have worked hard to get the grades you needed to get into University. You’ve spent (or are spending) a significant amount of time and money studying your chosen discipline. You are really geeking out by going deep into your subject for a substantial period of time. Geekery, by which I mean being interested in a subject for its own sake, is a good thing. Earning the title geek is a compliment, not an insult, and you should wear your geek badge with geek pride! Some people even say:
- The geeks will inherit the earth, see figure 1.4
- The (geeky) weirdness flows between us, anyone can tell to see us (Jr. 1988)
YOU are a geek, so where is your inheritance?
As a studious geek you might be tempted to believe that the world owes you something in return for all your geekiness. Unfortunately that’s not the case.
At some point during or after your study, you might find yourself applying for a graduate job or graduate scheme. EVERYONE applying for these opportunities will have a degree or be rapidly on their way to getting one. So having a degree, even a really geeky one, isn’t going to set you apart much from your competition. Even having a first class degree may not distinguish you that much your competitors (Coughlan 2019a; Borrett 2019). Some employers would rather not know (or don’t care) what University you went to, so your education might not make you stand out as much as you might like anyway. (Agnew 2016; Garner 2015)
What WILL distinguish you from your competitors is:
experience: see chapter 7
projects: see section 6.6.4
- your communication skills:
- your actions: what have you done with all of the above? How have you applied these fundamental communication skills to perform higher level communication tasks such as understanding, negotiating, persuading and leading etc. See examples of actions in chapter 18
C.A.R.Ein section 6.7.2: context, action, results and evidence. We’re talking about all your results, not just exam results.
leadershipyou can demonstrate or
awardsthat you have picked up along the way, see section 6.6.5
If you think that your degree will be enough to get you the job you want, bear in mind that:
- There are more and more graduates, the UK for example recently passed the milestone of 50% of young people going into higher education. This compares to just 15% of over 18s who stayed in higher education in 1980 (Coughlan 2019b)
- While a degree is a necessary condition for joining a graduate scheme or taking a graduate job it is not a sufficient condition. Having a degree will not set you apart much from your competition, every applicant will have a Bachelors degree.
- There are lots of graduates in your discipline. In the UK, for example, around 9,000 students graduate every year in Computer Science. If you’re studying in the UK, what makes you different from the other 8,999 computer scientists graduating in your year?
As Sally Fincher puts it:
Computing is one of the largest subject areas in UK higher education, and is taught in almost every institution, graduating around 9,000 students every year
Now, don’t be disillusioned by the statistics because any degree can open doors to many careers in computing. Studying computing opens up plenty of doors, see figure 5.7. According to Charlie Ball, it is a myth that there aren’t enough graduate jobs; one of four myths in the UK about the graduate labour market:
- Myth 1: Everyone goes to university nowadays : ~50% isn’t everyone (Ball 2022a)
- Myth 2: There aren’t enough graduate jobs (Ball 2022a)
- Myth 3: Some degrees have little value to employers, see chapter 5
- Myth 4: All the best graduate jobs are in London, (or your local big city) see chapter 16
What the data in figure 1.5 show is that you’ll need to look beyond your formal education to distinguish yourself from your competition. Your degree can certainly help you start a career, and computer geekery is a commercially valuable skill but a degree (however geeky) is typically not enough by itself.
There’s plenty of graduate jobs for you to apply for, but that doesn’t mean its going to be easy to walk into one when you graduate. Employers are looking for more from their employees than just having a degree, see chapter 7.
You might be tempted to postpone making difficult career decisions:
- I’ll do it tomorrow …
- I’ll do it next week …
- I’ll do it next year …
- I’ll finish this assignment …
- I’ll finish this exam …
- I’ll finish this semester …
- I’ll finish my degree first, see figure 1.6 …
- bad procrastination (Graham 2005)
- good procrastination (Graham 2005)
- better procrastination (Burkeman 2021)
We all procrastinate because there’s an infinite number of tasks we could be doing but a finite amount of time in which to do them.
Postponing decisions about your future is usually bad procrastination, because you risk neglecting the wrong things. You are relying on doing all your (career) testing at the end, when you graduate. You are procrastinating the
testing stage of your career development, when its often better to test early and test often, so:
- ❌ “test-last (career) development” where you get experience at the end, after you graduate
- ✅ “test-driven (career) development” (TDD) where you get experience before you graduate
It probably doesn’t help that many of the issues described and discussed in this book are typically not closely integrated into the curriculum in Higher Education. You’ll often find them on the edges, or completely outside of, standard University curricula.
Despite being sidelined, these issues matter and it is in your own self interests to start thinking about them right now. According to recent estimates by Investors in People, the average person spends 80,000 hours working during their lifetime. (Investor 2020) So, whatever you end up doing after University, you’ll be spending a lot of time doing it. Difficult decisions often get sidelined but it is never too early to experiencing your future, see chapter 7.
If you want to work for a big name like those in section 7.3.2 or 8.3.1, many of the larger graduate employers expect you to have some experience (see chapter 7) before you graduate. A large chunk of vacancies on graduate schemes are filled with people who have already been employed as interns or placement students within that (or another) organisation. So the sooner you start investigating employers by getting some experience the better decisions you’ll be able to make about what comes next. It’s (usually) too late when you graduate.
That doesn’t mean you have to know EXACTLY what you want to do when you finish. Lots of students don’t and I certainly didn’t when I graduated. I’d done a gap year teaching in India, two summer internships (in Sweden and the United States) and a year-in-industry in the UK and I still graduated with no clue as to what I wanted to do next! The important thing is that you make a start by getting some experience, paid or otherwise, see chapter 7. Sometimes knowing what you don’t want to do is just as valuable as knowing what you DO want to do. Either way, your future starts now, see figure 1.7.
Computer scientists call this problem “search space reduction” (Ferrari, Marin-Jimenez, and Zisserman 2008). You have a feasible region of future possibilities and you need to narrow down the candidates. You could think of coding your future as an optimisation problem. Start optimising now, by getting some experience because it’s too late when you graduate. 🎓
Students love to ask their teachers “will this be on the exam”? The short answer is YES (and NO)! Yes, this will be on the exam, but NO the exam won’t be set by your University. Unlike other courses you’ve done, the examinations for this course aren’t set by your University but by employers. Roughly speaking, there are three kinds of examinations that you’ll need to get good at, shown in Table 1.1
|Examination||What examiners are assessing||Grade|
|CV, application form covering letter||
So, yes, this will be on the exam, but no, the exams are obviously not set, administered, invigilated and marked by academics at your University. The exams are set by employers and the results are brutally binary:
- PASS: you’ve got the interview, job or promotion or…
- FAIL: none of the above. Next!
One of the challenging things about employers exams are, they typically do not have the bandwidth to give applicants useful feedback, other than a simple pass or fail. When it comes to job applications software engineer Gayle Laakmann McDowell calls this the “black hole”. The gravitational force of employers black holes is so strong that no CV or Résumé can escape, we’ll say more about this in chapter 6 on debugging your future.
It’s a similar story with interviews, if you fluffed an interview question or came across badly, it can be really difficult to find out from the employer what you did wrong. That makes it harder to learn from your mistakes.
There are practical exercises, for you to get your hands dirty with. Each chapter incorporates activities including individual exercises, group exercises, quizzes and points for wider discussion. You’ll get a lot more out of this guidebook by doing the activities, rather than just reading it.
Get credit for your contributions. As well as being openly accessible on the web, this book is open source too. What this means is, you can contribute in several ways described in section 0.8. All the written content for this guidebook is licensed under CC-BY-NC-ND, see the license in section 0.11.1.
I’m writing this guidebook because I need a resource for students to help them design, build, test and code their futures in computing. I need a book to help me teach to students to compete for jobs while at University, or shortly after graduating. I can’t find anything suitable that meets all the requirements of the students I teach. Some problems with the resources that are already out there, and how this book addresses them, are shown in table 1.2
|Other guidebooks||Coding your Future guidebook|
To following sections give a bit more detail on the differences outlined in table 1.2.
Some career resources claim (or imply) that they are the all you will need to solve a particular problem or worse: solve all of your problems! Just buy this book, do this course, watch this video, listen to this podcast and all your problems will go away! Rather than continue this trend, this book signposts some of the most useful resources, see figure 1.10.
Scientists call signposting citation, so I’ve signposted and cited sources in this guidebook so that you can :
- Follow them if the destinations are interesting or useful
- Check and verify any facts and claims I make in this book for yourself
While this guidebook cites lots of resources, some of them are more important than others. Each chapter summarises these in a signposts section. You’ll find everything else in the references, chapter 27. University and public libraries may also have physical and electronic copies of some of the books listed here.
I’m not suggesting that you read all these books right now, but that if a particular chapter has piqued your interest, these signposts are good places to keep going, if you haven’t already read them. I hope you’ll find these signposts handy for navigating the mountains of advice. Not all who wander are lost. 🗺️🧭
This guidebook to your future accompanies a course that has been co-designed by students for students, with input from academics and employers. It unites several disparate themes into one coherent story, from fundamental questions about identity and wellbeing through to more applied and practical advice on job hunting, career progression and life after University. Resources that do this are typically scattered around in many different places. There is usually no narrative to tie them all together to help students navigate the mountains of advice as they embark on the first stages of their careers. I’ll guide you through the narrative, but it is a descriptive story rather than a prescriptive one, see figure 1.11.
Although this is a course guidebook used in undergraduate teaching, you don’t need to be enrolled on the course to benefit from reading it, watching the videos and doing the exercises and coding challenges.
You are reading the alpha version, the Minimum Viable Product (MVP) of this guidebook, last updated on 24 November, 2022. That’s software engineer talk for saying it isn’t finished yet. Subsequent versions, will be continuously and iteratively released on a daily and weekly basis. They will include:
- More quizzes for better interactivity
- More videos on the Coding your Future YouTube channel
- Audio interviews with Students in the Coding your Future podcast in chapter 20
- More illustrations throughout the book
- Improved content, finish incomplete chapters
- Fix bugs and typos
- Your suggestions for improvements and corrections, via github etc see section 0.8
A lot of scientific and technical writing is written in the third person or passive voice, which is fine for academic writing, but can alienate readers. I have opted to use first person narrative where possible as it is shorter, and hopefully more engaging for you to read. (Poundstone 2013) Where relevant, I’ve told personal stories to illustrate key points.
You don’t need to pay anything to read this book online because its not hiding behind a paywall, see section 0.11.1. Publishing this guidebook online makes it findable and accessible, something that isn’t true of knowledge locked up inside other books.
Because this guidebook is online, it is searchable, browsable and linkable. You can link to whatever level you like, top level, chapter level and to every section and subsection level. Everything important has a Uniform Resource Locator (URL).
You don’t need to login to anything to use this guidebook either. Hurrah! One less password to remember.
This book is not just words and pictures, but includes audio and video as well, especially:
- videos produced by third parties that are worth watching
- audio produced by third parties that are worth listening to, either individual episodes or whole series
- short videos produced by me, which augment the written content of this book, see the Coding your Future YouTube channel
- the coding your future podcast which interviews undergraduate students, see chapter 20
I’ve tried to make the content of this book as engaging as possible by including pictures and conversations. Your future is deliberately playful and light-hearted. If you think this guidebook can be improved, let me know via the mechanisms described in section 0.8. I always welcome constructive feedback, especially when it comes via a pull request. Engage, see figure 1.13.
Each chapter in this book has a signposts section, highlighting key reading, watching or listening you could do next. This chapter has addressed the question of why should you bother coding your future? The answer is that your future is your responsibility and no-one elses. There are lots of people can help shape your future, but none more than yourself. Software engineer Robert C. Martin argues this point in his book The Clean Coder: A Code of Conduct for Professional Programmers. (Martin 2011)
What’s good about The Clean Coder is that it is short (only 200 pages), well written and to the point. The main part of the book covers professional issues in software engineering, some of which I discuss further in chapter 11, surviving your future.
If all that was too long, didn’t read (TL;DR) for you, then you’ll be relieved to hear that each chapter has a TL;DR (executive) summary.
The TL;DR for this chapter is, you should read this guidebook because it is different to all the other guidebooks. It will help you take responsibility for maximising your future. No-one else is going to do this for you. Your degree will help open up future options, but it is not enough by itself so you’ll need to maximise the return on your investment. Don’t procrastinate because it’s too late when you graduate and YES this will be on the exam (set by future employers). This guidebook has signposts to help you navigate, design, build, test, debug and code your future in computing.
It looks like the reboot has finished, so we’re ready to go. In the next chapter, you will reflect on who you are. What’s your story, coding glory?