Do you feel like the weird edge case pictured in figure 9.1? Do typical graduate destinations such as large multi-national corporations, not really make you want to Shake Your Thang? (Isley, Isley, and Isley 1988) Perhaps you are interested in:
- using your technical skills responsibly and ethically to make the world a better place?
- starting your own business and making money for yourself, rather than other people?
- finding hidden or unadvertised vacancies?
- joining a startup instead of a large multinational corporation?
- venturing outside of the private sector?
- working in computing in roles beyond software engineering?
Broadening your initial job search described in chapter 8 will open up more opportunities on your horizon. This chapter will broaden those horizons and get you to think about some of the less obvious options, because I love weird edge cases and you should too. 😻
Many technology jobs exist outside of technology companies, (Assay 2020) because a lot of software is written to be used rather than sold. Consequently, many employers create bespoke software to fit the needs of their business. The people who build it are often employees, rather than people employed by a technology company. In the United States for example, ninety percent of IT jobs are outside the traditional tech industry. Technical jobs outside the technology sector often have the advantage of being more accessible than those within a very competitive technology sector. (Markow, Coutinho, and Bundy 2019)
- Describe the less obvious careers that computer science can lead to, besides software engineering, including:
- Starting a business or joining a startup
- Working outside of the technology sector
- Working outside of the private sector (governments, non-profits etc)
- Roles allied to software engineering that require you to be a conversational programmer
- Recognise the social responsibility accompanying the power held by computer scientists
- Evaluate and compare the values of an employer with your own values and ethics
The phrase software engineering has been around since Margaret Hamilton (figure 9.2) led the development of software for the Apollo Guidance Computer in the sixties. However, the practice of software engineering has been around even longer right back to Ada Lovelace in the nineteenth century.
Software engineers (or software developers if you prefer) are one of the most popular roles for graduates (see e.g. figure 6.6) but there are plenty of affiliated roles that computer scientists go into besides software engineering.
- Data scientist, see prospects.ac.uk/job-profiles/data-scientist
- Database administrator (DBA), see prospects.ac.uk/job-profiles/database-administrator
- Product manager or owner, liaises with customers, management and engineers to define what a product does
- Project manager, see prospects.ac.uk/job-profiles/project-manager
- Founder (or co-founder), starting your own business (startup)
- Freelance, becoming a self-employed contractor
- Forensic computer scientist, see prospects.ac.uk/job-profiles/forensic-computer-analyst
- Business analyst see prospects.ac.uk/job-profiles/business-analyst
- Game developer (that’s really just another name for software engineering) but see prospects.ac.uk/job-profiles/game-developer
- Technical writer, see section 4.5.2
- Technical sales and marketing, see prospects.ac.uk/job-profiles/technical-sales-engineer
- Test engineer (QA) see prospects.ac.uk/job-profiles/software-tester
- Research software engineer, see 9.3
- Usability engineer, often specialising in Human–Computer Interaction (HCI), User Experience (UX) or front-end development
- Security engineer, penetration testing see prospects.ac.uk/job-profiles/penetration-tester
- DevOps, sysadmin and site reliability engineering
- Patent attorney, protecting and organisations technical I.P. see prospects.ac.uk/job-profiles/patent-attorney
- Consultant, see prospects.ac.uk/job-profiles/it-consultant and prospects.ac.uk/job-profiles/management-consultant
What do these roles entail?
There are plenty of roles in computing working in research, either in computer science, or working alongside natural scientists, such as Physicists at home.cern or conventional scientists working at the laboratory bench. For example, there are lots roles in research software engineering (RSE), using software engineering to facilitate better scientific research, see society-rse.org.(Woolston 2022) For example, CERN employs ten times more engineers and technicians than research physicists, see figure 9.3. For physicists to understand the data that pours off the Large Hadron Collider (LHC), you need armies of engineers to enable the scientists to do their work. A lot of those engineers are working on hardware and software, and many of them won’t be physicists. (Hull 2020)
An non-exhaustive list of laboratories from the UK and Europe that employ computer scientists is shown below:
- CERN, see careers.cern and careers.cern/join-us/students
- The Francis Crick Institute see e.g. crick.ac.uk/careers-study/students/sandwich-students
- The Daresbury Laboratory, see stfccareers.co.uk/students/ under Computing
- The Diamond Light Source diamond.ac.uk see diamond.ac.uk/Careers/Students/Year-in-Industry.html
- The European Bioinformatics Institute ebi.ac.uk see ebi.ac.uk/careers
- The Earlham Institute earlham.ac.uk e.g. earlham.ac.uk/year-industry
- The ISIS Neutron and Muon source see isis.stfc.ac.uk/Pages/Students.aspx and stfccareers.co.uk/students/ under Computing
- The Jodrell Bank Observatory jodrellbank.manchester.ac.uk
- The metoffice.gov.uk, see metoffice.gov.uk/about-us/careers/apprentices-graduates-and-placements
- The Plymouth Marine Laboratory pml.ac.uk see pml.kallidusrecruit.com
- The Rutherford Appleton Laboratory (RAL) see stfccareers.co.uk/students/ under Computing
- The Wellcome Sanger Institute sanger.ac.uk
- More like this at jobs.ac.uk
These are mainly UK opportunities, but it is a similar story around the world. Many Universities and research institutes have summer internships for computer science students working alongside researchers. For example, at the University of Manchester, summer vacancies tend to be advertised each year around April/May. Wherever you are, speak to the head of a research lab you’re interested in. Ask them if they have plans to take on summer students.
We definitely need more Research Software Engineers! Great interview in @nature with our former President Paul Richmond (@gpu_mondus) on the vital role of #RSEng in research. @ResearchSoftEng is here if you want to find out more or join our community: https://t.co/OCWnhcHyFy https://t.co/DNxc4DLNKu pic.twitter.com/PMrgHguHlT— Society of Research Software Engineering (@ResearchSoftEng) June 1, 2022
If you’re thinking of doing postgraduate study, see chapter 13. Commercial experience gained on a summer internship or placement year is valued by all employers (not just commercial ones) so doing an internship or placement during your undergraduate degree is valuable wherever you end up, see section 13.3.
Computer scientists wield tremendous power in the twenty first century. We know that:
- With great power comes great responsibility (Parker 1962)
- With great code comes great responsibility (Goldman and Schlesinger 2018)
Given the growing power of computing in the twenty-first century, computer scientists have a duty to society to use that power responsibly and justly. How can they do so? Do computer scientists need to sell their soul to the highest bidder? How can computer science be used to make the world a better place, not just making rich people richer? Lets look at these in turn
You will sometimes hear people saying you need to sell your soul to get a job, shown in figure 9.5. See for example:
- Soul sold for less than £12 (Malham 2002)
- Am I Selling My Soul to Work for My Company? (Bell 2021)
So when you’re searching for jobs and researching potential employers, one of the first things you need to find out is what the values and ethical principles of an employer are, see section 8.3. This is a quick way to evaluate what makes an organisation who they are. Most employers publish their values and ethics openly, here’s a small selection to give you a flavour:
- Amazon amazon.jobs/en/principles
- Microsoft microsoft.com/en-us/about/corporate-values
- Apple apple.com/compliance
- Google ai.google/principles
- Morgan Stanley morganstanley.com/about-us/morgan-stanley-core-values
Let’s look at Morgan Stanley (figure 9.6) as an example, I’ve chosen these values because they are brief and self-explanatory. Morgan Stanley’s values are to:
- Do the right thing: act with integrity
- Put clients first: listen to what the client is saying and needs
- Lead with exceptional ideas: win by breaking new ground
- Commit to Diversity and Inclusion: value individual and cultural differences
- Give back: serve communities generously with expertise, time and money
Look at these values carefully, or choose the values of another employer you’re interested in. What do they mean to you?
Do an employers words match their actions? The words Don’t be evil are easy to say but harder to action. Good intentions are often easier said than done.
The human race faces some huge challenges in the 21st century:
- Mitigating the effects of climate change, see figure 9.7
- Tackling inequalities of wealth, income, race and gender (Stanley 2022)
- Ensuring algorithms work for everyone in society, not just the (predominantly) old rich white men that control them, see figure 9.8
- Providing sufficient food, water, shelter, energy, education and healthcare for a growing global population which is rapidly approaching 8 billion people
- Meeting all these goals sustainably and renewably without irreversibly depleting resources
How can computing be an ethical force for change that improves the lives people everywhere, not just those that are lucky enough to be on the wealthier side of the digital divide?
- How can computing make a difference?
- How can YOU use Computer Science to make the world a better place?
Here are some examples to get you started:
- Greener computing and net zero computing, see greensoftware.foundation (Knowles et al. 2022; Anon 2021)
- Smarter cities which use resources more efficiently (Hankin 2022)
- Fairer algorithms: see algorithmic bias, responsible.ai and figure 9.8
- Better education enabled by computing, both as a subject in its own right, and as an enabler of the teaching and learning of everything else
- Scientific computing for the benefit of humanity, see section 9.3. Creating better, cheaper and faster software and hardware for scientists and engineers, for example:
How will you use your superpowers of computing we mentioned in section 4.3 to make the world a better place?
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.
* PAUSE ⏸️
- How closely do a given employers values align with your own? You may need to revisit section 2.2.5.
- You might not get a 100% match but you’re unlikely to enjoy working for an employer where your values don’t match very well at all
- Are the stated values of an employer the whole story?
- Are there any unwritten or unspoken rules?
- Is there anything missing?
- Do the employers actions match their words? What an employer says and does may be contradictory. Actions speak louder than words
- What can computing do to tackle global challenges described in section 9.6
* RESUME ▶️
Once you’ve thought about these questions, you stand a much better chance of working out if a given employer is a good match for you. So do you have to sell your soul as shown in figure 9.9? It depends on what you value and if an employer shares those values with you.