What is the average salary for Junior / Mid Level Programmer?

Soldato
Joined
1 Nov 2007
Posts
6,236
Location
England
I was just wondering what the average salary is for a junior / mid-level programmer is?

I am experienced in Python, C and JavaScript and can get by in Java. I am also very comfortable doing system administration on Linux servers and workstations. I've been doing all of this as a self-taught hobby for about 7 or 8 years now and feel that my knowledge is pretty strong.

The only things I am laking are the tools needed to work in a team as I have always worked by myself, but I'm pretty sure I could pick those up in a couple of days or a week.

What should I be expecting salary wise for a full-time job? I live in Sussex now.
 
What real-world, commercial experience do you have though? If you've never had a job in this area then you would go in as a junior, in London this could range from £25k to £40k depending on the type of company etc.
 
With no real world experience you'll be starting at the bottom. You may well progress quickly, but few sane managers will hire someone who's completely unproven at the average salary rate for the position.

Use payscale.com to get an idea.
That site is a joke. According to that I'm £12k overpaid. At the end it lists 'people like you' and gave me a 'Lead Web Developer' with 5 years experience who's on £18k.

Seems like it's been broken by garbage input.
 
What should I be expecting salary wise for a full-time job? I live in Sussex now.
20-25k for your first role
if you're good, you should be up to 30-35k in about 3 years, but you might have to change company to get it.
after about 5 years you can attempt to snag some of the 45k+ more senior jobs.
 
With no real world experience you'll be starting at the bottom. You may well progress quickly, but few sane managers will hire someone who's completely unproven at the average salary rate for the position.

That site is a joke. According to that I'm £12k overpaid. At the end it lists 'people like you' and gave me a 'Lead Web Developer' with 5 years experience who's on £18k.

