Welcome to Your Future

Your future is bright, your future needs coding. Welcome to Coding Your Future: the guidebook that will help you to design, build, test and code your future in computing at www.cdyf.me. This guidebook is aimed at ALL students in higher education. While this guide supports teaching and learning at the University of Manchester, it doesn’t actually matter:

  • where in the world you are studying
  • what stage of your degree you are at, from first year through to final year
  • what level you are studying at, high school, foundation, undergraduate or postgraduate
  • what institution you are studying at, this book is institutionally agnostic
  • what subject you are studying, as long as you are computationally curious

There is something in this guidebook for any student of computing, both those inside and outside of Computer Science departments. 👨🏿‍💻👨‍💻👩🏽‍💻👩‍💻👩🏿‍💻

0.1 Your Future is Bright, Your Future Needs Coding

A lot of careers advice can be dry, dull, textbooky, generic and boring with few illustrations and conversations. In the novel Alice’s Adventures in Wonderland (L. Carroll 1865) shown in figure 0.1, the protagonist Alice wonders why her sister is reading a book without pictures.

Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, “and what is the use of a book,” thought Alice “without pictures or conversations? (L. Carroll 1865) Public domain image of the cover of the 1898 edition of the novel Alice’s Adventures in Wonderland via Wikimedia Commons w.wiki/3S4C adapted using the Wikipedia app

Figure 0.1: Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, “and what is the use of a book,” thought Alice “without pictures or conversations? (L. Carroll 1865) Public domain image of the cover of the 1898 edition of the novel Alice’s Adventures in Wonderland via Wikimedia Commons w.wiki/3S4C adapted using the Wikipedia app

Pictures can tell stories, pictures can explain. Pictures can help you understand. Pictures can help you imagine. Pictures can help you code. (Guo 2013) So this book uses pictures (and conversations) to help you start coding your future. Other key differences between this and other guidebooks are outlined in section 1.12.

0.2 Your Future Aims

This guidebook will help you develop stronger habits of mind, body and soul using five key ingredients: C, D, Y, F and .me:

  1. C is for CODE: Instructions, algorithms, recipes, methods and strategies contained in this guidebook. This code is for your consumption, not for a machine.
  2. D is for DATA: From big data to microdata, from your data to my data and our data to metadata. From structured data, to semi-structured data and un-structured data. To factual, statistical, graphical, to readable, audible and watchable data. Data bytes, bits and bobs collected together for your analysis and amusement
  3. Y is for YOU: This book is all about you, with activities and other coding challenges for you to do in addition to just passively reading
  4. F is for FUTURES: Possible futures for you to think about. Try not to dwell on the past. Think about the future. Think about your future. (Ryder 1988, 2019)
  5. .me is for ME: Hello, my name is Duncan, see figure 0.2. I’m your tour guide here. If you’re feeling a bit lost, follow me and together we can starting coding your future.
Hello, my name is Duncan. If you’re feeling a bit lost, follow me and together we can starting coding your future. Please don’t call me Mr, Sir, Professor or Doctor, That’s Not My Name! (White and Martino 2007) Just call me Duncan because titles are tinsel. (Shelley 1812) Image adapted from Hello my name is … sticker by Eviatar Bach, public domain w.wiki/32RV

Figure 0.2: Hello, my name is Duncan. If you’re feeling a bit lost, follow me and together we can starting coding your future. Please don’t call me Mr, Sir, Professor or Doctor, That’s Not My Name! (White and Martino 2007) Just call me Duncan because titles are tinsel. (Shelley 1812) Image adapted from Hello my name is … sticker by Eviatar Bach, public domain w.wiki/32RV

Coding Your Future explores techniques for investigating career possibilities, job searching, making career decisions, writing applications, doing interviews, negotiating job offers and operating successfully in the workplace.

