This is a guest blog by James Garner, a recent computer science graduate from Lancaster University. He has worked in London since January 2015 and went full-time as a full-stack developer after his last exams.
Hi! I’m James, and I’m here to give my take on life after a computer science degree. But whatever kind of technology background you’re from, you need to read this.
Despite the pressure of my job, I managed to get a 2:1 and secure the permanent role I’ve always wanted. Graduate job statistics aren’t great (either by percentage or by pay), so I’m a very lucky guy. With the doom and gloom bombarding us regularly in the news, fresh-out-of-university employment seems like an impossible dream for most students.
Most graduates will envision themselves mourning the end of university, kicking back at their folks’ for a few weeks, scraping around for a casual temporary job and generally worrying if they’ll ever get out of it and into proper graduate employment.
But I’m here to tell you that it’s definitely doable. I want to share how I managed to get ahead; I was living and working where I wanted long before everyone else during my final year. I’m a full stack developer at a big data company, and it’s nowhere near as boring as it sounds. Promise!
I’m going to talk about the three things that people often ask me about: how I made myself employable, how I began applying to companies, and how I got into this specific job.
Internships are the key to employability, and thankfully in technology, few are unpaid. So in addition to the money, you’ll gain valuable experience, both in building things but also – crucially – how to have fun talking to people yet still behaving appropriately for a work environment.
Computer Science specifically is a great field where you can actually change the world. You won’t be filing papers or making tea (unless it’s for yourself). Your graduate employer will see you are ready for the workplace, have actually been bothered to do something during your free time, and that you are good enough to be paid (by definition you become a professional).
Personally, I did a 1 month internship after my first year, which was great as it let me enjoy most of the summer. In my first internship I was writing an ecommerce website with CakePHP. This was my first exposure to source control (shocking!). University doesn’t teach people to work together and in the real world it is highly unlikely you’ll be the only one writing code for some project.
As a developer, the screen will be your best friend – but you should also know how to get on well in a team.
You will find many other ugly things going on in the real world by doing internships – from no source control at all (yes, really) to deploying via FTP. Your beautiful impression of academic perfection and practices will be ruined, but you will be in a much better position to tackle the real world after university as a result.
I then interned for another 3 months in the summer before third year. I worked for the cloud company DataCentred as a full stack developer. I learnt AngularJS, node.js and Ruby on Rails from scratch, which obviously opened many doors. I also patched the open source project PHPIPAM (decent LDAP support is down to me!) and wrote a pretty Ruby gem for Atlassian’s JIRA API.
Open source contributions don’t have to be voluntary or unpaid. Playing with DataCentred’s cloud platform was a great opportunity and being part of a DevOps team taught me that the software life cycle doesn’t stop at writing the last line of code.
I can honestly say that those 4 months of work both changed my development perspective and also let me have some of the best weeks of my life.
Next: How to ace an interview. You can read a tonne of things on-line about interview technique; I won’t repeat that. I will get right to the point for technology. If you are asked to solve problems on a white board, bad luck. It’s very hard, and you will make mistakes. But if you correct them, that shows that you’re good at reviewing and self-criticising.
Of course people make mistakes. There will be many edge cases to the problem so at least mention what you can’t cover, and really think outside the box – extreme input, no input, memory restrictions, algorithmic complexity… start with recursion and move to a stack. That’s nearly always the answer. Just a hint!
If you’re asked to bring code, great! You’re very lucky, and you’ve got the best chance possible. Your code needs to be fresh (not an old project), short (< 150 lines?), solving a simple, well-defined problem, and should be accompanied by instructions for running it (make it easy, I’m begging you).
The interviewers may ask you about decisions you’ve made, especially about architecture and maintainability, because technical debt plagues our industry. You can’t get asked much about architecture and maintainability when using a whiteboard, because the problem is simple. Employers are looking for elegant code, and it’s the same when you’re solving problems on a whiteboard: are you actually good at solving one?
Personally, I wrote a script to calculate ages and star signs from a list of people and their birthdays, which I took from Facebook. My company is in big data and enjoyed that I had tried to create a meaningful data set, because it’s what they do to make money, and they wanted me to show that I could effectively make money for them.
You can earn some bonus points as well if you get creative. Research the companies you’re trying to impress and think about what would catch their attention. Do something with data, code or graphics that has a meaning relevant to them.
Coding – it’s not rocket science. Well, sometimes it is.
Finally: How I got into this specific job, or more generally, what your options are. My first piece of advice (and I know this is a bit controversial) is not to become a web developer. With good technology skills (and once more especially with a theoretical degree like Computer Science), you can do more than fixing font alignment issues or applying CSS3 gradients.
It’s not changing the world! There are a lot of interesting opportunities out there. You have been given a lucky hand of poker with a technology degree, so play it. Raise, don’t match.
My second piece of advice is to be a developer (some people go into finance/analysis but I think they are very brave), but in a field which you actually like outside of technology. For example if you like fashion you could be a software developer for ASOS or a department store. That will keep you interested and avoid burn out. Besides, you will probably get a juicy discount on their products – it’s a win win!
My final tip is: If you are looking for a job, you don’t have to rely on your university. I found my position on Twitter, believe it or not. The opportunities marketed to students by universities are designed for students with low employability, and if you’ve done internships, you may earn more and do more than in a job specifically for graduates.
You can find more challenging opportunities with Twitter. Even though it’s cringeworthy to put hashtags in your Tweets, people who are serious about Twitter will find you through these hashtags, and they will follow you, as long as you’re saying something interesting, insightful or opinionated.
You can talk about your projects, things you’re learning and things you think will help other people. You should also use GitHub, where graduates are often stalked. Eventually you will become a “celebrity” within your specific field and you will be highly employable. You should also specifically follow organisations like TechHub and UCL Advances, which organise free networking events with lots of food and wine (the start up world is very lucrative). Attend these and make your name stick.
Aim high, target the big companies and think about how all the professionals in that building could someday be stalking your Twitter.
Getting a job via Twitter may seem impossible, but don’t underestimate the size of the social media/e-mail recruitment business. Recruiters are always online, are extremely well-connected, and are probably just as keen to stalk you as you are to stalk your ex on Facebook.
This is how I’ll finish: If you do one thing today to get ahead, sign up for “Silicon Milk Roundabout”. It’s a great place to find a job and they will love you as a young person with some initiative. It’s also free, so there’s nothing to lose. That’s it. I wish you the best of luck – make your technology degree count!