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, firstname.lastname@example.org 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 do
What is being productive?
Is it writing lots of code, is it getting through all the tickets in the tracker, is it releasing on time?
The answer is, it's all those things and more, because being productive means different things to different people. You may feel you had a great day if you got in 8 solid hours of coding, or maybe you completed a particularly tough task and helped a colleague.
What we are going to talk about covers a some of the things I see that will help with being productive the three main points are:
- Deep Work
- Your Attitude
Being productive is something that is hard to measure, it really does depend on how you see the world, or what your goals are. There are lots of tool and techniques out there and I will try and outline a few I like to use.
Also known as Depp Focus or Flow, it is the ability to focus without distraction on the task or tasks at hand. It’s a skill that will allow you to comprehend the complex information about the task and produce better results in less time. Deep focus will help improve what you do, and can be applied to other things not just software writing. Flow is a little like having a super power, but it’s a super power you must flex, train and control, and it takes time. To get into a state of deep work can be hard but this is how I like to do it.
I have two routes which work well for me, the first is The Pomodoro Method and we covered that in Episode 17 – Get Promoted, I’m not going to cover it in detail here, so if you haven’t listened to that episode, make a note of it and be sure to go and have a listen. In short, I stick on my headphones, put on some music, which we’ll talk about more later, I set the timer and away I go. I often miss out some of the breaks because my flow is just pouring, but I can only maintain that for at most 2 hours, any longer and everything starts to slow down, I take a break BOOM! Back into the flow after that. I normally use this method when I am working in a noisy environment, such as the office.
The other method I use to get myself into a state of deep focus, when I am working from home is lock myself away
in the home office, shut the door, sometimes I will stick the heads phones on and dive in, and just keep going
until what I am working on is done. This is a little less controlled that using the Pomodoro technique as
sometimes I can sit there for a full 8 hours and not move, and I crank the code out, other times I get
distracted by phones, email, Slack, Skype, Facebook, Twitter… the list goes on.
Using the Pomodoro often means I have better time management and I know I will finish my day job on time, and but when I don’t use it and the flow is left to just carry on then I often work through my lunch break, and way past my normal finishing day without noticing. This is both good and bad, I did this last week and ended up putting in 4 hours more time into the working day than I intended to, yes, I got the task finished, and yes I enjoyed, but I didn’t get paid anymore for it, what I was doing wasn’t urgent and it could have waited until the next day for completion. Will I get any extra praise for finishing the task the day before? Probably not, so, why do it? It’s something you need to decide on the answer for yourselves, I cannot say if it’s a good thing for you.
A great book I recently read on deep work is Deep Work: Rules for Focused Success in a Distracted World – by Cal Newport and I suggest you go check it out on Audible, if you don’t have an audible account, if you go to CynicalDeveloper.com/Audible you can sign up and get the book for free!
So I mentioned music, how can music make you productive?
Well different types of music work in different ways, depending on my mood effects what music I want to listen to while working. I often listen to calm and relaxing music like Zen music when working, just to block out the background noise. Carl Franklin of DotNetRocks and 2KetoDudes has produced a set of tracks you can buy from his website Music to Code by Carl Franklin which has been scientifically crafted into 25minute instrumentals, which tie in nicely to the Pomodoro technique.
Other days I want some rocks, rap or metal to bounce around in my chair to while I mash out some code, I normally
listen to these tracks when what I need to work on isn’t that complex so I don’t need to space in my head to
think as much so I can sing a long and look like an idiot, thankfully I normally do this in the home office, but
from time to time I will do it at work.
There are a lot of music streaming services, but I use Amazon Music, mainly because it came with my Amazon Prime account, but I now subscribe to the full music package, it has a good selection on there and works for me, you can get a free trail for it at CynicalDeveloper.com/AmazonMusic if you’re interested...
Reducing Distractions is a must for being productive at work, how often are you pulled away from what you’re working on because you heard someone in the office talking about something you have an opinion on or something you enjoy talking about? Are you often distracted by just general noise in the off? If your office allows it then noise cancelling headphones are a MUST for you, and get some of that zen music in your ears.
I talked about the noise of people being a distraction, but people in general are also distracting, have you or do you work with someone you really can’t deal with, they talk crap all the time and just knowing they woke up fit and healthy this morning puts a downer on your day? I have worked with people like that and they can be a distraction, ignoring them can help, or try stepping to one side, and thinking “What is all this hate doing apart from affecting me and my job?” The answer is nothing so stop fretting, if they are truly as awful at their job and as a person they will eventually come unstuck, so be the better person and concentrate on your goals, you’ll be happier for it too.
Hunger is a MASSIVE distraction, and it’s hard to combat. I personally eat through boredom, or just for something to do instead of working. I now eat what is known as a KETO way of eating, I am not going to go through it all here, but the basis is that is a low carb, under 20g a day, enough protein to maintain muscle mass and as much fat as I need to meet my calorie requirements. When eating this way, I have found I get less hungry less often, but for all you carb burners out there making sure you had a filling breakfast is a great start, and don’t overdo it with the carbs at lunch otherwise when you hit 14:00 you’re going to smash into that wall and be done for the day.
Drinking plenty of fluids
During the day make sure you drink enough, Anything coffee, water or tea, it's a must but try and stay away from fizzy stuff, for fear of the sugar roller coaster they set you on.
I briefly mentioned attitude with regards to other people, but your work ethic has a HUGE effect on your abilities to be productive. If you come into work every day with the "can’t be bothered" attitude, then you aren’t going to get anything done. I get laughed at lot for what I am about to say but this puts it all into perspective, at least for me, and it’s about personas. Why would you want to be Eeyore, sad, depressed, unmotivated and just a pathetic person to be around? You want to be Tigger, you want to be that over enthusiastic, in your face, get stuff done person in your team! For those who don’t know who Tigger and Eeyore are then go GoogleBing Winnie the Pooh and have your life turned upside down!
No matter if its positive or negative has a knock-on effect with those around you, you being a stubborn and depressed person is going to make those around you not want to work with you and make them feel the same when they must!
So be Tigger, not Eeyore!
I hope this has given you something to think about, and maybe it will improve your next day in work, let me know if it has helped, let me know if you didn’t agree, come chat with me on Twitter, or in the comments for the show on the website.
Make sure you subscribe to the podcast and leave me a review, until next time thanks for reading the Cynical Developer blog,and we'll catch you next time.n'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.
Please leave a comment, positive, negative or just something weird.