Alongside these practical engineering issues, this guidebook also encourages you to Design Your Future by taking a step back and reflecting on the bigger picture. You will apply computational thinking techniques, to reflect on who you are, what your story is, how you communicate with other people about your experience, skills and knowledge. As there is a computational theme, you will also need to reflect on what your inputs and outputs (I/O) are, both now and in the future. You’ll also need to think about what recipes (or algorithms) you might start experimenting with

This guidebook investigates professional and pastoral issues in computing, for those with and without Computer Science degrees in the early stage of their careers.

0.3 What you won’t learn

This guidebook will NOT teach you how to write code, there’s already lots of fantastic resources to help you do that. We discuss some of them in chapter 7 on computing your future.

0.4 Learning Your Future

So what will you learn from this guidebook? After reading this guidebook, watching the videos and doing the exercises you will be able to:

  1. Improve your self-awareness by describing who you are, what motivates you and your strengths and weaknesses
  2. Experiment with using some job search strategies and make adjustments to your algorithms as necessary
  3. Identify employers, sectors and roles that are of interest to you
  4. Improve your written communication skills both for job applications and communicating with other people
  5. Plan and prepare competitive written applications using standard techniques including CVs, covering letters, application forms and digital profiles
  6. Compete confidently and successfully in interviews. Anticipate and prepare for both technical and non-technical questions
  7. Plan further possibilities in your career such as promotion, postgraduate study & research, alternative employment and longer term goals
  8. Search and navigate a large “wordbase” (this guidebook and the work it cites). A wordbase is like a codebase, only written predominantly in natural language.

0.4.1 Your Future Requirements

As the title of this guidebook implies, there is a computational flavour here, but you do not have to be studying Computer Science to benefit. There are two main target audiences for this guidebook:

  1. Undergraduate and postgraduate students studying Computer Science as a major or minor part of their degree. This includes software engineering, artificial intelligence, human-computer interaction (HCI), information systems, health informatics, data science, gaming, cybersecurity and all the other myriad flavours of Computer Science
  2. Undergraduate and postgraduate students studying any subject, with little or no Computer Science at all. You are curious to know about what role computing could play in your future career because computing is too important to be left to Computer Scientists, see chapter 7 on Computing your Future
  3. Unless you are a mature student, you are most probably a member of Generation Z

So the prerequisites for this book are that you are studying (or have studied) at a University where English is one of the main spoken languages. You may have some experience already, either casual, voluntary or otherwise, but this book does not assume that you have already been employed in some capacity.

0.4.2 Gutting Your Future

Reading this book from cover to cover like a novel is not recommended. That would be foolish.

Don’t read this book, disembowel it! Eviscerate it! Gut it like a fish! Enjoy the nourishing flesh and discard the less appetising organs of its gastrointestinal tract. You’ll need to decide which is which, depending on your tastes and appetite. CC0 Public domain image of fish gutting by Wilfredor via Wikimedia commons w.wiki/_23m adapted using the Wikipedia app 🩸

Figure 0.3: Don’t read this book, disembowel it! Eviscerate it! Gut it like a fish! Enjoy the nourishing flesh and discard the less appetising organs of its gastrointestinal tract. You’ll need to decide which is which, depending on your tastes and appetite. CC0 Public domain image of fish gutting by Wilfredor via Wikimedia commons w.wiki/_23m adapted using the Wikipedia app 🩸

Instead of reading this book, I suggest you follow the advice given to historian William Woodruff about reading books when he was at University:

“You don’t READ books, you GUT them!”

So, gut this book like the fish in figure 0.3. Identify the chapters that are most useful to you (the flesh), and skip the rest (the guts). Which chapters are flesh and which are guts will depend on what stage of the journey you are at. This guidebook is designed to be as “guttable” as possible. To aid gutting, the version published at cdyf.me has a built in search and tables of contents. Before you can gut the fish, you’ll need an anatomical map shown in figure 0.4.

0.5 Mapping Your Future

