Become More Employable
All the advice that I’ve been given you so far has been about the recruitment process: what it is, how it works, and what you can do at each step of the way as your application is processed. None of this advice is any use to you if you’re unemployable.
If you want to work in the computing industry, then it is down to you to make yourself employable. You have to put the time and effort into learning the skills that industry wants; and industry wants you to have a lot of skills from the moment you walk in the door.
Do You Have What It Takes?
Thanks to the rise of the web-based apps and mobile apps, employers today need to create and ship (or host) sophisticated software in order to be competitive. Employers are doing this using smaller teams, and delivering software to much shorter timescales. In this modern industry, you need to be multi-skilled to get things done. Without sufficient breadth of knowledge, you’re not not going to ship software at all, and without sufficient depth of knowledge, you’re going to ship software that isn’t good enough to be profitable for long enough.
Many of these skills aren’t optional any more. They’re fundamental. An employer can coach you in them, but many don’t have the skills (nor the time) to teach them to you from scratch. There’s a minimum baseline of skills that you need for your first job.
Do you have them?
Are You Putting In The Hours?
If the only computing that you do is your course work, then you aren’t doing anywhere near enough.
Let’s assume that you’re studying for three years, and that you’re at university of 30 weeks every year. If you studied for 40 hours a week, you would graduate with 3,600 hours of studying behind you. That’s about the most time you could have spent studying computing on your course. You probably don’t do a 40 hour week at university on average. You almost certainly don’t have 40 hours of programming on your timetable every week. On top of that, some weeks are set aside for exams and exam study; we need to take those off the final total too.
By the time you graduate, if you’re not doing any computing other than your course work, you may have clocked up only a few hundred hours of programming time in total. You’ll have done it in lots of small blocks, which will have limited how much you learned per-hour. That’s nowhere near sufficient to prepare you for your first job.
Once you get into industry, you’ll spend 100-150 hours each month doing programming. Within six months, you will have easily doubled the amount of programming experience that you have. Within two years, you’ll look back at programming problems that you struggled with on your course, and wonder why you found them so hard.
Research tells us that the number of hours spent on mindful practice directly affects how good you become at something. To become very good at something, it’s believed that you need around 10,000 hours of mindful practice. No matter how good your lecturers are at university, you’ll only make a meaningful dent in this target if you’re doing additional work outside of your course work.
Are you putting in the hours?
A Time Of Great Opportunity
You’ve grown up in a time of unprecedented access to computers, information, and the opportunity to exploit that.
Computers and software are part of mainstream life. Everyone wants a website. Everyone’s carrying a supercomputer for a phone around in their pocket. Everyone can get online. If you’re looking for projects to do, you can do freelance website development whilst you’re studying. You don’t have to try and run a business; you can offer to build websites and web-based applications for people in return for them writing you a recommendation to go on your website. There’s no shortage of people out there who would love to have a little website, but who can’t afford to pay someone to make one. If you don’t have all the skills, maybe two of three of you could collaborate together. If you don’t want to do websites, start making mobile apps.
Open-source software is everywhere. The web runs on servers that run Linux, an open-source operating system kernel. The most popular software stacks for web servers are completely open-source. There are hundreds of thousands of open-source projects out there. You can contribute to someone else’s project, or you can start your own.
Are you taking these opportunities?
Learning From Your Peers
Not everything is happening over the Internet. More and more people are organising technology-focused meetups, hackathons and conferences to bring like-minded people together. These are great places to expand your awareness of what’s out there, to dive deeper into how things are done, and to learn from people who have already solved problems you’re just starting to come across.
Some of your fellow students at university are going to these events. Some of them are involved in organising them. Some of them are speaking at these events, even though they’re at the start of their careers. You don’t have to be an industry veteran with decades of experience and war stories to participate. All you need is something to share with your peers.
It can be hard to get to events regularly, especially if you are living and studying some distance away from where events are happening. That shouldn’t stop you from making a special effort to get to one or two events, if you can.
If an employer gets an application from two people who have studied at the same university, and he sees that only one of the applicants has been speaking at events, which applicant do you think he’s going to choose?
Are you broadening your knowledge by attending events?
Ours is a rapidly-changing industry, with new trends, solutions and opportunities arising all the time. Your transferable skills will never go out of date, but the languages you program in, and the tools in your toolbox need to be at the cutting edge if you’re going to keep up.
One of the things that surprises people when they join the computing industry is how little formal training is provided by employers. There are a few reasons for this.
- My generation of engineers is mostly self-taught, and taking responsibility for our own lifelong learning is an ingrained habit for us.
- We see what we do as a vocation, not a job; we go home at the end of the day and carry on programming.
- We find most formal training courses to be highly simplistic, teaching skills that will fade before you find them useful.
As a consequence, we’re always reading as much as we can fit in, and sharing articles and stories that we enjoy via social network sites such as Twitter. When you come to interview, we don’t expect you to have used everything that we use in our products and services, but we’ll be disappointed if you’ve never heard of most of what we use.
If you’re not sure where you should start, I maintain a recommended reading list on GitHub.
Are you doing enough reading to keep up to date?
Maturing As A Person
Many employers prefer to hire graduates not because of what they’ve learned at university, but because several years at university gives people the time to figure out who they are, what they want, and how to be a bit more mature. Most of this happens through the passage of time and osmosis. There’s something you can do to help.
Studying a martial art whilst at university can help greatly with your all-round development. Many martial arts are as much mental as physical, and they can instil a sense of calmness, quiet confidence and resilience that will help you cope better with everyday life - and with the stress of getting a job.
There will be martial art clubs at your university, and you’ll probably find that there are other clubs in the local community too. Go check them out. It might be one of the most important things you ever do.Tweet