The Student Room Group

What should I do to increase my chances of getting a job right after graduation?

So I’m a first year Computer Science student and I’ve finished the first semester. So far I’ve done okay in my exams and course works (60%-75%). I’ve been enjoying programming and computer systems modules so far. As a student, I know that doing internships would be very helpful as I’ll gain experience but I was wondering if there’s anything else I could do apart from doing well + internships to increase the chances of getting a job as soon as I graduate?
The internships will help a lot - particularly if you're planning on taking a 12-month placement after the 2nd year - having that experience under your belt by the time you graduate is likely to help you stand out in graduate job interviews.

One thing you could do in your spare time (maybe over the summer if you don't have time now) would be to work on a personal project which you can use to work on your skills and go a bit further than the programming modules you've done so far (e.g. maybe a web app, game, arduino project, mobile app, desktop app, etc.)

Another great way to get some experience could be to take some time to get involved in an Open Source project: https://www.firsttimersonly.com/

Maybe look out for some local tech meet-up groups in your area to see whether there's anything that interests you - https://www.meetup.com/find/tech/
Sometimes these can be great for finding out about interesting events (e.g. hackathons) and tech talks with guest speakers and industry experts, or even just for doing some social networking with other tech people in your local area.

Problem solving skills are really important too - challenging yourself to solve problems like these is a really good way to exercise brain matter - the more you practice, the better you'll be:
- https://projecteuler.net/archives
- http://www.codeabbey.com/index/task_list
- https://leetcode.com/problemset/all/
- https://www.hackerrank.com/dashboard

If you have any aspirations to work in software engineering after you graduate, then I'd highly recommend reading this book which covers a lot of topics about writing professional-quality code - a lot of things which universities don't really teach but also things which employers care about:
https://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670
(The book is 15 years old, but don't let that put you off - since the core topic isn't really about any specific programming language or tool/technology - the content of the book is nearly all just as relevant now as it was in 2004).

Other things you could do would be to learn to navigate your way around *nix - this is a generally useful skill to have in a lot of IT careers.

Also make sure you're comfortable and familiar with Git and get yourself a GitHub account (or GitLab or BitBucket) as a place to push your projects and keep repositories for any coding projects you've worked on. Git is important to know for a lot of IT jobs, but it's also really useful when you get to your 3rd year and are working on your Final Year Project as well.

It's also useful to know your way around either Microsoft Azure or Amazon Web Services - you can make a free account on one of those and get used to working with 'cloud' services for your projects (Will be really useful to know for your Final Year Project too).


Try to go deeper into whichever programming language(s) you've learned so far - universities tend not to cover any programming language in enough detail, so try to pick up a decent advanced book for whichever your 'main' programming language happens to be. i.e. one which covers the advanced features of the language and its libraries, and demonstrates more advanced techniques for using the language. (for Java, have a look at "Modern Java in Action". For C#, look at "C# in Depth". For Python, look at "Python Cookbook" or "Fluent Python" -- depending where you are with programming right now, books like that might be a bit too advanced, but eventually they'll be really useful for mastery of your main programming language)

.
(edited 5 years ago)
Original post by winterscoming
The internships will help a lot - particularly if you're planning on taking a 12-month placement after the 2nd year - having that experience under your belt by the time you graduate is likely to help you stand out in graduate job interviews.

One thing you could do in your spare time (maybe over the summer if you don't have time now) would be to work on a personal project which you can use to work on your skills and go a bit further than the programming modules you've done so far (e.g. maybe a web app, game, arduino project, mobile app, desktop app, etc.)

Another great way to get some experience could be to take some time out to get involved in an Open Source project: https://www.firsttimersonly.com/

Maybe look out for some local tech meet-up groups in your area to see whether there's anything that interests you - https://www.meetup.com/find/tech/
Sometimes these can be great for finding out about interesting events (e.g. hackathons) and tech talks with guest speakers and industry experts, or even just for doing some social networking with other tech people in your local area.

Problem solving skills are really important too - challenging yourself to solve problems like these is a really good way to exercise brain matter - the more you practice, the better you'll be:
- https://projecteuler.net/archives
- http://www.codeabbey.com/index/task_list
- https://leetcode.com/problemset/all/
- https://www.hackerrank.com/dashboard

If you have any aspirations to work in software engineering after you graduate, then I'd highly recommend reading this book which covers a lot of topics about writing professional-quality code - a lot of things which universities don't really teach but also things which employers care about:
https://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670
(The book is 15 years old, but don't let that put you off - since the core topic isn't really about any specific programming language or tool/technology - the content of the book is nearly all just as relevant now as it was in 2004).

Other things you could do would be to learn to navigate your way around *nix - this is a generally useful skill to have in a lot of IT careers.

Also make sure you're comfortable and familiar with Git and get yourself a GitHub account (or GitLab or BitBucket) as a place to push your projects and keep repositories for any coding projects you've worked on. Git is important to know for a lot of IT jobs, but it's also really useful when you get to your 3rd year and are working on your Final Year Project as well.

It's also useful to know your way around either Microsoft Azure or Amazon Web Services - you can make a free account on one of those and get used to working with 'cloud' services for your projects (Will be really useful to know for your Final Year Project too).


Try to go deeper into whichever programming language(s) you've learned so far - universities tend not to cover any programming language in enough detail, so try to pick up a decent advanced book for whichever your 'main' programming language happens to be. i.e. one which covers the advanced features of the language and its libraries, and demonstrates more advanced techniques for using the language. (for Java, have a look at "Modern Java in Action". For C#, look at "C# in Depth". For Python, look at "Python Cookbook" -- depending where you are with programming right now, books like that might be a bit too advanced, but eventually they'll be really useful for mastery of your main programming language)