Your future is split into seven parts:

  1. Chapters 1 to 7 investigate DESIGNING your future
  2. Chapters 8 to 13 investigate TESTING your future
  3. Chapters 15 to 21 investigate BUILDING your future
  4. Chapters 22 to 26 investigate DEPLOYING your future
  5. Chapters 27 to 48 investigate CODING STORIES, by meeting students who are doing just that
  6. Chapter 50, the final chapter Reading Your Future, contains all the references cited throughout the book

Although presented in a linear order, follow whatever squiggly path suits you best, as shown on the right hand side of figure 0.4. Many students start with chapter 8, but individual entry and exit points to your future will differ.

A map to your future: traditional learning often adopts a waterfall model by following a predictable linear path, as shown in the left hand side of this picture. You go to some lectures, do some coursework then sit an exam. All very linear and sequential. In contrast, whatever path you take in life, your future is unlikely to be either predictable or linear. Consequently, this guidebook encourages you to follow a non-linear iterative learning journey, shown on the right hand side. Start with whatever chapter you like, follow your nose and be prepared to revisit chapters as you progress through the early moves in your career. CC BY-SA map of your future by Yours Truly.

Figure 0.4: A map to your future: traditional learning often adopts a waterfall model by following a predictable linear path, as shown in the left hand side of this picture. You go to some lectures, do some coursework then sit an exam. All very linear and sequential. In contrast, whatever path you take in life, your future is unlikely to be either predictable or linear. Consequently, this guidebook encourages you to follow a non-linear iterative learning journey, shown on the right hand side. Start with whatever chapter you like, follow your nose and be prepared to revisit chapters as you progress through the early moves in your career. CC BY-SA map of your future by Yours Truly.

Let’s look in a bit more detail at each of the five parts of your future, starting with designing your future.

0.5.1 Designing Your Future

The first six chapters of this guidebook look at what engineers call design. When you build anything, a bridge, a piece of software, a car or a plane you’ll need to do some design like the blueprint in figure 0.5

Designing your future is about drawing up a blueprint, like this one for the elevation of the Brooklyn Bridge in New York. What does your blueprint look like? Chapter’s 1 through to 7 will help you design your future.

Figure 0.5: Designing your future is about drawing up a blueprint, like this one for the elevation of the Brooklyn Bridge in New York. What does your blueprint look like? Chapter’s 1 through to 7 will help you design your future.

Building a career isn’t that different to building anything else, you’ll need do many iterations of designing, coding, testing, building and deploying. Designing things often involves answering tricky questions. So when you’re designing your future you’ll need to cover the following:

  • Chapter 1: Rebooting Your Future discusses why you should bother reading this guidebook and coding your future
  • Chapter 2: Exploring Your Future challenges you to reflect on who you are, what makes you unique and what you have to offer to build better self-awareness
  • Chapter 3: Nurturing Your Future looks at ways you to be more concious of, and improve, both your mental and physical health
  • Chapter 4: Writing Your Future explores your softer communication skills, how they complement your hard skills and why employers value them so much
  • Chapter 5: Experiencing Your Future asks you to reflect on your experience and help identify where you can improve it
  • Chapter 6: Choosing Your Future encourages you to broaden your computational horizons. What possibile routes can you choose from, beyond the obvious well-trodden paths?
  • Chapter 7: Computing Your Future looks at the role computing can play in your career, especially if Computer Science is not a major part of your degree

0.5.2 Testing Your Future

The next seven chapters look at testing your future, by taking a test-driven approach to career development. What tests do you need to prepare for and pass before you can starting building your future? Just like building high quality software requires that you pass tests, so too, building a career means passing a series of tests. Each of these tests have inputs, an algorithm and outputs:

  • Chapter 8: Debugging Your Future looks at debugging your own written communication such as CVs, résumés, covering letters, application forms and digital portfolios.
  • Chapter 9: Hacking Your Future invites you to put yourself in the employers shoes by debugging and hacking other people’s CVs
  • Chapter 10: Verbalising Your Future gets you to debug your CV by reflecting on your actions and their impact by articulating them using carefully chosen verbs on your job applications
  • Chapter 11: Finding Your Future looks at where and how can you look for interesting opportunities
  • Chapter 12: Moving Your Future investigates three of the most important criteria of your job search: location, location, location.
  • Chapter 13: Speaking Your Future looks how can you turn interviews to your advantage and negotiate any offers you receive
  • Chapter 14: Questioning Your Future is based on Frequently Asked Questions (FAQ) by undergraduate students. What questions to people most commonly ask about getting a job?

