Your Degree Isn't Enough: My Advice to Students
A degree, whether it be in computer science, software engineering, mathematics or a related field is often marketed as the golden ticket for those wanting a lucrative career in programming. An often extortionately expensive goose that will eventually lay golden eggs for years to come.
While it's absolutely true that a degree has serious value in technical career paths, it should be noted that students on a degree programme should not see three to four years of study as a silver bullet. Plenty of students will get a job with just their degree and nothing more, yes, but as the barrier of entry to many development and IT jobs lowers and university students face increasing competition from apprentices, bootcamp graduates, and completely self-taught developers, there is absolutely no room for complacency.
What do you know?
Throughout my time in academia, I've had the good pleasure of advising a great deal of students on their next steps and what they can do to maximise their time as an undergraduate. I've been on careers panels, representing former employers and university. I've had the opportunity to learn directly from senior developers and recruiters from a range of amazing companies including Google, Oracle, Amadeus, and Network Rail on what they're looking out for and how they curate CVs (resumes). I currently work in education now; passing the mantle and routinely guiding and assist students with their own professional development and learning journeys.
Of course, don't accept my word as Gospel. I absolutely encourage you to do your own research, talk to your university's career service(s), and to other senior developers and recruiters you network with. Everyone has unique perspectives to share and your mileage will always vary. Finally, it's important to note that I speak from the perspective of someone within the British education system, so things can be different elsewhere, such as in Africa or in North America.
A tiny word of caution
I realise that by writing this article some might try to mimic me directly, or curate my GitHub or other portfolios to see whether I can stick to my own advice.
Do what I say, not what I do.
I'm not always a great model to follow directly, given that my intentions have always been different and that I never intended to work as a full-time web developer given my interests and passions lie elsewhere. I'm an academic first and foremost. That being said, I routinely help people reach those goals, so let's get started.
1) Complete projects and portfolios
You hear this all the time on self-taught guides and other tutorials on how to work in software engineering or to become a developer. Students with a formal CS background are not exempt from this. University teaches computer science and a lot of theoretical skills, with practical elements here and there. It often doesn't teach you how to use the latest frameworks and programming languages, which are nevertheless in high demand.
You will often be grilled on how you've applied your programming knowledge outside of work / studies and this is a great time to show off the work you've done. Uploading your coursework to GitHub isn't enough here either, though it's certainly a start. Whether it's design work, APIs, monolithic web applications, JAMstack websites - whatever - show it off, and be prepared to talk about it.
2) Contributing to open source
A quick word on open source. Open source contributions are frequently seen as brilliant and often favoured even more highly by many recruiters and interviewers as they demonstrate working knowledge of development workflows and current technologies. That and you know how to confidently use Git.
That being said, contribute to (F)OSS if it interests you. Don't feel pressured into contributing to a project it if it honestly just doesn't interest you that much. Or worse yet, for a damn t-shirt. There are often other more valuable things you can be doing with your time, such as working on that side project, or...
3) Technical writing and blogging
It wouldn't be a post on Hashnode if it didn't include something about the importance of technical writing or blogging!
Writing about what you know, whether it be a tutorial, a thought piece on a specific piece of technology, a guide or discussion, or even a unique piece of research is a fantastic way to demonstrate what you know, potentially what you're working on, and where your passions lie. It's also a neat way of building up your own personal network and gives you something to talk about in that important interview.
You could also live stream, podcast, or create a YouTube channel. Whatever medium and format suits your style of expressing yourself.
4) Making use of your university
University is an incredible resource for networking, for getting involved in research, and may even have teaching assistant or demonstrating opportunities for you to take hold of. Research and teaching are especially great to have on a resume, as they both demonstrate a great deal of competence in a certain area, such as in a programming language or field of computing.
It doesn't all need to be computer science or programming related though. Look for opportunities to be involved in sports and clubs that interest you, or volunteering schemes where you can give back to the local community. Volunteering is especially useful at building soft skills employers are looking for, helps paints you as an empathetic and likeable person, and can even open more doors for paid employment. It happens!
One thing to note though, avoid letting your grades slip because of any of your extracurricular. It's something I see quite frequently and would encourage people to find a balance as best as they can.
5) Classes and courses
Taking a class or free course in something different can broaden your horizons and help paint you as someone who is knowledgeable, has a keen desire for learning (which is something developers never stop doing!) and isn't just someone who's interested in programming and nothing more.
Learning how to do 3D modelling, a foreign language, or a social science like psychology are all great examples of how you can further spread out your skill set. You can even do these online for free by undertaking a MOOC (massively open online course) on websites such as Coursera.
Alternatively, this is a great time to work through online curricula such as freeCodeCamp or The Odin Project to further bolster your portfolio. If bootcampers are doing it, then find some free time to work through them too. They're great for sharpening the technical skills that your coursework might overlook.
6) Internships and industrial year placements
University students who are looking to compete for the best jobs should look to carry out internships in the summer. There is no better experience than real-world experience, and subsequently internships are worth their weight in gold. Whilst it's great to get an internship at a major company, don't overlook smaller organisations, as the experience is nevertheless a serious advantage and you can learn an incredible amount no matter where you go.
If your university programme or degree scheme offers the ability to take an industrial year placement or a "year out" to work in an extended internship placement (this is common in the UK) then you should seriously consider this. Almost every student I've spoken to who has taken such a year before their second and final years of study have attested to just how much they have learned within that year, and how it has recharged them to finish their course. Some high flying students who impress their employers can even score graduate jobs.
The only exception to all of the above is unpaid internships. If you want to take one, don't let me stop you, but I strongly believe that they are exploitative and that it's bullsh*t to have someone live out of pocket just for the experience.
(It's also not the same as contributing to FOSS or volunteering, which is something you do generally for a good cause or community.)
7) Casual employment
If you can't secure an internship, please don't turn your nose up at casual work over the summer, or even part-time jobs whilst you study! Whether it's teaching, cleaning, barkeeping, or stacking shelves, work experience is work experience and it helps you to develop soft skills and an all-important reference for later.
Again, don't break your back earning a paycheque when you should be studying. But I empathise that sometimes it's necessary to stay financially afloat. Balance is key and hopefully you can find it.
I hope that you found my advice helpful. It is important to note that this is not the end all and be all of all student advice, and that there are likely to be important points that I missed, so definitely continue to read here on Hashnode and further afield for even more valuable advice!
Of course, if you have your own suggestions, especially about things that worked for you, or if I've made a mistake somewhere, then please let me know in the comments and I'll amend this article accordingly!
I hope you've enjoyed reading and again have found this of some use. If so, please leave a react or tell a friend! Until next time.