Interview with Rob Percival - How To Land Your First Junior Developer Job - LoudProgrammer

Interview with Rob Percival – How To Land Your First Junior Developer Job

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?

Rob Percival is an experienced software developer with 10+ years experience, an author and Udemy instructor.

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.

Geoffrey:

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.

Exclusive Bonus: Click here to download my book on How to Become a $50/Hour Software Developer in 7 Simple Steps and jump-start your software career today.

Rob please feel free and welcome our podcast, we are glad to have you.

Rob:

Thanks very much Geoffrey. It’s good to be here and I look forward to talking about getting jobs for software developers.

1. Please tell us a little bit about what you do and what inspires you?

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

  • teaching,
  • making my own websites & apps and
  • building websites for other people

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:

  1. The Complete iOS Developer Course and
  2. The Complete Android Developer Course as well.

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.

2. There are various ways of learning how to code: from the internet, from courses and from college. How did you learn web development and what were your challenges when starting out?

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.

Once you get to the stage where you can do most basic things in HTML, CSS and JavaScript then a bit of PHP and MySQL it becomes handy for solving specific problems.

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.

3. A number of developers learning how to code face the same challenges as the ones you faced. What is your best advice to those who are just beginning to learn how to code?

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.

Graphic design courses on udemy

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

  • do a lot of exercises and
  • build a lot of projects

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.

4. Once a developer has the right skills nailed down, they want to go out there get some job so that they can put their skills to work. What were some of the setbacks you faced when you were starting out and trying to get a job as a junior developer?

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 software development has either been

  • freelance or
  • working building things directly for myself.

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

  1. Getting out into my local community i.e. Cambridge here in the UK,
  2. Meeting people and getting to know what they need and allowing them to get to know me
  3. Then just talking to them about what my skills are and what I am looking for

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:

  • get out there,
  • meet people,
  • talk to them from the perspective of a web developer or an app developer,
  • tell them your skills and see what happens.

5. As a junior developer you are always not sure where you are really set to go. Sometimes you even feel like an impostor when you call yourself a web developer. So what are some of the core skills that a developer must have before setting out in search for a role as a junior developer?

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,

  • they need to be already earning a full time income from that or
  • have built 20 different websites and be able to provide links and
  • know in depth all sorts of different languages.

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.

entrepreneurship courses on udemy

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:

  • HTML,
  • CSS and
  • JavaScript.

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

  • sites that you built professionally for a client or
  • projects, things that you have built on the side for your own entertainment.

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.

7. When applying for a job there is always going to be some skill or two in the job description that you completely have no idea of. How do you feel confident in a job interview when you are not completely sure of all the job requirements and what they really are?

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.

8. With the information era where learning can be completely online, there are a lot of great software developers who do not have college degrees or have degrees in other fields not related to computer science. In the job market should a developer WITHOUT a college degree expect the same pay as a developer WITH a college degree?

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.

9. So what you are saying is that at some point in the future you are going to be at the same level as the other guys?

Exactly!

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.

10. With most junior developers, once they have the feel that they have had a strong grasp of the basics they start thinking of reaching out for job listing boards, seeking employment. As a junior developer what should the focus really be? Should you focus on landing a job or you should begin by freelancing?

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.

11. Most junior developers have a lot of horror stories about freelancing sites like Upwork.com. When they go there to bid for jobs, the seniors and more experienced are also there with them bidding and ready to work for the lowest wages for the same jobs. So they say they can’t get hold of even a single small project, even if they offer to work for FREE. What do you say about that?

Absolutely!

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 communication is the key to getting those early jobs on Upwork.com and Freelancer.com.

12. There is the talk of ‘push it to Github’. While some have reported success with activity on the platform, I have seen a number of successful software developers without any really active Github.com profiles. Does constant contribution to projects on Github.com really put you a mile ahead of your peers in your job search as a junior developer?

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,

  • put as much as you can on Github.
  • Organize it nicely so that it doesn’t look like a messy hard drive full of code.
  • Make it so that someone can find the projects and understand very quickly what you have been working on.

But don’t expect it to transform your working life, simply because you’ve got a lot of stuff on Github.

13. Hack a Thon is all over the internet. It’s usually more of a competition for a prize kind of stuff. What role does participating in a Hackathon play in aiding your search for a job as a junior developer?

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.

14. Most junior developers are always spoilt for choice as to where to begin their job search, and with the internet there is no lack of websites that post job opportunities like Indeed.com. Do you believe frequenting these job listings sites is a great way to start your job search as a junior developer?

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,

  • what language or technology it is that people are asking for in the sector that you want to work in,
  • the most common roles available in front end, back end

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:

  • weekly get-togethers
  • networking clubs
  • hackathons

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.

15. As a software developer with years of experience, what is your silver bullet to getting a job as a junior developer job? What’s your 5 STEP course of action that you believe will enable a junior developer land a role with a reputable company?

STEP 1

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.

STEP 2

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…

STEP 3

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.

STEP 4

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.

STEP 5

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.

Communicating clearly

  • what you can do,
  • why a particular thing excites you about coding or about the job that you will be doing and
  • why you are the person that they should choose.

16. The idea of using technical interviews while sourcing for talent has drawn mixed reactions from the developer community. A great number of companies though are hell bent on using it as part of their interview process. What are your 3 best tips for approaching technical interviews?

  1. Be confident. Go in there and be aware of what your skills really have. Make it clear to the interviewer that you understand those skills. And that you can get those ideas clearly across.
  2. Don’t oversell yourself. Don’t claim to have any skills that you have skills that you don’t have. That’s going to be a disaster either within the interview itself or further down the line in the job when you are expected to be able to do those things. So never lie in an interview and claim that you can do what you know you can’t.
  3. Communicate clearly, but also enthusiastically. The person on the other end is probably conducting a lot of it and as long as you have the basics skills, what’s going to make you stand out is that they enjoyed that conversation with you.

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.

19. A developer should always seek to grow and learn new skills by changing environment and technologies. What do you recommend is the average amount of time a developer should work with one company before considering looking for a new opportunity in different company?

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.

20. A guy in a famous YouTube channel that I used to frequent recommends at most 6 months before you start pondering your next move. What do you think about that?

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.

21. Being a freelance developer gives you some freedom in terms of when and where you can work. Much to the extent that some developers with full time gigs admire and consider giving freelancing a shot. What is your best advice to developers who are having a full time job but are considering getting into freelancing?

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.

  • They might treat you badly
  • They do not have a clear idea of what they want you to do for them
  • They expect you to do and provide far more than you had agreed and then
  • They take a long time to pay

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.

  • Go out there and meet people,
  • Talk about being a web developer and what you are looking to do and
  • Get a few projects in the side and see how they go.

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.

22. What is your 3 STEP guide to consider before you go from a full time job to full time freelance work?

STEP 1

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.

STEP 2

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.

STEP 3

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.

23. Where can guys find you and get in touch with you?

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 rob@robpercival.co.uk and anyone who wants to get in touch can email me there.

Geoffrey:

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.

Rob:

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

Exclusive Bonus: Click here to download my book on How to Become a $50/Hour Software Developer in 7 Simple Steps and jump-start your software career today.

The following two tabs change content below.
Geoffrey is a lead software developer, author and writer. He writes code from scratch and frequents GitHub. He also writes and talks about technology trends, small business tips and software developer productivity hacks. He is no coffee addict.

Leave a Reply

1 Comment on "Interview with Rob Percival – How To Land Your First Junior Developer Job"

Notify of
avatar
Sort by:   newest | oldest | most voted
azartash
Guest

Hello ,Thank you for this great opportunity, it is appreciated

wpDiscuz