0.5.3 Building Your Future

The next chapters look at building your future. You’ve passed all the tests, what do do you need to do to keep building your future in the same way as you would build a bridge, like the one shown in figure 0.6.

Just like the Manhattan Bridge, your future will be easier to build once you’ve done some preliminary design. You don’t need a grand design with lots of detail, a simple sketch will do. Design questions are covered in the first part of this guidebook on designing your future. Picture of the Manhattan bridge under construction in 1909 adapted from a public domain image via Wikimedia commons w.wiki/32Rg

Figure 0.6: Just like the Manhattan Bridge, your future will be easier to build once you’ve done some preliminary design. You don’t need a grand design with lots of detail, a simple sketch will do. Design questions are covered in the first part of this guidebook on designing your future. Picture of the Manhattan bridge under construction in 1909 adapted from a public domain image via Wikimedia commons w.wiki/32Rg

Once you’ve started to answer the design questions in the first part, you can start to implement it, by testing and building your career:

  • Chapter 15: Organising Your Future investigates how to schedule and organise the activities in this guidebook
  • Chapter 24: Researching Your Future investigates if a Masters degree or a PhD right for you?
  • Chapter 21: Enjoying Your Future is a musical interlude, providing a soundtrack that might help with your wellbeing

0.5.4 Deploying Your Future

The fourth part of this book, looks at deployment issues that follow from the design, build and test phases above. You’ll need good deployment strategies to help with the inevitable stresses and strains of building your future as shown in 0.7

Huge supporting chains on the Clifton Suspension Bridge in Bristol allow heavy loads pass over the River Avon. You’ll need good support to cope with the stresses and strains of building, testing and deploying your future. Clifton suspension bridge picture adapted from original by Nic Trott via Wikimedia commons w.wiki/32tu

Figure 0.7: Huge supporting chains on the Clifton Suspension Bridge in Bristol allow heavy loads pass over the River Avon. You’ll need good support to cope with the stresses and strains of building, testing and deploying your future. Clifton suspension bridge picture adapted from original by Nic Trott via Wikimedia commons w.wiki/32tu

  • Chapter 22: Starting Your Future looks at the moves you make after landing your first job. During your transition, how will you start to survive and thrive outside (and after) University
  • Chapter 23: Achieving Your Future looks at evidence you can collect of your learning and development using various kinds of certifiable evidence
  • Chapter 26: Ruling Your Future provides Ten Simple Rules for Coding your Future, this book in a nutshell

0.5.5 Future Coders

The fifth and final part of this guidebook, from chapter 27 onwards meets students who are Coding Their Future and asks them, how did they get to where they are and where are they going next? These chapters form part of a podcast which accompanies this book: Hearing Your Future, see figure 0.8.

Hearing your future is the Coding your Future podcast. Subscribe and listen wherever you get your podcasts, see section 27.2. Hearing sketch by Visual Thinkery is licensed under CC-BY-NDHearing your future is the Coding your Future podcast. Subscribe and listen wherever you get your podcasts, see section 27.2. Hearing sketch by Visual Thinkery is licensed under CC-BY-NDHearing your future is the Coding your Future podcast. Subscribe and listen wherever you get your podcasts, see section 27.2. Hearing sketch by Visual Thinkery is licensed under CC-BY-ND

Figure 0.8: Hearing your future is the Coding your Future podcast. Subscribe and listen wherever you get your podcasts, see section 27.2. Hearing sketch by Visual Thinkery is licensed under CC-BY-ND

