When you’re just getting started as a junior developer, it seems like it’s impossible to break into the market.
Everybody wants to hire somebody with experience.
How do you get that experience if nobody will hire a developer with no experience?
In his interview with LoudProgrammer, Rob explains step by step how a junior developer, just out of a coding bootcamp, can land a junior developer role with a reputable company.
He also highlights the main mistakes junior developers make that serve to lock them out of the job.
Hey guys this is Geoffrey from LoudProgrammer and today we are with Rob Percival.
Rob is a software developer with 10+ years experience and an author of the best selling web development course on Udemy, The Complete Web Developer Course.
Today we are going to talk about How To Land Your First Junior Software Developer Job.
This is a question that is often asked by many junior programmers and today we are excited to have Rob shed light on this subject.
Rob please feel free and welcome our podcast, we are glad to have you.
Thanks very much Geoffrey. It’s good to be here and I look forward to talking about getting jobs for software developers.
Sure. I am actually a teacher by training.
I did a Maths Degree at Cambridge University and then went straight into teaching Maths for secondary school students.
I learnt web development on the side and just started building websites and creating businesses.
The first of those that was recently successful was one called Eco Web Hosting which generated enough income for me to leave teaching about 4 years ago now.
Then I did a range of different things
Then in 2014 I started teaching on Udemy.com.
And as you have kindly mentioned, I teach the Complete Web Developer Course and two other courses:
My full time focus now is on teaching coding, primarily for Udemy but also through another couple of sites.
In terms of what inspires me:
I really like the freedom that coding gives…
The power to create any idea that you have.
To just go off and create a website or an app that anyone in the world can then download and use straightaway. I think it’s usually exciting.
I also really enjoy the process of coding and fixing bugs and making something and then sharing that with other people and seeing them sort of learn things for the first time and start to appreciate the freedom that coding can give for themselves.
I started web development when I was 22 – 23.
So early in teaching and this would have been around the early 2000’s.
For me it was simply about wanting to produce something. So I had an idea for a business or a website that I wanted to build and I would just sit down and literally sort of start by Googling the first thing that I needed.
So I began just by buying a little bit of web hosting space and putting up a simple HTML page and then as I wanted to dig in more I would simply Google that part of it.
So I never did any university course or something like that. It was simply a matter of learning as I went. I think the biggest tool that I used was Stackoverflow.com.
They are usually the problems like everyone else’s that I come across at some point and there are usually some great answers on Stackoverflow.
So that was my primary tool for learning.
Well of course as a teacher of online courses I would definitely recommend that that is the way to go.
That’s not simply because that’s what I do. It’s the other way round really. I do that because I think that’s the best way to teach and to learn.
I think it’s still a perfectly valid way of learning doing it the way I did, which is simply to have an idea then try and build things. And then Google and figure things out as you go.
The downside of doing it that way is that you end up making a lot of mistakes because you don’t know the best way to do things.
The advantage of taking one of my courses or taking a more inclusive program is that you get to see the right things in the right order.
So I think the advantage of doing a course is that you will get there a lot quicker.
Through doing one of my courses, for example, you will
So by the time you have spent a few weeks doing that, you have built probably 10 – 12 different websites all which each do a different sort of thing.
At that point you then go and build your own project, which I hope you will do very soon after that. You will be at a very good position to do that because you shall have learnt the fundamentals.
So I think that the quickest, best and cheapest way to do it is to take some kind of online course.
But if you don’t want to do that for whatever reason then just building things and figuring things out by yourself as you go along is still a very valid way of learning to code.
Actually I have never set out to get a job in the field of software development.
All the work that I have done in terms of web development has either been
But I have actually spoken to people in the process of getting freelance work and the primary thing that has been useful for me is networking in my local town or local area.
I have done a lot of work with freelance websites and various other sites and that’s still a good way and I think we will talk more about that a little bit later on.
The thing that worked for me the most was
Then usually quite quickly I find people that I click with and connect with because they have met you in real life, that makes a bond of trust there that is difficult to create if you were searching for jobs online.
So the thing that has worked for me, and that I would recommend to people is:
The feeling of being an impostor is something that stops a lot of people from getting started.
They feel that to be able to call themselves a software developer or a web developer,
But that’s really not true and everyone goes through that stage at the beginning of their career when they don’t know that much, and that’s fine.
What everyone has to do is find the balance for themselves.
They need to have the competence to be able to say, YES I AM A WEB DEVELOPER, while at the same time not claiming that the have skills that they don’t have.
So don’t be applying for experienced software developer roles if you’ve only just began.
At the same time don’t hold back and say: no, I can’t possibly call myself a web developer yet because I am in the early days. So that’s the main problem I think people have.
In terms of answering your question about the core skills that a developer must have before they start as a junior developer or start applying for roles as a junior developer, I think those are essentially the skills that I cover in my complete web developer course.
You got to have a bit of front end experience:
You’ve got to have a bit of back end experience, and I would say PHP is still the BEST language to learn for a back end developer as well as a bit of MySQL for databases.
I also think you need to have a portfolio of maybe a minimum of 2 or 3 different sites that you have built.
They can be
But you need to have something that you can link to to show what you have built.
But once you are reasonably competent in those languages and have a little bit of a portfolio I thinks that’s the time to then start calling yourself a web developer and start applying for jobs if that’s what you want to do.
I’ll approach that in two ways I think.
First I’d say that it’s important to be as clear as you possibly can as to what the job requirements are beforehand and if the actual job listing does not make that clear enough then ask some questions.
Once you get the interview then just ask them to clarify what exactly you will be doing.
Because it’s very difficult in any job application to make sure that you have the skills that are needed if you don’t know what the job is.
Secondly, if you still go into the job and you are not entirely sure what it involves, just be confident about what you know.
So don’t be afraid of saying, I have never done that before.
I have done this and that and if you can give me a problem I can show you how I would solve it.
Again just go in and be confident and be happy with your skills.
Don’t oversell yourself.
I think the disaster comes when say, you don’t have any experience in Unit testing and you say, YES, I have definitely done that before.
Then they ask you some more questions and it turns out that you have never done that at all.
So make sure as far as you can that you are applying for jobs that you are qualified for, that you do have the experience for and make sure you sell yourself but you don’t oversell yourself.
I would say that in the early days, no.
If you got 2 identical candidates, say 22 year old candidates where one of them has just come out of university and one of them hasn’t and they have identical coding experience then I would expect the person with the college degree to be able to command a slightly higher salary.
Simply because they’ve got that higher level of that kind of badge of intelligence almost regardless of what their subject is.
But as time goes on then the college degree becomes less and less relevant.
So if you have been coding for say 5 years then your college degree may still matter a little but if you have been coding for 15 years then no one cares about what college degree you have.
The important thing will be the coding experience that you have.
So, yes, I think if you’ve just done a few months of coding practice but you don’t have a college degree you are liked to be at a disadvantage to those that do.
But don’t worry too much about that because it’s simply a matter of getting more experience and a couple of years of experience of actual software development will overcome the lack of a college degree very quickly.
As long as you put in the work and learn you subject really well you’ll be better off than them because you will have really focused and spent that time learning important coding skills rather than a tangential degree.
I think it very much depends on the person and it depends on what sort of a life you want to lead really.
The freelance approach: I think a lot of people get excited about that because it looks like you can just go on, bid for jobs and then earn money straight away, which is great.
The reality of course, which people would discover very quickly, is that the sort of jobs that you are likely to get in the early days are extremely low paid.
You are going to be working for a few day for 10… 20… 30… bucks if you are lucky.
What I say to people again and again about this is to view that process as a learning experience and not to think about any salary that you get say for the first 6 months or so as the amount you are earning per hour.
Think of it much like a college degree.
You are getting out there, you are getting into the real world and providing, hopefully, good quality code… software… websites for people and that’s a huge amount of not only experience but also actual things that you can put on your portfolio and that would help you get jobs in the future.
So if you view freelancing in that light, I think freelancing becomes the way to go.
Because you can fill up your portfolio so much more quickly rather than applying to jobs which may well come to nothing for quite some time.
So genuinely I’d point people towards freelancing but don’t expect to earn any significant amount of money in the first 6 months or a year at least until you’ve a decent portfolio of work behind you.
Freelancing is a great way of getting that portfolio which can then either lead to a better paid freelance work or that first big software job.
I have got a number of students with very similar experiences and there is no easy solution.
I am sure if there an easy solution then everybody would be doing it.
It is a matter of not only just keeping on, but keep fighting until you get that first gig.
My advice would be don’t offer to work for free. That just sets up a bad relationship between you and the client or employer if you are willing to work for free.
I use freelance websites very often to find people to do little bit of pieces for me and what impresses me is not so much the price. I am not really that interested in the price, I am interested in how they communicate with me.
So when they place their bid, I want to have a conversation with them straight away and get really clear that they completely understand what the problem really is that I am trying to get them to solve and that they can solve the problem.
And if they convince me in that and they charge a decent price I am going to go with them straight away.
My advice to get over that short hurdle is to just be fantastic on the communication side, especially very shortly after you make your bid.
Be available for the next hour or two and reply really quickly with thorough, correct answers to what they are asking.
If you do that, in my experience, you will stand out well above 95% of the rest of the freelancers in there, including the very experienced ones who take a long time to reply, they don’t really read what you are asking them to do and they just become a frustration to work with.
I think it’s a very difficult question to ask.
It depends on what exactly is in your Github.
If you got two identical candidates and one of them has a really busy Github which is well organized and has a lot of interesting looking stuff in there and the other one doesn’t have anything, then I am going to go for the busy one.
So I would say that if in doubt then yes put stuff on Github.
If that means that you have to put stuff on Github that you are not hugely proud of then so be it.
Then in a year’s time when you’ve got a lot more code that you’d rather share with the world then take down some of that early stuff that you are not so proud of.
At the same I don’t think it’s going to transform your job application experience.
If you don’t have the skills that they are after and you have a lot of stuff on Github then it’s not really going to make any difference.
So in short I’d say, YES,
But don’t expect it to transform your working life, simply because you’ve got a lot of stuff on Github.
Yeah, my experience with Hackathons is almost zero!
I have never been to one and I have only read a little about them and spoken to a few people who have been to them.
So I am not really qualified to speak that much on them other than say that I know it’s possible to get jobs in software development WITHOUT them.
On the other hand they do seem to be a lot of fun and some people do meet employers there.
So if you got the opportunity to go one then why not?
It’s an opportunity to share your skills and network and meet other people, especially within your local town.
You are going to make some great contacts there. So, yes, go for it, have a lot of fun and beyond that I am afraid I don’t have a great to talk about.
I wouldn’t say it’s a great way to start your job search but it can be very useful to find out what’s out there.
So at some point during your job search just going out there and seeing what is available can give you a really good idea of say,
to help you know what it is that you should be focusing on.
The downside in my experience of those sort of sites it that it’s very difficult to be seen as an applicant.
The best jobs get a huge number of applicants and it’s difficult to stand out.
So that’s why I say that by far the best way to start looking for jobs is to be networking. To get out there and join whatever it is:
and meet people.
It’s so much easier to stand out if you are literally standing in front of a person
and talking to them rather than simply just firing off CVs to jobs postings that are going to get 100’s or even 1000’s of very similar people applying for them. So I think it has a role but it is not the way to go.
Become sure of your competence in whichever aspect of coding you are working in.
Be it an iOS developer, a front end developer or whatever… Make sure that you got the skills that would be required in the junior developer or app developer role that you are applying for.
That can involve taking courses or just figuring out stuff yourself and somehow acquiring those skills.
Before you get those skills there is no point in doing anything.
Get out there and meet people.
In fact that could even be step 1.
It is those relationships that you make with local people, local businesses that in my experience are far more liked to end up in successful job applications than working online or even doing freelance work.
So meet people…
Start building your online portfolio.
We’ve talked about Github… putting up a portfolio website… I think those two things are really important.
You can of course set up a twitter account, set up your LinkedIn page.
Make it essentially that if someone Googles you they will have a lot of data, a lot of information, a lot of impressive stuff that makes them say: Yes, this is the sort of guy that I want to have in my organization.
Start by apply for things.
You can start doing that through local job searches or using Indeed or through freelance work just to get the experience of sending CVs and letters and probably getting rejections back.
And just improving that process so that you know what people want and giving it to them.
Once you start getting interviews and being able to speak to potential employers and then making sure that you’ve got those skills and putting yourself across.
So you are not selling yourself short.
It’s not that your skills are necessarily going to be that much better than anyone else’s.
It’s that they’ve got on with you.
You’ve covered the basics in terms of your skills and they really enjoyed that conversation with you.
So try and make it fun and be enthusiastic, confident and let the interviewer have a good time.
This depends with the developer and the company itself.
There are those companies that are very good at identifying talent and moving you on to the next step when you are ready.
And indeed if you are in a company that is big enough, you can move sideways: from say web development to app development, or from PHP to Python development or whatever it might be.
So if you are in a company that you really enjoy the people and like the company and there is enough opportunity to try out different things and work at different levels while you are there then I think you can stay there for your whole career if you really wanted to or at least 5+ years.
However, if you are at a small company or at a company that does not recognize your talent or doesn’t have built in system for moving up the ranks and trying out different things then I would say 18 months to 2 years before leaving.
With anything less than that it is very unlikely that you would have got everything that you can out of working at that place.
But also if someone looks at your CV and you’ve got like 12 months here and 12 months there, that doesn’t look great even if you can explain it that you wanted extra things.
So I’d give it a minimum of 18 months and no maximum as long as you are still enjoying yourself and you are still learning new things.
That’s his opinion and he is entitled to that.
If you are miserable at a place and you are really having a bad time then by all means get out of there.
But I think 6 months is not a long time. It’s unlikely that will start a role and then start a new role and exhaust all the opportunities in that new role in 6 months.
It’s possible but I think chances are more that it’s a bad environment either because of the fit of you and the employer or just because it’s not a great company to work for.
If the company you are working at is a reasonably solid one and your boss is someone you can actually work with then I’d be surprised if there was not an 18 months’ worth of value that you could get out of doing that job.
So as long as you are enjoying yourself I think 18 months is a fair minimum but if you are not then it’s best to leave rather than stay in a place where you feel you are not going anywhere.
My biggest advice is that the grass is not always greener.
If someone was looking to go into freelance web development or any kind of development, the key is to try it out before they make the leap.
So don’t just say one day that well I have had enough of this and I am going to go freelance and then quit, walk out and never go back.
The real challenge with freelance work, even though there are many of them, is getting reliable well-paying work from people that you enjoy working with.
And if you have that in your full time role then be appreciative of that, enjoy that and bear in mind that that’s not always the case.
If you are working on a freelance basis then hopeful you’ve got a few clients that are fantastic and they pay on time and they give you clear specifications of what they want you to do and all these sorts of staff.
There are going to have to be some customers that will treat you badly, particularly in the early days when you still don’t have much of a choice on the customers you want.
And all these problems that you will inevitably come up against as a freelancer that you can joyfully forget about as a full time employee.
So I think some people are better off as an employee while some people are better off as freelancers and that would change as you go through your life.
You might be in a position when you are young and you don’t need so much money and you try out freelancing.
Then as you grow older and you get a family perhaps, you probably will need more reliability and that might be the time to go get a full time job.
But for those people who are in full time gigs and want to get into freelancing then I think it’s a really good thing to do.
Maybe you’ll get to the point where you have enough work on the side and you can leave your job and not have to worry about the income side of things.
That’s the one thing to do.
Try it out see if it works for you.
Get out there and meet people and try to get in person jobs.
I would definitely prioritize that over getting onto sites like Freelancer and Upwork simply because, the jobs if you can get them, the ones you are likely to get directly from people are going to be better paid.
You are going to be working with people that you know and have met.
And that’s generally a much greater experience. So I would try that our first.
In terms of what level of income you want to have before you take the leap, I think that depends very much on what your current expenditure is and how much saving you’ve got.
If it was me, I am pretty risky there so I will probably want to have say 6 months of money in the bank so I know I could survive for that long.
So even if I got no work whatsoever if you are fairly risky then that’s a good guide.
Alternatively you could look at it by saying something like… I have been doing this for 3 months now and I have earned like 2,000 every month with my freelance work, so I am pretty confident I am going to earn 2k a month, I only need 2.5k to live so let’s give it a shot.
I think it’s a matter of looking quite carefully at your income and cash in your out goings and saying “how long can I survive if things don’t go well?” of which there will be months when things don’t work out.
Do these jobs and see if you enjoy the process.
Because it’s very different to working in a company – you are now communicating with your client, talking about how much you’d like to be paid for a certain thing and I think that can be a very difficult conversation for people especially at the beginning.
As well as discussing whether what you’ve is exactly what they wanted, whether you are willing to do another feature without being paid for it e.t.c.
There are a lot of aspects to working in freelancing that a lot of people won’t enjoy.
So once you’ve done two or three of these projects, you should have an idea whether that’s a way that you’d like to work.
I am very much available on Twitter @techedrob and that would be the best place to reach out.
You Google my name as well you will find a lot of contact information out there.
The email address I used is firstname.lastname@example.org and anyone who wants to get in touch can email me there.
We’ve come to the end of our podcast guys and thanks Rob for your time and your insightful thoughts on how to land a junior developer job.
We look forward to learning more from you in the future.
You are welcome.
It was a pleasure being with you guys and I look forward to sharing more with you in the future.
I also hope these tips will really help you land your dream jobs and advance in your career.
Found this article useful? Please share.
What are your thoughts on job searching as a junior developer?
Leave your thoughts in the comments below.
Stay tuned for more interviews with influencers at LoudProgrammer
Geoffrey is an experienced software developer and open source evangelist. When not coding he writes and talks about current technology trends, small business tips and developer productivity hacks. He is no coffee addict.
Top 100 Best Technology Blogs For Developers To Follow in 2018
How to Install Sublime Text 3 in Windows
How to Create a PHP Abstract Class
How to Create SVG Images
Interview With Alexey Pelykh – How To Be a Mobile App Developer Without a Degree in Computer Science
How to Become Efficient With a 5 Step Web Development Life Cycle