.


I agree
Original post by Byun.B
So I’m a first year Computer Science student and I’ve finished the first semester. So far I’ve done okay in my exams and course works (60%-75%). I’ve been enjoying programming and computer systems modules so far. As a student, I know that doing internships would be very helpful as I’ll gain experience but I was wondering if there’s anything else I could do apart from doing well + internships to increase the chances of getting a job as soon as I graduate?

For getting a "skills" focused job - I'd echo winterscoming with fleshing out a decent portfolio of projects, practicing the skill (hackathons, design competitions, kaggle projects for analytics/data science etc), and practicing for inevitable skill-based interviews (leetcode, wireframing, etc). Internships are a given for pretty much any professional job where most of the work in that field is done as part of an organisation rather than on ad-hoc contracts (like acting or singing or filmmaking etc).

For getting a "business/generalist" (corporate law fits in here as well) job, get involved with things that show breadth and leadership: extracurriculars, leadership positions, relevant societies, maybe starting some kind of initiative (be it a fundraising effort, a society or something else). Learn the lingo and any job-specific terminology/concepts (very important if you're looking at finance for instance) of the job area you're looking for. Keep up with news and current affairs. And absolutely, network. Internships/insights are a must to apply to.

That was as broad as I could be but I feel the above kind of captures what needs to be done to be competitive enough for interviews in the two most common types of jobs grads recruit for. Obviously, there is a whole other kettle of fish in the form of interview preparation and application writing too.

P.S. Just because you do CS doesn't mean you have to consider only technical careers..
(edited 5 years ago)
Reply 4
Start applying the September before you graduate.
Original post by Byun.B
So I’m a first year Computer Science student and I’ve finished the first semester. So far I’ve done okay in my exams and course works (60%-75%). I’ve been enjoying programming and computer systems modules so far. As a student, I know that doing internships would be very helpful as I’ll gain experience but I was wondering if there’s anything else I could do apart from doing well + internships to increase the chances of getting a job as soon as I graduate?

To add to the excellent advice you've given so far I would say:

1. All work experience is valuable, whether a formal internship or more informal placement.
2. Start thinking about exactly what jobs you want to apply for after university, look at current vacancies and job descriptions/person specifications to get an idea of what employers are looking for.
3. Start getting your head around the job application process. Make sure by the end of your second year you are confident in the various methods employers use when hiring graduates: this could be assessing CV/cover letter, online tests, asking a series of competency questions in an online form, interviews, assessment centres. If you aren't confident in any of those areas look at what you can do to improve- there are practice tests online,web pages with tips on how to write a cv/cover letter, there is a cv checking service on this website, your university careers service may offer sessions on various elements of the application process as well.
Reply 6
Join a compsci society and try and progress into a senior role as you go through uni
Reply 7
I agree with everyone's tips above. My own would be, in addition to the above make sure to document any activity that shows your passion and ambition for coding. E.g if you attend a meetup event be sure to put it on social media. Maybe even start a blog. 90% of recruiters google a candiate when deciding to invite them to interview, the more good info they can find the more likely they will be to contact you.
Original post by KLD88
90% of recruiters google a candiate when deciding to invite them to interview.

Not really. For graduate jobs they'll have a pile of 100+ CVs to filter through, and generally spend a maximum of 90 seconds looking at a CV to decide whether to offer an interview before moving onto the next CV. They don't have anywhere near enough time to google candidates, the process of CV filtering for interviews is rarely any more in-depth than this.

Then the decision to hire is based on the interview process (e.g. technical tests, a walkthrough of a problem on a whiteboard, face-to-face questions, maybe a presentation of the final year project, etc.). Social media plays no role at all, at least not in technical IT jobs anyway.
(edited 5 years ago)
Original post by winterscoming
Not really, they'll have a pile of 100 CVs to filter through, and generally spend a maximum of 90 seconds looking at your CV to decide whether to offer an interview before moving onto the next CV. They don't have anywhere near enough time to google candidates, the process of CV filtering for interviews is rarely any more indepth than a read through the CV.

Then the decision to hire is based on the interview process (e.g. technical tests, a walkthrough of a problem on a whiteboard, face-to-face questions, maybe a presentation of the final year project, etc.). Social media plays no role at all, at least not in technical IT jobs anyway.

90 seconds max sounds like a bit much considering the average is like 7 seconds or something
Nobody seems to have mentioned this yet, (I am speaking from experience of graduating in engineering but from what I have heard Computer Science also has a high graduate to vacancy ratio, and the highest graduate unemployment of all degrees?). Having lots of technical skills, extracurriculars and team projects, summer/placement work experience in industry, a passion for what you study is great but most of the other candidates will have this as well. What gets you a job is an ability to stand out during the application process. If you can't put across your skills and abilities during the application, video interview, group excercises etc you won't make the cut regardless of the amount of other preparation you have done. This is particularly difficult for those with poor social skills/interpersonal skills or those of a more introverted nature. The graduate employment market is pretty brutal when it comes to favouring particular skills and abilities over others. Often the job will go to the person who stood out the most i.e. those that perform well when put in those kinds of situations. It is old fashioned now to believe having excellent technical skills, a passion for what you do will be enough to get a job. Employers are now able to "cherry pick" candidates with imo a quite narrow skillset, so best to be prepared for that.
Original post by swelshie
Nobody seems to have mentioned this yet, (I am speaking from experience of graduating in engineering but from what I have heard Computer Science also has a high graduate to vacancy ratio, and the highest graduate unemployment of all degrees?). Having lots of technical skills, extracurriculars and team projects, summer/placement work experience in industry, a passion for what you study is great but most of the other candidates will have this as well.

I can see why it might seem that way given some of the threads that turn up on TSR and some of the stories about CompSci graduates unable to find work, but from what I've seen, it looks completely different from the other side. (i.e. the employers interviewing graduates - particularly for jobs like software engineering where technical skills and experience count for a lot more than having a degree)

A depressingly high proportion of CompSci graduates really don't seem to have much in the way of technical skills, have never taught themselves anything outside of university, never worked on their own personal projects, didn't take any placements; including quite a lot who even had a 12-month industrial year option on their course but turned it down or didn't bother to apply for one. (and by "depressingly high" I'd guess it's around a quarter of Computer science graduates who turn up to interviews at the company I work for - so that's not even including the ones who didn't even get past the CV filtering stage)

Realistically, any computer science graduate who fits the description you mention here nearly always stands out a very long way above the rest, and shouldn't have any problem finding employment after they graduate because those tend to be the very best ones.

The real problem is that there are too many graduates who are plainly lacking any competence in a lot of core technical skills, and that's including some with a decent degree (e.g. 2:1) from decent universities - it's not an exaggeration to say that some graduates are plainly unable to solve fairly basic, standard technical problems in an interview (Not even super-hard problems, just standard stuff that they should have already been doing for 3 years on their course). Many are also unable to explain basic technical concepts (maybe stuff they once learned for an exam, but had long forgotten it), or struggle to answer a lot of fundamental technical questions in the face-to-face part of the interview, etc.

The way I see it is that a huge mismatch exists between the things taught or learned on a Computer Science degree compared with the core technical skills that employers want to see in junior engineers. I can only imagine that part of it is down to students focusing their efforts on trying to pass individual modules during their course, doing enough work to pass the exams or their coursework (maybe cheating at coursework? who knows?), and then forgetting everything they've learned by the time they graduate, maybe "cramming" knowledge, or maybe being able to perform really well in the non-technical or theoretical modules to compensate for their weaknesses in areas like programming that would actually serve them after they graduate.

In any case, it certainly isn't the case that talented tech-savvy graduates are having a hard time finding a job; the unfortunate reality is that there are a lot of CompSci graduates who seemingly either wasted their 3 years at university without really learning much from their course, or who maybe just weren't ever really cut out for those kinds of jobs in the first place.
(edited 5 years ago)
Reply 12
Thank you everyone for the comments! Really helped me a lot ~
Original post by swelshie
Nobody seems to have mentioned this yet, (I am speaking from experience of graduating in engineering but from what I have heard Computer Science also has a high graduate to vacancy ratio, and the highest graduate unemployment of all degrees?). Having lots of technical skills, extracurriculars and team projects, summer/placement work experience in industry, a passion for what you study is great but most of the other candidates will have this as well. What gets you a job is an ability to stand out during the application process. If you can't put across your skills and abilities during the application, video interview, group excercises etc you won't make the cut regardless of the amount of other preparation you have done. This is particularly difficult for those with poor social skills/interpersonal skills or those of a more introverted nature. The graduate employment market is pretty brutal when it comes to favouring particular skills and abilities over others. Often the job will go to the person who stood out the most i.e. those that perform well when put in those kinds of situations. It is old fashioned now to believe having excellent technical skills, a passion for what you do will be enough to get a job. Employers are now able to "cherry pick" candidates with imo a quite narrow skillset, so best to be prepared for that.

Definitley agree with you from my experience of graduate employment in a different sector. It's also what I was alluding to with point no3 in my previous post here. When it came to getting my first job post university it wasn't a lack of skills and experience which held me back, it was my interview answers. I know that from post interview feedback calls with employers, one even told me I had great experience but they couldn't give me the job because I'd messed up on one unfortunately important interview question.
Internships or graduate schemes, or even applying for a role at your uni may help increase your chances.

Quick Reply

Latest