The final chapter 50 of the section and book: Reading Your Future lists everything cited in this guidebook.

0.6 Your Future Themes

This guidebook aims to help you build a bridge from where you are now to where you’d like to be in the future. Each chapter of the book contains the following recurring themes:

This guidebook will help you build a bridge to your future. Picture of the iconic Golden Gate Bridge in California during the blue hour adapted from an original by Frank Schulenburg (CC BY-SA) on Wikimedia Commons w.wiki/37kY 🌁

Figure 0.9: This guidebook will help you build a bridge to your future. Picture of the iconic Golden Gate Bridge in California during the blue hour adapted from an original by Frank Schulenburg (CC BY-SA) on Wikimedia Commons w.wiki/37kY 🌁

  1. Learning your future: What you will learn from any given chapter
  2. Watching your future: videos and animations for you to watch
  3. Listening to your future: audio and podcasts for you to listen to
  4. Speaking your future: articulating from a script or by improvisation, particularly when preparing for interviews
  5. Discussing your future: breakpoints invite you to pause execution of your code and think about your variables and parameters. Can they be improved? Reflect and discuss.
  6. Reading your future: because reading is good for your mind, body and soul. Read The Friendly Manual. RTFM. Read THIS Friendly Manual.
  7. Writing your future and rewriting your future: written exercises using natural language
  8. Quizzing your future: quick quizzes to be done in real-time live scheduled sessions described in chapter 15 (synchronously) and in your own time (asynchronously)
  9. Assessing your future: activities to be assessed by yourself, your peers, an employer or an academic (depending on who and where you are)
  10. Challenging your future: coding challenges are designed to take you out of your comfort zone by encouraging you to experiment with your thoughts, discussions and actions
  11. Signposting your future: the most useful resources that I recommend you read, listen to or watch

0.7 Downloading Your Future

The full text of this guidebook is freely available at www.cdyf.me, this means the web version (that’s all the *.html) is searchable, browsable and linkable in any web browser on your phone, tablet, laptop or desktop computer. If you’d prefer to read this guidebook in a single ebook or pdf file, please get in touch.

In the future, a traditional printed paper copy from a publisher may also be available. If you’re a publisher who’d like to publish this book the old fashioned way, please get in touch.

0.8 Contributing to Your Future

If you’d like to contribute this guidebook, I welcome constructive feedback from loyal opposition and critical friends, see figure 0.10. All contributions will be gratefully acknowledged in section 0.10 unless you ask for your contributions to remain anonymous. If you’re about to graduate or have already graduated in Computer Science, see section 27.24.

If you find what you’re reading here useful and you think other people might benefit too, I’d really appreciate some stars (likes) on the guidebook’s repository at github.com/dullhunk/cdyf to help other people find us. ⭐️🤩⭐️🤩⭐️

Can you be a supportive but critical friend of this guidebook? Public domain image of a painting Friendship by Petrona Viera via Wikimedia Commons w.wiki/3WjY adapted using the Wikipedia App

Figure 0.10: Can you be a supportive but critical friend of this guidebook? Public domain image of a painting Friendship by Petrona Viera via Wikimedia Commons w.wiki/3WjY adapted using the Wikipedia App

I’m looking for feedback and contributions on everything in this guidebook from the small things like typos, grammatical errors and spelling mistakes through to bigger issues for each chapter such as:

  • Does the chapter make sense? How could concepts be made more clear?
  • Does it strike the right tone, is it pitched at the right level? Not patronising? Too many platitudes?
  • Are there too many motivational (or demotivational) quotations?
  • Where is it too long and waffly (see figure 8.22) or too short?
  • Are there too many (or too few) pictures? What needs more illustration?
  • Is it well scoped? Too broad or too narrow?
  • Are the stated learning objectives met by the chapter?
  • Are the activities clear? Can students understand why the activities are recommended? What other activities could be added?
  • Will it make sense to global readers e.g. will students from America, China and India etc understand the quirks and idioms of English language and culture
  • Are there too many metaphors? Mixed metaphors? Awkward analogies? Idiotic idioms? Annoying alliterations?
  • Too many citations? Not enough citations? Missed any key citations?
  • What else is missing?
  • Where are the unstated assumptions? Where is the unconscious bias?
  • What are the issues with equality, diversity and inclusion?
  • Are there too many musical references or annoying emoji? Please bear in mind I’m trying to be irreverent, light-hearted, not-very-corporate but definitely playful to improve readability 😜
  • What else needs to be ruthlessly edited out?