Seems like it's been broken by garbage input.
Agreed with @Spunkey, payscale suggests I was overpaid by around £8k in my previous role (permanent, I'm not contracting) which is a joke!
I'm assuming you both filled out the "roles" as best you could? The title means very little compared to those.

I think it's always going to read "under" because, well, the only people really using that site are going to be people that are already feeling undervalued. Anywho it gives an idea is all.
 
I'm assuming you both filled out the "roles" as best you could? The title means very little compared to those.

I think it's always going to read "under" because, well, the only people really using that site are going to be people that are already feeling undervalued. Anywho it gives an idea is all.

The first few pages and then I got a little bored with giving it my life history and only answered the required questions.
 
How do you rate yourself - have you ever taken any technical tests before? A number of programming jobs require knowledge of programming frameworks and tools, which you may not even have heard of.

I would be surprised if you even get past the interview stage without any understanding of real life commercial problems and project management methodology over someone who has, even for a junior role.
 
Collaboration skills are important, especially for remote working: I know I would not want a lone wolf in my team that is also a remote worker.

If you haven't already, worthwhile getting skilled up on some simple things such as agile & scrum along with Git. Get involved in some open source projects on Git that you can contribute towards: git may not be popular everywhere, but it's something to show on your applications for collaboration.

That all said, don't use my employer as a baseline, they pay as little as possible and therefore attrition rates are awful.
 
Collaboration skills are important, especially for remote working: I know I would not want a lone wolf in my team that is also a remote worker.

If you haven't already, worthwhile getting skilled up on some simple things such as agile & scrum along with Git. Get involved in some open source projects on Git that you can contribute towards: git may not be popular everywhere, but it's something to show on your applications for collaboration.

That all said, don't use my employer as a baseline, they pay as little as possible and therefore attrition rates are awful.

Thanks for the response. I'm working on an open source blog platform at the moment in Python using the Django framework and some JavaScript. Once I've got the blog done, I'd like to add some e-commerce features. I made it open source mainly so that I can put it on my CV but I've been programming for about eight years but never really did anything all that serious, so this is my attempt to show people what I can do.

Most of the last year or two I've been concentrating on Linux system administration and automation rather than programming directly. I'd like to find a project where I can combine the two skill sets so if you have a suggestion I'm all ears.

I'm trying to get up to speed with Docker and Kubernetes at the moment when I'm not programming.
 
Thanks for the response. I'm working on an open source blog platform at the moment in Python using the Django framework and some JavaScript. Once I've got the blog done, I'd like to add some e-commerce features. I made it open source mainly so that I can put it on my CV but I've been programming for about eight years but never really did anything all that serious, so this is my attempt to show people what I can do.

Well that is cool, and it is no doubt useful for hiring managers to see some of your work. It will still likely be junior developer positions you'll be applying for if you have no experience aside from small single person projects in your spare time.

Your competition will be say grads who've been doing this stuff for say the past 3-4 years albeit with full time internships/summer placements gaining commercial experience and working on projects at uni with teams of people. (Obviously not all graduates are motivated individuals but the ones who are will be your competition for junior dev roles, the others will be the sort who don't land a grad job, turn up in support not knowing anything and are the people that some on here without degrees refer to when claiming that university isn't worthwhile).

I'd agree with Maccy re: pay. If you want to find specific data points for a particular company then glassdoor.co.uk might be useful, but again keep in mind that it is only a small sample of people and people may or may not have included bonuses etc..etc..

waffly bit (tl;dr)
----------------------------------------------------------------------------------------------------
Things to keep in mind - if you're really motivated/keen then you might well have learned a lot during your time spent doing the hobby projects at home, you might well be really good in terms of your ability to solve problems etc... When you start working in a team you may well find there are other team members who earn 2 - 3 times more than you. You may also find that you're actually better than them (you're keen and have been doing this for fun in your spare time and so it is entirely possible). Your manager can't (usually) make your salary double in a yearly pay rise, all they can do is give you really good reviews and push to get you as big a raise as possible.

A note on some of the experienced devs - part of their pay might well reflect time served, it probably also reflects the fact there is a messy (sometimes really bad) code base and they know a lot about their particular area. When it comes to fixing an urgent production issue they probably have a bit of an edge. You may need to get used to looking at other people's code and first figuring out WTF they were actually thinking, before even trying to find a bug - this is the sort of thing you don't get to experience in hobby projects at home but it could be a large feature of your work. Don't get too upset if in two years time you're on say 40-50-something and you find out that the guy who perhaps knows a lot about the system you work on but writes horrible code is on more like 100k.

Do keep in mind that if you're good you can work at lots of places, on the other hand the guy who's value is mostly derived from having knowledge essentially only to that one employer isn't in that position. He's the sort of person that will complain that he's been programming for 10 years and it is ridiculous that an interviewer asked him to implement fizz buzz or solve an algorithms question on a white board... cos he just googles stuff/searches stack overflow for the answers and that's all developers do right?
----------------------------------------------------------------------------------------------------


Sorry if that was too waffly but basically there are plenty of bad programmers out there who are paid well for reasons other than their core programming skills, but being a good programmer can still mean you're going to be starting at a junior level. You still need experience working with other people's code, working on big, big projects etc... there are plenty of issues you can get in big applications with many users that you won't have any experience of on a hobby project.

I'm not a dev tbw... I was previously BA now into research etc.. (I can program but I don't write production code) I've worked with devs for quite a few years and have certainly seen keen junior devs who are much better suited to and much more productive when working on new projects than (some) senior devs whose main value is knowledge of a specific system rather than ability and are best off being kept in a role maintaining that (legacy) system.
 
Well that is cool, and it is no doubt useful for hiring managers to see some of your work. It will still likely be junior developer positions you'll be applying for if you have no experience aside from small single person projects in your spare time.

Your competition will be say grads who've been doing this stuff for say the past 3-4 years albeit with full time internships/summer placements gaining commercial experience and working on projects at uni with teams of people. (Obviously not all graduates are motivated individuals but the ones who are will be your competition for junior dev roles, the others will be the sort who don't land a grad job, turn up in support not knowing anything and are the people that some on here without degrees refer to when claiming that university isn't worthwhile).

I'd agree with Maccy re: pay. If you want to find specific data points for a particular company then glassdoor.co.uk might be useful, but again keep in mind that it is only a small sample of people and people may or may not have included bonuses etc..etc..

waffly bit (tl;dr)
----------------------------------------------------------------------------------------------------
Things to keep in mind - if you're really motivated/keen then you might well have learned a lot during your time spent doing the hobby projects at home, you might well be really good in terms of your ability to solve problems etc... When you start working in a team you may well find there are other team members who earn 2 - 3 times more than you. You may also find that you're actually better than them (you're keen and have been doing this for fun in your spare time and so it is entirely possible). Your manager can't (usually) make your salary double in a yearly pay rise, all they can do is give you really good reviews and push to get you as big a raise as possible.

A note on some of the experienced devs - part of their pay might well reflect time served, it probably also reflects the fact there is a messy (sometimes really bad) code base and they know a lot about their particular area. When it comes to fixing an urgent production issue they probably have a bit of an edge. You may need to get used to looking at other people's code and first figuring out WTF they were actually thinking, before even trying to find a bug - this is the sort of thing you don't get to experience in hobby projects at home but it could be a large feature of your work. Don't get too upset if in two years time you're on say 40-50-something and you find out that the guy who perhaps knows a lot about the system you work on but writes horrible code is on more like 100k.

Do keep in mind that if you're good you can work at lots of places, on the other hand the guy who's value is mostly derived from having knowledge essentially only to that one employer isn't in that position. He's the sort of person that will complain that he's been programming for 10 years and it is ridiculous that an interviewer asked him to implement fizz buzz or solve an algorithms question on a white board... cos he just googles stuff/searches stack overflow for the answers and that's all developers do right?
----------------------------------------------------------------------------------------------------


Sorry if that was too waffly but basically there are plenty of bad programmers out there who are paid well for reasons other than their core programming skills, but being a good programmer can still mean you're going to be starting at a junior level. You still need experience working with other people's code, working on big, big projects etc... there are plenty of issues you can get in big applications with many users that you won't have any experience of on a hobby project.

I'm not a dev tbw... I was previously BA now into research etc.. (I can program but I don't write production code) I've worked with devs for quite a few years and have certainly seen keen junior devs who are much better suited to and much more productive when working on new projects than (some) senior devs whose main value is knowledge of a specific system rather than ability and are best off being kept in a role maintaining that (legacy) system.

Thanks for the response. I realise it is a competitive market and I might be better off working on a project idea I have myself which I don't think anyone else has done before. Even if it doesn't work out at least it'll increase my programming knowledge.

My big problem is that I am disabled so find it very hard to leave the house which is why I have to limit myself to remote only work. The one good thing on my side is that because I don't have a degree everything I know has been self-taught which means if someone asks me to do something I don't know how to do I can always learn it myself rather than relying on someone else to teach me. I think that is an important skill personally.

Anyway once I am out of hospital I'll work hard on making sure I concentrate on things that will look good on a CV.
 
The one good thing on my side is that because I don't have a degree everything I know has been self-taught which means if someone asks me to do something I don't know how to do I can always learn it myself rather than relying on someone else to teach me. I think that is an important skill personally.

I think not having a degree will be a disadvantage. I wouldn't assume that graduates have been spoon fed either, you largely teach yourself too at university - you "read" for a degree. Might well be worth you pursuing an degree remotely/in the evenings if you have the time. Lots of university coursework is about figuring stuff out, solving problems yourself etc.. also doing stuff without libraries etc.. in order to build up an understanding of it first. For example in a university course you'll perhaps have to first learn to build a neural net from scratch, build a class for each type of layer etc.. whereas in the work place, in a side project you'll just make use of an existing library.

Are you able to leave the house at all to commute for say a short period? There are lots of people out there who work at home as developers but usually they've not started out working from home (unless they founded a company that way).

You'd have much better odds if you were able to commute to work somewhere, prove yourself at that place and then arrange to mostly work from home after you have some experience there (with the occasional commute in to attend a meeting etc..). Once you're an experience developer then it might well be easier to find remote work. At the moment you're an unknown quantity, no degree, no experience and you want to work from home - that is going to require someone taking a big chance.

Things like kaggle competitions might help (if you want something data science related - though again without a degree you might need to put in a fair bit of work on getting your maths up to scratch if you want to understand what you're doing there rather than treating libraries as black boxes)

Some companies use this for interviews:

https://www.hackerrank.com

might be worth testing yourself there - currently you have no basis for comparison.

Udacity.com might be worth looking at too - particularly their nanodegrees and the recruitment service, maybe they can put you in touch with employers willing to recruit people to work remotely. If you've already built up lots of experience then getting through a nanodegree with them probably wouldn't take long and they're billed monthly rather than as a fixed cost.
 
Thanks again for the long reply. I'll certainly work on getting my programming into a better shape but I want to do that via open source projects so I have the proof of my work.

Since I'm also a C programmer I considered looking into working on something like FreeBSD with their userland since I've always been a bit of a fan of BSD operating systems.
 
Back
Top Bottom