Why Computer Science?

I can see why people who only know me tangentially are confused: my bachelors degree is in English Literature and Cultural Criticism (now called Critical and Cultural Theory) and even if they know I have been working part time as a freelance web developer for most of the last 5 years, that doesn’t really explain why I have suddenly decided that the self-taught route isn’t taking me where I want to go.

Why university

  1. I feel there are some fairly significant gaps in my knowledge which can best be filled by a university education rather than one of the more modern routes such as a coding bootcamp.
  2. I actively enjoy academia.
  3. While it is possible to be successful in the tech space as a self taught programmer the majority of the most knowledgable/successful programmers I know have a university eduction in computer science underpinning their success.
  4. I am interested in doing research into the impact of current and emerging technologies on mental health and wellbeing (including physical health and social interactions). I chose the University of Birmingham not only because they promise that their conversion course is hard but also because they are home to one of the UK’s Human Computer Interaction Research Centres others that I am aware of include UCL’s Interaction Centre and Oxford’s Human Centred Computing Research though this is very much a growth area and there are now many universities offering MSc’s in HCI.

Why computer science

  1. I spend a lot of my time interacting with computers in one form or another: phone, laptop, tablet, eBook reader, washing machine, fridge, rice cooker, cash points, self checkouts, card readers, fuel pumps… the list gets longer every day and as I stated above I’m fascinated by the impact this has on people. I want to do research both into how we can craft better, safer interactions and also how we can avoid “dark patterns” which lead to computers (or more accurately the minds behind them) being able to guide/manipulate the opinions and decisions of individuals or groups in ways that might be negative, either for them personally or for society as a whole.
  2. I enjoy coding and can see myself working with code in one form or another for the rest of my life.

Early influences

School computers

  1. I learned how to make simple computer art on the Apple Mac’s in my senior schools computer room.
  2. Our library had a BBC which we were allowed to code on, as my family didn’t have a computer at the time a boy a few years younger than me showed me how to make beautiful dancing patterns on the screen. The library also had a basic Windows run inventory system that I was allowed to use which gave me the ability to study how the system worked. We (the young man who’s name I’ve forgotten and I) were also tasked at one point with working out all the possible ways we could circumvent the recently installed security system on the library door.
  3. Computer Science: when I went to college I discovered that not only was Computer Science a thing, but I was quite good at it. I spent my time creating a stock control system (that never actually worked) in Delphi and painstakingly writing notes about what I’d done.

How to become a hacker and other internet research

Around 1997/98 I read an amazing essay about becoming a hacker. It focused on the skills required to become an expert programmer: reading ‬and practicing. With a passing reference to fixing ones washing machine.

I wish I could find that essay again but the ephemeral nature of the internet unfortunately means that no matter what I search, I don’t seem to be able to locate it. So I’m going to try and recreate it, in the hope that it inspires someone else the way it inspired me. [Link to follow once I’ve actually written it.]

Much of my early research focused on figuring out how to become better at using/controlling computers. I learned early on how to hack my registry, spoof emails so that they appeared to be coming from someone other than me (often the persons own email address), circumvent the “nanny” program on our college network (the simplest solution was to use iframes) and various other things most of which were legally dubious even at the time.

I also read RFC’s in intricate detail, learned about how the web worked and yes, learned to hack/fix my washing machine.

So what happened?

Well on one level not a lot: I moved from hacking washing machines to the engine of my boat. I learned woodwork, plumbing, 12 volt wiring and about how to properly insulate things. But I didn’t do any coding for years.

There is the concept of the Dark Age among Lego fans—defined as the time when you lose your love of the little plastic bricks and turn your attention to seemingly more important exploits: getting a job, finding a partner, or gaining an education.

As your attention shifts, your Lego collection languishes in the basement— Sometimes for years—before finding its way to Mom’s garage sale or a Cousin’s house. People entering their Dark Age decide they don’t have time for the frivolity of toys. Responsibilities trump hobbies, and Lego bricks re associated with immature pursuits.

All that time, your love of Lego never quite went away…and before you know it, it’s back in full force. Maybe a friend or relative gives you a Lego kit for a gag gift. Maybe you spot a bucket of bricks at a yard sale, and can’t resist. Somehow, the thought occurs to you that building a model might be fun again.

Thus, the Dark Age ends.

Source: Maker Pro: Essays on Making a Living as a Maker Amazon Affiliate Link.

The book goes on to talk about how returning to making as an adult follows much the same pattern as this return to Lego does, and that is exactly how I got back into coding. HTML and CSS (the gateway drug for so many[1]), PHP, Python, Arduino flavour C. Somewhere along the way I remembered how much I love it and that I’m actually quite good at it. So here I am, starting back at Uni in a couple of weeks, questioning every decision I have made in the last year (because what’s starting a new thing without a good dose of imposter syndrome?).

[1] People occasionally ask when getting into coding which language they should learn, learn any but learn it well. Once you can do one others are a lot easier to pick up.