All suggestions welcome! Don’t be shy. There are several ways you can contribute, depending on how comfortable you are with Git:

0.8.1 For Github Contributors

If you’re familiar with git and markdown, there are several options if you have a github account (see github.com/join) including:

git clone https://github.com/dullhunk/cdyf.git

Most of the guidebook is generated from RMarkdown, that’s all the *.Rmd files. So markdown files are the only ones you should edit because everything else is generated from them including the *.html, *.tex, *.pdf,*.epub and *.docx files.

0.8.2 For Gitlab Contributors

Tell us how we can improve this guidebook and we’ll give you some GitLab.com swag as a token of our eternal gratitude, see figure 0.11. The most actionable and constructive suggestions will get the best swag.

We want your honest frank feedback on Improving Your Future. The most constructive and actionable feedback will receive (in ascending order) GitLab stickers, GitLab branded M&Ms and GitLab noetbooks. The foxy GitLab logo isn’t actually fox but a Japanese raccoon dog or Tanuki, who knew? (Sato 2022) 🦊

Figure 0.11: We want your honest frank feedback on Improving Your Future. The most constructive and actionable feedback will receive (in ascending order) GitLab stickers, GitLab branded M&Ms and GitLab noetbooks. The foxy GitLab logo isn’t actually fox but a Japanese raccoon dog or Tanuki, who knew? (Sato 2022) 🦊

We’d like to know how we can improve your future, specifically:

  1. What Went Well (WWW) what have you found the most useful part of the guidebook and/or course at www.cdyf.me and why?
  2. Even Better If (EBI) how can we make it better, what is missing? Which bits are boring or unclear? Which bits needlessly replicate better resources that can be found elsewhere? Too long, didn’t read (TL;DR)?
  3. Any other business (AOB) other comments or suggestions, e.g. would you buy a printed copy if one was available? How useful are the *.pdf and *.epub versions? How useful is the audio podcast?

Send us your suggestions by:

  • Raising an issue privately on GitLab issues (login required) gitlab.cs.man.ac.uk/duncan.hull/cdyf/-/issues/new, if you check the box: This issue is confidential ..., your issue won’t be seen by anybody except you and me
  • Creating an issue publicly on GitHub (login required), get credit for contributing an open source project and build your digital profile with your contributions, see section 0.8.1. Issues and bug reports are just as valuable as code and data.
  • Filling in this anonymous login-free form at forms.office.com/e/1U4TCfc8Aa

Besides bagging some swag, we’ll be eternally grateful to you for telling us how to make this guidebook better for other students of computing. 🙏

0.8.3 For Everyone Else

If you don’t want to (or can’t) use git and github.com then you can just email me suggestions for improvements

Any corrections or suggestions will be gratefully received and noted in the acknowledgements section 0.10, unless you tell me otherwise. I welcome all improvements, big and small.

0.9 Your Future is Dark, Your Future Needs Moding

Your future is bright, your future needs coding. However, if you prefer Your Future to be in dark-mode, with light text on a dark background rather than the default dark text on a white background, we recommend using darkreader.org shown in figure 0.12

A screenshot of Coding Your Future in dark mode. The default configuration for this guidebook is dark text on a white background. If you prefer white text and a dark background (aka dark mode) we recommend using darkreader.org

