In 2005, the scientist and engineer Phil Bourne starting publishing a series of articles which distilled people’s hard won knowledge into Ten Simple Rules. (Bourne 2005) Over a decade more than 1000 rules were published in over 100 articles in the scientific journal PLOS Computational Biology. (Bourne et al. 2018) These articles offer a huge range of advice from making the most of a summer internship (Aicher et al. 2017) to teaching programming (N. Brown and Wilson 2018) and even winning a Nobel Prize. (Roberts 2015) Articles as lists, or “listicles” as they are sometimes known, are a convenient way to summarise key points. So here are Ten Simple Rules for Coding Your Future: the too long, didn’t read (TL;DR) summary of this guidebook.
Your future is bright, your future needs ruling, so let’s start ruling your future.
There is a lot more to you than your degree. There is a lot more to you than your grades. Yes, you’ve spent (or will be spending) three or four years getting your degree. Use this time to identify your weaknesses and work out how to improve them. Exploring your future depends on knowing who you are now, see chapter 2 and figure 19.2.
Being able to articulate your self-awareness to employers will make writing a CV (chapter 8) and interviewing (chapter 13) a lot easier. Both rely on you be able to express yourself in written and spoken language. You should aim to strike a balance between humbly underselling yourself (see section 11.4.6) and proudly overselling yourself, see section 11.4.5. If you have digital profiles like those described in section 11.3.3, how accurate a reflection of you are they? Is your digital alter ego at odds with reality?
Studying at University can be enjoyable but it can also make you stressed, anxious and depressed. If you neglect to look after yourself mentally and physically, things can start to fall apart. Choose your reference points carefully, try not to compare yourself to the person at the top of the class: see Carmen’s advice in chapter 29. Ask yourself, am I doing better than last time? Be kind to yourself because nurturing yourself now will nurture your future, see chapter 3.
At University, you are quite likely to be surrounded by people who have more experience, better knowledge, higher grades or more skills than you. That might not have been the case at high school if you were top (or near the top) of your class. While it is natural to compare yourself to the best, you should do so with caution. The important thing is that you are working to towards the best version of yourself, not necessarily the best in your class anymore.
It’s too easy to fall into a trap of thikning if I had… when job hunting. Use what you already have, see figure 19.4.
Getting a job offer is competitive and can be cut-throat. You might find yourself falling into poor habits of mind:
- “If I had a better degree from a different university, I’d be more successful…” see section 1.6
- “If I had more experience, more voluntary work, more internships, I’d stand a better chance…” see section 5.3
- “If I’d done more projects and extra-curricular activities…” etc see section 8.6.4
- “If I’d got better grades at school and Uni…” see section 18.2
- “If only I’d worked harder…” see 2.4.1
- “If I was more confident at speaking and interviews … ” see chapter 13 on Speaking your future
- “If I’d been to a different school, I could be more successful…” see the 93percent.club (Nye 2021; Verkaik 2021)
This is all the usual dialogue you can expect from your inner critic:
Acknowledge these thoughts, see section 3.4, then try distance yourself from them. Start from where you are, use whatever you have and help who you can.
Grow your networks, make use of all the contacts you have and foster new connections where you can. Improve the connections you already have by spending time talking to people and hearing what they have to say. People can help you, especially those you’re not particularly close to, see figure 19.6
Remember that the weaker ties in your network (see section 11.2.5) may be more important than your stronger ties, especially when it comes to finding jobs. It’s not (just) what you know, but who you know.
You can classify your mistakes and failures into two categories:
- Productive mistakes: those you learnt from
- Unproductive mistakes: those you didn’t learn anything from (and risk repeating)
Mistakes and failure are inevitable in life, but productive mistakes are going to help you much more that unproductive ones (Petroski 1992). That doesn’t just mean you should “fail fast, fail often” (Babineaux 2013) or “move fast and break things”, but to consciously learn from any mistakes you make so that you don’t repeat them. One way to turn unproductive mistakes into productive ones is deliberately and consciously reflect on why you made them. This is part of the growth mindset we discussed in chapter 3.
In a growth mindset, mistakes can be good, but the fear of making them is not. You are more likely to take more chances when you’re unafraid to fail, and this will improve your chances of success. (Swartz 2012)
Many education systems around the world don’t teach people how to fail, because they put too much emphasis on success (as measured by grades and rewards) rather than progress, learning and happiness. (Lahey 2016; Kohn 2018) So as the angel investor Esther Dyson once said, “Always make new mistakes”, see figure 19.7
- If you’ve got some harsh feedback on your CV, how can you make less buggy in the future?
- If you’ve applied to lots of companies and not even had a reply yet, how can you improve your job search strategy?
- If you’ve neglected to develop interests and projects outside of work, how can you rebalance?
- If you crashed and burned in an interview, how can you use the experience to do better next time?
- If you failed to get the promotion you thought you deserved, what will you do differently in the future
There are good reasons to be grateful, showing gratitude doesn’t just help other people, it helps you too see figure 19.8
Join a team by helping someone, be a team player, help others, thank others for their help. Connect with your peers, its a key way to learn as described in section 2.2 and a foundation for making you feel like you belong at University. (Jackson, Capper, and Blake 2022)
Be flexible in your approach. Don’t just target big employers that you’ve heard of, there are plenty of startups and smaller organisations you’ve never heard of who have lots to offer, see figure 19.9.
You are not just a techie, either, so you don’t have to be a code monkey, unless you want to be.
Computer science is a young and rapidly changing discipline which means you can not afford to be left behind. Don’t let your mind retire. (Haim, Haim, and Haim 2012) Never stop learning, see chapter 18.
Research has shown that we often to learn more when we are uncomfortable. You will often learn more when you step outside your comfort zone and reach for things that push your limits. Sometimes when you think you are learning. Learning is an active process that requires you to do things rather than just being a passive observer or consumer. (Deslauriers et al. 2019; Barshay 2022)
Am I being insensitive asking people to step outside their comfort zone when we’ve all be stretched beyond breaking point during COVID-19, climate change and global economic turmoil? We’re all going to need to continue to step outside of our respective comfort zones in order to meet the challenges we face around the world, see figure 19.11.
This takes courage, but that’s often when you learn most. So step outside your comfort zone if you’re feeling brave enough to learn.
Job hunting can be hard. Job hunting can be stressful. Job hunting can be time consuming. Some employers will waste your valuable time, see section 11.4.2. Some employers will reject you but try not to take it personally, see 11.4.10. Job hunting may affect your mental health, see chapter 3. The important thing is to not give up, see figure 19.12. Try to make any failure productive, rather than unproductive, see section 19.5.
Too long, didn’t read (TL;DR)? Here’s a summary:
Your future is bright, your future needs ruling. Ruling your future, will help you deploy your future. Deploying your future is coding your future.
In the next section, chapter 20 we’ll meet some coders who are ruling (and coding) their futures.
This chapter is under construction because I’m using agile book development methods, see figure 19.13.