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

Soldato
Joined
1 Nov 2007
Posts
5,583
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.
 
Commissario
Joined
23 Nov 2004
Posts
41,851
Location
Herts
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.
 
Soldato
Joined
18 Oct 2002
Posts
15,177
Location
The land of milk & beans
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.
 
Associate
Joined
10 Nov 2013
Posts
1,804
If it was me I would also think twice about hiring someone with no commercial experience to work remotely full-time.
 
Permabanned
Joined
9 Aug 2009
Posts
12,236
Location
UK
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.
 
Caporegime
Joined
18 Oct 2002
Posts
29,490
Location
Back in East London
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.
 
Commissario
Joined
23 Nov 2004
Posts
41,851
Location
Herts
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.
 
Associate
Joined
4 Jan 2010
Posts
603
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.
 
Associate
Joined
28 Apr 2018
Posts
2
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.
 
Soldato
OP
Joined
1 Nov 2007
Posts
5,583
Location
England
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.
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
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.
 
Soldato
OP
Joined
1 Nov 2007
Posts
5,583
Location
England
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.
 
Caporegime
Joined
29 Jan 2008
Posts
58,899
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.
 
Soldato
OP
Joined
1 Nov 2007
Posts
5,583
Location
England
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