Figure 0.12: A screenshot of Coding Your Future in dark mode. The default configuration for this guidebook is dark text on a white background. If you prefer white text and a dark background (aka dark mode) we recommend using darkreader.org

Dark mode was a requested feature from a student, if there is anything you’d like to see in this guidebook, see section 0.8.

0.10 Acknowledgements

The content of this book is based on hundreds of conversations I have had with undergraduate and graduate students of (mostly) Computer Science, Mathematics, Physics and Engineering, since about 2012. It is also based on conversations I’ve had with their employers too.

0.10.1 Thank you students

First and foremost, I would like to thank all the students who have helped with this book, both directly and indirectly see figure 0.13.

If I have seen further it is by standing on the shoulders of giants students. (Newton 1675) Public domain image of Orion carrying his servant Cedalion on his shoulders via Wikimedia Commons w.wiki/_zZ2E adapted using the Wikipedia app

Figure 0.13: If I have seen further it is by standing on the shoulders of giants students. (Newton 1675) Public domain image of Orion carrying his servant Cedalion on his shoulders via Wikimedia Commons w.wiki/_zZ2E adapted using the Wikipedia app

So, if you have studied some flavour of Computer Science at the University of Manchester since 2012, there’s a high probability you have contributed to this book. Thank you for having the courage to tell me your stories. Thank you for being ambitious, hard working, talented, fearless, creative, inspirational and listening to me (sometimes). It has been my pleasure and privilege to work with you all.

Figure 0.14: Former Computer Science students Peter Sutton and Lloyd Henning of foxdogstudios.com demonstrate their Robot Chef. Thanks Pete and Lloyd for the all the comedy, inspiration and guest lectures (Sutton and Henning 2019)

I’d especially like to thank current and former industrial experience (IE) students who have completed a year in industry as part of their degree as well as those who have done summer internships, either as part of the Master of Engineering (MEng) program or otherwise, particularly (in alphabetical order) Eman Ahsan, Matt Akerman, Asma Alshebli, Sami Alabed, Teodora Balmos, Luke Beamish, Eirik Björnerstedt, Liam Breeze, Jingxuan Chen, Jonathan Cowling, Raluca Cruceru, Petia Davidova, Maximilian Gama, Mihail Ghinea, David Green, Muna Hassan, Lloyd Henning, Ivaylo Iliev, Cristian Ilin, Călin Ilie, Sneha Kandane, Sambbhav Khare, Bozhidar Klouchek, Joshua Langley, Struan McDonough, Milen Orfeev, Jason Ozuzu, Alice Păcuraru, Arpan Pandey, Stanislava Piskyulieva, Carmen Práxedes, Kristina Radinova, Tom Robinson, Amish Shah, Pedro Marques Sousa, Teodora Stoleru, Peter Sutton, Kamil Synak, Minahil Tariq, Boris Vasilev, Ingy Yasser, Nadine Yasser and Brian Yim Tam. In addition, the PASS leaders and facilitators, (PASS2-2021, PASS2-2020, PASS2-2019 etc), UniCSmcr.com, HackSoc, CSSoc and Manchester Ultimate Programming members have all been influential on the content of this book. I’ve learned heaps by manually trawling through thousands of your CVs too, so if you’ve shown me a copy of your CV, thanks! Chapter 8 on Debugging Your Future (self assessment) and chapter 9 on Hacking Your Future (peer assessment) are based on the most common bugs (or are they features?) I’ve seen in CVs.

Posing on the BBC Breakfast red sofa with the winning student team at the BBC / Barclays University Technology Challenge (UTC) in MediaCityUK, Salford, Greater Manchester.

Figure 0.15: Posing on the BBC Breakfast red sofa with the winning student team at the BBC / Barclays University Technology Challenge (UTC) in MediaCityUK, Salford, Greater Manchester.

So, thank you students for being studious. 🙏

0.10.2 Thank you Personal Learning Network

For everyone else in my Personal Learning Network (PLN), thank you and see chapter 49. 🙏

0.11 About me

