This article has 8 points, that we will address each, and you need to understand them if you are to succeed.
- Have a killer CV
- Take a stock pile of ammo
- Get yourself on LinkedIn
- Be prepared for your interview
- Don't lie to me!
- Stupid Questions!
- Practical tests
Get yourself a killer CV!
Too many CVs have landed on my desk and then quickly slid into the bin because I feared that the sheer size of them would break my desk. I've seen CVs that are 10 pages long, seriously! NOBODY!! is going to look at all that stuff.
I really don't give a damn if you had a paper round at 12, and that have your bronze swimming certificate or you were voted the most likely to become an astronaut by your careers adviser. If it’s not relevant, then leave it out!
Keep your CV short, and to the point.
Do include: the languages you know and can write, spoken and programming, the software you can use, do not include the languages you've followed one YouTube video on, or that software which you used once or twice back in college.
In this episode we are talking about getting your FIRST developer job, so you aren't going to have any commercial experience, but what experience do you have?
In episode 13, I talked about a few things you should do before getting to this stage, so if you follow along you should have projects in GitHub, or another platform, maybe contributions to some open source projects? You might have some free or paid for freelance work that you did, stick that on there for now, it shows you are productive and able.
You're a developer, or you will be, nobody expects you to be a graphic designer, so use a template to build your CV, if the layout if poor and it’s hard to follow or read, it'll end up in the bin.
Put your mobile number, email address, LinkedIn url, twitter account, and GitHub account on your CV, some recruiters remove these details, when send your CV out, but if the company is interested in you, they may ask the recruiter for them, and because you included them on the original they have them to hand to provide to the company without hassling you.
Make sure your email address and social media handles are safe for work and professional, email@example.com is not going to get you the job.
I worked with a guy many years ago, who was struggling to get work, and he asked me look at his CV as he knew I had helped other people with theirs. I thought it was odd that nobody at all had responded to his applications for a job, he was applying direct and not through an agency I should add. Anyway, he emails me his CV and I open it up to look through, straight away I see why, his email was PooFacedBumLicker@... I won’t include the rest in case he still uses that email address. What was this guy thinking!? the rest of his CV was fine, I got him to setup a new email address and voila! He started getting interviews.
I'm not one for taking myself too seriously, but there is a time and a place for humour...
Get yourself on LinkedIn
You aren’t on LinkedIn, why not? This is THE place to be to get good exposure; I have had several job offers from companies via LinkedIn and not just recruiters touting for my business.
You don’t need to pay out the huge sums for the gold account; the free account is more than enough. Make sure you have a photo on there too, if you're trying to hide online the big question is "why, what did you do wrong?"
A linked in profile picture get more views, this is a simple fact! the more people look at the your profile the better. Okay, so you don’t look like a Hollywood movie star, who cares! We need to see you! Some people will use a caricature, but make sure it looks like you, there is no point putting up a photo of some huge guy with more muscle than brains and then you turn up to the interview a little skinny guy who weighs 30lbs when soaking wet!
If you are pushing out a blog, or an update to your OSS project put out a note on LinkedIn about it, show some activity, on your profile. Ensure you fill in as much of your profile as you can, the more complete your profile the more likely it is to show up for people.
Get some recommendations from people you worked with on your projects, those OSS ones or the freelance stuff. Everyone loves a good 5 star review!
Linked in is also an online CV, so employers can cross check the CV they have on your desk to the person they see online. This is slightly less relevant at this point, but LinkedIn shows people you have worked for or with and employers could contact them to find out if you're good or just smoke and mirrors.
The internet is going to be one of your main communication tools make sure people can find you on there, this is no time for your Xbox GamerTags!
Taking a stock pile
When attending an interview, always print off a copy of your CV to take with you, I would advise taking three copies, or more. Simply because they could start asking you about your CV and if the recruiter has butchered your beautiful document then it can be hard to know what points the interviewer is referring to, so you can dish out fresh copies of your CV.
As well as taking along your CV, its good practice to take your certifications with you, I have had interviewers ask to see them during an interview, but I have also had plenty where they don’t ask.
It’s always better to have it and not need it, than to need it and not have it.
Don't lie to me!
Whatever you do, do not lie in an interview! This might seem obvious but I have had people sit in front of me and tell me that they had professional qualifications such as Microsoft’s MCPD and MCTS, Cisco CCNA and I knew they didn't. One guy even admitted after a bit of a grilling on his MCPD that he didn't in fact have the certificate, but he went to a seminar about it, thought he could do it and so just decided that he would say he had it.
If you are asked a question and you don't know the answer, simply say you don't know. A good interviewer will explain the answer to you, so you know for next time.
There are few things worse when interviewing someone than to have them sit there and try and blag their way through it. Again if you're unsure say so, if you have an idea of what the answer is say you think it is to do with that, but you are confident in your answer.
As someone going in new, for a junior role you aren't expected to know everything, and to be honest you won’t ever know everything.
When companies are interviewing for a junior developer they are often looking for a blank slate that they can mould into the perfect developer for their job, so not knowing can be an asset, as you aren't us who have been doing it for years and have hard baked ideas about how things should be done and we won't do it any other way! Being fresh faced with that scared rabbit in the headlights look on your mug could just work in your favour.
Stupid damn questions
This is one of favourite parts when interviewing people, throwing in what appear to be stupid questions:
- Why are manhole covers round?
- If I spoke to your friends/enemies/colleagues how would they describe you?
And my personal favourite:
- If you could have ONE super power, what would it be, and why?
These questions are often asked to see how you deal with the unexpected and can come after a particularly difficult technical question, others are asked to see if you can remove yourself from the situation and be critical and honest about yourself. Again they aren’t setup to make you look an idiot, although be careful what you answer to the super power one, nobody needs to know you’re a deranged pervert, at least not until you start the new job.
More common question and some would say, sane questions that could be asked:
- Tell me about yourself.
I would start with talking about how and why you wanted to get into programming and development. Tell them what drives you, what makes you tick, what you want from a job.
- What interests you about this opening?
This one is pretty obvious! To get paid, keep a roof over your head and food on the table, but this isn’t what they really want to hear. If you did your homework you should be able to answer this pretty easily, based on what you know.
You think their industry is interesting, and you’ve been told the team is very experienced and you are hoping to learn from them and develop yourself, at the same time you would hope to bring something fresh to the table, some new life and sparkle. Maybe not that dramatic, but you get the idea.
- What experience do you have using X, Y and technologies?
Again be truthful tell them what you know, tell the about the little project you built with it. Don’t try to be overly technical if you aren’t comfortable, and if you have no experience tell them that, but explain you can learn.
- Tell me about your strengths and weaknesses.
I have ALWAYS hated these questions, and I remember being put in detention in school for giving stupid answers to these on forms, so don’t answer my strength is the ability to eat 42 slices of pizza in an all you can eat buffet and pizza hut, but keep me away from kryptonite it’s my ultimate weakness. Also don’t be too self-annihilating, at the same time, don’t be too full of yourself.
As an example, if I get asked this question my answer is along the lines of “My strengths are I pick things up quickly, new technologies as an example, I am also a team player and want to see us succeed together, my biggest weakness is not knowing when to give up on an idea, more so if I think it’s better than the other ideas in the room, but I am working on that”
Self-reflection, it shows you can be critical of yourself and you are aware of what you can and can’t do.
- Tell me about a time when…
These will be situations relevant to previous jobs you may have listed that aren’t tech related but are on your CV to show that you haven’t say and done nothing since leaving school, For instance:
- Tell me about when you had to take initiative
- You had to deal with a difficult customer
- You dealt with a major problem
- You were criticised by a boss/team leader
As I’ve said before answer where you can, don’t make stuff up.
- What salary range are you looking for?
Your recruiter or the job advert should tell you the answer to this. If you aren’t sure where to market yourself have a look at roles online, get a feel for what similar jobs are offering, even ring a recruiter and ask what the going salary is for someone in your position, although this could end in a lengthy conversation and then wanting to represent you, so I have warned you.
You may be accessed to do one or more practical tasks, these can vary wildly depending on how mean your interviewers are things to expect:
- Asked to look at some code, html or other mark-up, printed on a page and find the errors
- Give some code and be asked to tell them what the output would be.
- Given a laptop with a project open, and it won’t build, you need to make it build and run
Other tests such as explaining, algorithms, design patterns and getting you to design a solution to problem on a whiteboard or piece of paper aren’t often seen at this level and normally come with interviews for more senior roles, but don’t be too shocked if they happen, and just do what you can. It’s often just see where you level is, are you a level 1 junior or a level 6000 junior.
Being prepared for your interview
Going to an interview is NOT an order, try not to worry, the people you are about to see are not there to make you look stupid. They simply want to know if you are a good fit for their team and if you can do what is being asked of you for the position. I still get nervous when I go to interviews, I get nervous when I interview people for this podcast, so I understand how hard it is to stay calm, and you do get better at dealing with it over time with the more interviews you do. So get some practice, if you have the time, go for interviews that you don’t really want it
If you don't get the job really try hard to get feedback, if you're recruitment agent isn't helping contacting the the person at the company who interviewed you can sometimes be a good port of call, although only do this as a last ditch measure. Learn from the feedback, and remember just because you didn't get the job doesn't mean you're a hopeless cause and you won't ever get a job as a developer, it could be many things:
- They didn't really know what they wanted
- They’re expecting too much of someone at your experience level
- They already interviewed someone who was PERFECT for the role, or they had someone already in mind from within the business
- The wind was blowing in the wrong direction on the day
There are lots of reasons, we all go to interviews and don't get the job, it’s just in the nature of the beast.
Do your homework!
Look up the company, read about them on their website, on industry blogs, find out what they do and understand it. The first question you are often asked is "Tell me what you know about this company?"
If you flounder and fluff, you obviously didn't bother to spend the time to learn about them, so why should they spend time trying to learn about you?
It's always good to arm yourself with some questions for the interviewer, write them down if you need to, as after/during a grueling interview it can be hard to remember your questions. I'm not talking about "how many holidays do you get, do they have an Xbox for you to play on" I mean questions about the role and the tech:
- What is there development cycle?
- Do they offer any CPD (continual professional development)
- What purpose do they see the role fulfilling?
- How big is the team?
- What principles does the team follow? Agile, Scrum, Kanban, Waterfall
- Do they do BDD, DDD or TDD?
The interview is as much about you finding out if the job is for you as it is for finding our if you're fit for the job.
But be careful, don't ask a question that you aren't prepared for the answer on, if you don't understand the difference between BDD, TDD and DDD you shouldn't ask those questions as you open yourself up them asking you your understanding of each. And if you don't know check out the backlog, we have spoken about TDD in Episode 10, and BDD will be talked about in Episode 26.
Big yourself up a little, a very experience developer friend of mine recently told me that before he goes into an interview he sits in his car and lists out in a notepad the things he has achieved, the tech he can use, why he is an asset to a team, and goes over it a few times, bigging himself up, so when he walks through the door of that company he knows he can do the job, and he knows he will be successful!
You can do that, write down what you have done, how much you have learnt, look back to when you started learning to write software it may have been only a few months ago and now look at you, sat there waiting for someone to pay you for doing it that is a huge achievement in itself.
Hopefully you have learnt something from this article, be sure to subscribe to the podcast for more information like this and also more information on technology.