Hello, my name is Duncan Hull and I’m currently writing this guidebook for undergraduate and postgraduate students as part of my day job at the University of Manchester where I’m a Senior Lecturer (≈ Associate Professor) in the Department of Computer Science.1

So what’s my story? I’ve been gainfully employed as a paperboy, supermarket cashier, shelf stacker, sausage packer, computer hacker, pork pie filler, plongeur, chef, dogsbody, field assistant, database administrator, deli counter server, consultant, matchday steward, envelope stuffer, high school teacher, postdoc, research scientist, chairperson, software engineer, lecturer, external examiner, tutor and scholar. Like many people, my path has been a bit of an Odyssey or what Helen Tupper and Sarah Ellis call a “squiggly career”. (Tupper and Ellis 2020) It’s highly likely that your career will not follow a neat linear trajectory either, also known as a portfolio career. (Tupper and Ellis 2021; Homer 800BC)

Beyond the paid stuff, I’ve done a range of voluntary work too, serving as a competition judge, fundraiser, code club & coderdojo leader, rabble rouser, digital council member, school governor, curator, librarian, beer drinker, itinerant blogger, wikipedia trainer, journal clubber and editor. But as Ronnie Lane and Ronnie Wood (figure 0.16) once said, I wish that I knew what I know now, when I was younger.

Time is a great teacher. Poor old grandad I laughed at all his words but I wish that I knew what I know now, when I was younger, see Ooh La La (Lane and Wood 1973) I’ve written some of what I know now in this guidebook, I hope you find it useful.

Figure 0.16: Time is a great teacher. Poor old grandad I laughed at all his words but I wish that I knew what I know now, when I was younger, see Ooh La La (Lane and Wood 1973) I’ve written some of what I know now in this guidebook, I hope you find it useful.

This guidebook documents some of what I know now, that I wish I’d known, when I was younger. If you’re starting your career, I hope you find these insights and exercises useful. I’ve sat on both sides of many interview tables, as interviewer and interviewee. I have had some spectacular failures, alongside some modest successes, and have included personal stories where they are relevant.

Most of what I have learned about employment comes from listening to, watching and helping students as they interact with employers on the first tentative moves in their careers, particularly through our industrial experience program, see figure 0.17.

Number of undergraduate students completing a year in industry as part of their degrees in Computer Science at the University of Manchester. Since 2008 over 1100 students have completed the program that I have been leading since 2012. We’ve managed to triple the number of students doing placements per year. As you can see in the histogram, the COVID-19 pandemic started having an effect on students starting placements in 2020.

Figure 0.17: Number of undergraduate students completing a year in industry as part of their degrees in Computer Science at the University of Manchester. Since 2008 over 1100 students have completed the program that I have been leading since 2012. We’ve managed to triple the number of students doing placements per year. As you can see in the histogram, the COVID-19 pandemic started having an effect on students starting placements in 2020.

I’ve documented some of what our students have taught me, so reading this book may help you learn from some of their successes and failures.

0.13 Your Future is Bright, Your Future Needs Coding

Your future is bright, your future needs coding, see figure 0.20. Welcome to Coding Your Future: the guidebook that will help you to design, build, test and code your future in computing.

Your future is bright, your future needs coding. You’re doing alright, getting good grades, the future’s so bright, you gotta wear shades. (MacDonald 1986) Shades by Visual Thinkery is licensed under CC BY-SA, remixed by Yours Truly. Make your own at remixer.visualthinkery.com/a/xrayspecs

Figure 0.20: Your future is bright, your future needs coding. You’re doing alright, getting good grades, the future’s so bright, you gotta wear shades. (MacDonald 1986) Shades by Visual Thinkery is licensed under CC BY-SA, remixed by Yours Truly. Make your own at remixer.visualthinkery.com/a/xrayspecs

So now that we’ve dispensed with the formalities, we can move on to the next part. Chapter 1: Rebooting your Future looks at why should you bother reading any this guidebook in the first place.