Subscribe now and choose from over 30 free gifts worth up to £49 - Plus get £25 to spend in our shop
If you don't like coding, get some business knowledge and become a BA.
People that know how systems work and can translate that to people who don't are incredibly valuable. IMO, it's more interesting work too.
FWIW, on salary:
I'm a senior engineer (one step away from principle). £120k salaries for a principle engineer are not unheard of, but I don't think we have any working in the UK office.
I’ve seen countless examples of code that is almost impossible to understand, or would take so long to decipher it would be easier to write something new from scratch.
Amazes me how often I come back to stuff I've written and have no idea what it does / how it does it. So I rewrite it with more commentry and then 5 years later will probably come back to it and still go WTF was I thinking!
Even whole applications / documents, people ask me 'do you remember writing document X' to which I reply 'no', then I get emailed a whole document with my name on it and completely forgotton about.....
Sounds like a lot of STW folk are highly skilled but work at cr*p legacy / zombie co’s in the middle of nowhere.
Just transfer your skills into Ml or pick a fast growing SaaS co to work at. You will get paid more and not have to work for a bunch of non technical middle managers. I get embedded systems is a bit of a niche that personally I wouldn’t want anything to do with but there are a lot of highly funded startups that need this right now and are happy to do remote.
Bike / Tech / UK / likely 6 figures or
close without even thinking below. They have a cr@p ton of jobs for anyone that knows anything to do with bikes at any level globally...
https://boards.greenhouse.io/peloton/jobs/2212041
Amazes me how often I come back to stuff I’ve written and have no idea what it does / how it does it.
Guilty.
My code comments were often as much an insight into my state of mind at the time as they were useful annotations. One of the truest comments I ever wrote was "don't bugger about with this, you'll break it." I've revisited that chunk of code several times over the years and have proved that comment correct every time.
I’ve seen countless examples of code that is almost impossible to understand, or would take so long to decipher it would be easier to write something new from scratch.
I hate it when people try to argue the latter. If you don't understand it, you can't rewrite it.
@mrmonkfinger
Or, you could try metrics on yourself to see what your average error rates are both with and without the full doc/test set. Also eye opening.
Oh I'm massively FOR testing, at every level. And a hierarchy of strong testable formal requirements. That's all good. Even RCM lists can be very useful if kept brief and realistic.
Documentation wise though... meh...
Ever had to write a SOUP document explaining why Visual Studio is a valid choice of IDE? Or worse, write SOUP tests to prove that it can indeed compile code correctly? I have. That kind of stuff is just mindless process insanity, purely performed to add weight to the documentation.
Likewise I've had clients that want detailed design docs that go to literal code level - which means they are either instantly out-of-date as soon as the code changes or every code change means multiple documents need to be updated/reviewed/approved/released. 🤦♂️
Likewise I’ve had clients that want detailed design docs that go to literal code level – which means they are either instantly out-of-date as soon as the code changes or every code change means multiple documents need to be updated/reviewed/approved/released.
There must be Apps which generate that sort of thing eg we have code which can walk an SMMP MIB and generate a user frienly PDF document from it. So each time you change a MIB, it's just one command to update all the documentation.
The most worthless thing is when your non-tech boss/manager asks you to include a a code dump in the technical specification. And yes - they still ask me to do it regularly.
Sorry wrong impression I must have given. More that there is a good route without the constant stepping backwards.
Teaching probably wasn't a good example either then. Plenty of teachers who will complain that the job is a constant battle of ongoing change to the latest fad - either to satisfy local or national leadership.
Law seems like it might be more settled but in fact, if your become highly experienced in lets lay IP law then decide you'd rather ride a boom in commercial property law you'll be going back to being a novice again, and if you then decide you want to switch to doing criminal defence work - you'll be back to the beginning again.
I get what you’re saying regarding fixed quotes but of the people I know who have work self employed (properly as well defiantly outside IR35) they have all said they refuse fixed price work. The risk is too massive with stretching specs, unknowns etc.
Absolutely, that's why if someone is willing to do it they get plenty of work. Its also why you need decent processes to record and document what the client asked for, what you built, how it meets the spec etc; and to work out how you underestimated something and learn for next time. This is the difference between being self-employed / working for yourself and following someone else's orders. It comes with risk. It comes with a load of other hassle (accounting, bureaucracy, chasing for new business) but people want the upside with none of the downside. Of course it also comes with a degree of freedom and potentially happiness (and financial reward if you get it right). The biggest problem the guys who do it really well seem to face is they can't scale without hiring staff; and as soon as you hire staff you are managing process not the stuff you enjoy.
Ever had to write a SOUP document explaining why Visual Studio is a valid choice of IDE? Or worse, write SOUP tests to prove that it can indeed compile code correctly? I have. That kind of stuff is just mindless process insanity, purely performed to add weight to the documentation.
Do you work for me?
Everyone hates SOUP reviews, but done properly they actually safe a fortune and or huge risk (what if there is a bug in VS that means it doesn't compile your code how your intended), only when you've experienced the product going to market with some undisclosed soup in it - then discovering there is some massive problem do you appreciate the value in reviewing what goes in and how it gets used. It becomes mindless when its just churning it out for no reason - but thats as much your fault as theirs.
what if there is a bug in VS that means it doesn’t compile your code how your intended
Then it would be caught by testing, definitely not by SOUP or SOUP tests.
Also it would likely be a problem for the five million other devs using Visual Studio.
It becomes mindless when its just churning it out for no reason – but thats as much your fault as theirs.
I can happily advise them that it is a pointless exercise, but ultimately if the client wants it, and they are happy to pay for my time doing it, then I will have to do it.
Or worse, write SOUP tests to prove that it can indeed compile code correctly?
Yes. C'est la vie.
It's difficult, and likely prohibitively so, to show assembler level coverage/test with compiled code, and doing the compiler test gets you back up to doing sensible source level coverage/test. I don't think in that context that testing the compiler is a bad thing.
he management stuff can indeed be bullshit, but fortunately there does seem to be a growing awareness that not all programmers want to become managers, and I’m starting to see a parallel career path that recognises experience and ability in a technical role.
Yes, for sure. At my old job once you hit Senior Engineer the promotion was Principal Engineer and you had to get personal references from multiple business units for your work, which basically meant that teams tended to accumulate senior engineers, every year about five people would make PE across the entire group, and some engineers would disappear off onto the management track. I sat at SE for about eight years before leaving having no interesting in management, repeatedly having the same conversation with my line manager. There was also a feeling that PEs rarely actually write code but instead mostly sit in meetings and "architect" stuff.
At my new job the titles are different so I'm a Principal Engineer now (woop woop) although for all intents and purposes the job/expectations are identical, but my line manager is a Senior Principal Engineer and still spends over three quarters of his time doing proper engineering. We've project managers to handle the project management stuff so the actual people management he does is minimal.
Suffice to say, the engineers at newjob are in a much happier place.
There must be Apps which generate that sort of thing eg we have code which can walk an SMMP MIB and generate a user frienly PDF document from it. So each time you change a MIB, it’s just one command to update all the documentation.
There are plenty of platforms that aim to let you 'code' visually or in simple language so that you don't need tons of complex traditional code.
And then there are the jobs that can't be done in Scratch 😉
Yes GrahamS we know by now that your job is very specific and not really typical...
Nah, I'm just old. To me programming is writing a device driver in C and assembler, not plugging together virtual Lego 😀
But yeah, even my job is changing: I work mostly in C# or C++ these days and don't often get near the low-level metal.
There are plenty of platforms that aim to let you ‘code’ visually or in simple language so that you don’t need tons of complex traditional code.
That's rubbish, though. The complexity is often (usually?) driven by the client, who starts getting you to add edge cases to your code... and soon enough, however "visual" or "simple" your tools are, you end up with spaghetti. I'm working with Appian, which is supposed to be one of those simple, visual tools. Our project's only been running for a couple of years. And there are already a couple of bits of it we're all scared to touch.
If you're not enjoying it, it's possible you just don't get on with your line management. It happens.
It's great fun when it's fun and pays pretty decently. But it can get a bit stressful at times.
Unit tests make it much more pleasant. Also, if you're using any version control system that predates git, then your life will be harder than it needs to be.
The complexity is often (usually?) driven by the client, who starts getting you to add edge cases to your code
That's a different kind of complexity.
That’s a different kind of complexity.
No it isn't. The edge cases get added to the code, which means you add another "if". And then maybe another one. And a couple of months down the line you've got a great big blob of code which no one really understands.
The edge cases get added to the code
I may well be misunderstanding the meaning here and apologies if so, but testing for edge cases was Programming 101 when I was being taught this stuff at college?
The edge cases get added to the code, which means you add another “if”. And then maybe another one. And a couple of months down the line you’ve got a great big blob of code which no one really understands.
Only if you are really crap at designing code!
Amazes me how often I come back to stuff I’ve written and have no idea what it does / how it does it. So I rewrite it with more commentry and then 5 years later will probably come back to it and still go WTF was I thinking!
There's the old adage: "Always write and comment your code as if the next programmer to look at it is a 500kg bad tempered gorilla who knows where you live" 😉
Then there's Dennis Ritchie's: "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?"
The app should be designed well enough so that each individual code artefact is trivially simple. You shouldn't need to read code comments, you should need to look at diagrams of how it all goes together and where messages or calls flow.
Oh, on testing. At my last place (finished three years ago when the office shut down) we had Git triggers to check your code against the various guidelines and do basic testing. That was just onto your development branch. Once it had been reviewed and merged onto the main dev branch there was a whole other raft of tests done automatically for the various build targets. Only when it passed those was it merged onto the release branch.
There were also external tests that couldn't be automated that we took turns to do - each cycle of these was about a week's work.
Only if you are really crap at designing code!
Not really. The fact there are thousands of books, pages and tools dedicated to refactoring and technical debt suggests that it's pretty inevitable when a system reaches a certain size. And I'm finding Agile practices make it worse - you might be get quick results, but that's at the expense of forward planning. On my project we're having to push the product owner to include user stories to clean up code - fortunately she's fairly receptive to the idea and respects our opinion, but obviously this kind of activity provides no immediate business value.
@whitestone that's known as Continuous Integration and Continuous Delivery aka CI/CD. A big buzzword currently.
@molgrips - we were doing it nine years ago! There were so many buzzwords, terms and abbreviations I lost track 😰 Didn't help that the industry (consumer TV decoders) had just as many.
Hah, nine years ago I had just come out of a long and backward project onto another long backward one. These days I am bleeding edge!
Its worth noting that job roles don't always translate. At my place for individual contributors we have engineer (straight out of uni lands one), senior engineer (no people responsibility), staff engineer (equivalent to a director leading a team of 10-20) then principle director (equivalent to a vp leading a team of maybe 100). It goes higher (fellow and distinguished) too, but we don't have any of those in the UK. Jobs at principle and above are few and far between, but probably pay base of whats been mentioned plus extras. You need to be absolute top of the game to get there
Then it would be caught by testing, definitely not by SOUP or SOUP tests.
But that’s the point of the soup assessment - to identify the risks, what you’ll need to test to catch the defects Etc - you are very confident that your tests will spot all errors. I’d say if your approach to soup never throws up issues you need to tackle or questions you genuinely want to verify it handles correctly you are probably doing it back to front (our Devs often decide on the soup then try to make the documentation justify the decision rather than document the assessment as a tool to deciding to use the soup). With things like tools rather than libraries it can seem a bit pointless - but when some Dev goes rogue with their own tools and then hits a problem (hopefully before you release to the public) you soon see the justification.
Also it would likely be a problem for the five million other devs using Visual Studio.
and that can form part of your assessment (and indeed reviewing the known issues should be) but someone has to be first to find the bug too - and if you are doing niche things it’s more likely to be you than the other 4.9 million users who are churning out the latest web nonsense (especially since a lot of those 4.9 million users won’t have robust tests for most of what they do).
I can happily advise them that it is a pointless exercise, but ultimately if the client wants it, and they are happy to pay for my time doing it, then I will have to do it.
They don’t want it they need it because the regulations require it (I don’t know if anyone doing SOUP assessments in unregulated industries). But you can do a meaningful assessment or just churn out some guff to add weight to the technical file and hope the auditor gets bored or baffled.
Absolutely, that’s why if someone is willing to do it they get plenty of work. Its also why you need decent processes to record and document what the client asked for, what you built, how it meets the spec etc; and to work out how you underestimated something and learn for next time. This is the difference between being self-employed / working for yourself and following someone else’s orders. It comes with risk
Yeah risk but but there is managing risk to a acceptable level, software is way to unknown for there to be fixed price for small one man band jobs IMO. As I said everyone I know who is self employed doing this doesn't do fixed price. Mates who are plumbers don't do fixed price for most work, only complete refits (more known than fixing issues) or similar. MY garage doesn't do fixed price. My Solicitor doesn't do fixed price its a price unless its very standard work, its billed per letter sent etc (I know that's per letter not per day / per hour but its a very small task billing). Plenty of business supply labour without it being fixed cost. The risk comes from short term contracts and no guaranteed work.
he management stuff can indeed be bullshit, but fortunately there does seem to be a growing awareness that not all programmers want to become managers, and I’m starting to see a parallel career path that recognises experience and ability in a technical role.
This is nothing new. Back in the early 80's I realised that I'd two choices as a Programmer (CICS Cobol, Easytrieve+ and of course we had to write the JCL 🙂 ), management or go contracting as a Programmer. So I chose not to be a Programmer and got a job as an IT Auditor - kept me in work for 30 years BTW.
I'll also second the posts about commentary in code - no matter how much you comment, someone will come along later and change something and NOT. Excel workbooks are no different, nothing worse than inheriting someone else's multiple sheet linked workbook...
Oh, the usual whinges about documentation.
Documentation isn’t there to list out every instruction given to the computer. As you rightly say, the code does that.
Documentation is there to record the ‘what’ and the ‘why’. ‘What’ did you use to meet the requirement, and ‘why’ did you use it? It’s there to record how the piece of code you’ve written meets the requirements that you’ve been given. In plain English how does that particularly noodly bit of code in that component solve a problem, route data, provide control flow? “Because the dev said so” isn’t good enough.
It’s also there because reading a document in the future to find out [b]where[/b] to fix something that Joe Bloggs wrote 15 years ago and then left the company is a damn sight quicker than reading the code. Which you might not even have.
Salaries are best in IT at either the big consultancies, or the big vendors. We pay 40k plus for grads, up to 250k at VP level. A SaaS architect such as myself, with 20 years experience is somewhere in the middle of that.
Some projects are boring, some a stretch, so ok. Advantage to consultancy is every project is a different client and a different industry, so you get a huge variety. Just this year, I’ve done aerospace, automotive, manufacturing and retail client projects.
Excel workbooks are no different, nothing worse than inheriting someone else’s multiple sheet linked workbook…
That's why I pretty much do everything in VBA and don't use Excel formulas; they're just impossible to unravel once you have a couple of layers of depth. Plus you can't really add comments (well you could add cell comments I suppose).
Yeah risk but but there is managing risk to a acceptable level, software is way to unknown for there to be fixed price for small one man band jobs IMO.
So what you want is to carry zero risk, get paid very handsomely for it, and not to have to follow any of the company's processes that (at least make them believe they are) reducing risk to themselves? Sounds like you are looking for a job in management consultancy!
As I said everyone I know who is self employed doing this doesn’t do fixed price.
So how many of them are really working for themselves and how many are just easy come easy go labour who still have to follow the company process, use the company tools etc?
Mates who are plumbers don’t do fixed price for most work, only complete refits (more known than fixing issues) or similar. MY garage doesn’t do fixed price. My Solicitor doesn’t do fixed price its a price unless its very standard work, its billed per letter sent etc (I know that’s per letter not per day / per hour but its a very small task billing).
So in fact your plumber mates do do fixed price work for complete jobs rather than fixing an immediate problem? And ask for a price for replacing the engine (or even gearbox) on your car and you will get a fixed price - or something very close to that. And your solicitor does have a fixed price (most conveyancing, wills type work is not priced by the hour), but even on big jobs like selling a business many solicitors will work on fixed or capped fees (doesn't mean no surprises ever come along and they need to go back to the client and explain its out of scope - and just like software you have the same argument about whether it really is new or should have been obvious).
Plenty of business supply labour without it being fixed cost. The risk comes from short term contracts and no guaranteed work.
if they really are genuinely short term - an hour here, an hour there then fair enough, but I've never known software work that was an hour here an hour there unless it was fixing/tweaking something you wrote yourself. But all I was doing was pointing out there was self employed s/w work out there if you want it, but its not without its downsides. You could get work tomorrow if you are willing to carry more of the risk with fixed price quotes, but of course you could get work on a day rate too if you are willing to do a bit more sales effort. It seems you don't want any downsides. Its not IR35 that's got rid of self-employed s/w work - those people were never really self employed, the turned up to the same place, to do the same job, using the same processes, procedures and tools as an employee would.
So what you want is to carry zero risk, get paid very handsomely for it, and not to have to follow any of the company’s processes that (at least make them believe they are) reducing risk to themselves? Sounds like you are looking for a job in management consultancy!
Lol! No just equivalent to other industries.
So how many of them are really working for themselves and how many are just easy come easy go labour who still have to follow the company process, use the company tools etc?
All of them. All on own equipment etc.
So in fact your plumber mates do do fixed price work for complete jobs rather than fixing an immediate problem? And ask for a price for replacing the engine (or even gearbox) on your car and you will get a fixed price – or something very close to that. And your solicitor does have a fixed price (most conveyancing, wills type work is not priced by the hour), but even on big jobs like selling a business many solicitors will work on fixed or capped fees (doesn’t mean no surprises ever come along and they need to go back to the client and explain its out of scope – and just like software you have the same argument about whether it really is new or should have been obvious).
The majority of the work is effectively PAYG for anything non standard. There is no standards software job. Again see garages. The solicitors are going standard work at a fixed fee. Employ a lawyer on a complicated job and it will be PAYG. Ask for a complicated fix for a car a a garage and it will be PAYG. Get a restoration job done on a car or bit of one off machinery and it will be PAYG. All of these things are too opened to give fixed prices on. Hence supply of labour. Same for 90% of software work. The risk is there in having no guaranteed work, short term contracts. If you are only working on one company at a time you actual have a higher risk profile than if you're working for multiple as the loss of that contract is 100% of your income vs 100%/n where n > 0 and is your number of concurrent contracts. The size of the job is relevant but many of the above jobs above are not short term, hence why they are not taken on fixed price because they are so open ended and unknown.
You could get work tomorrow if you are willing to carry more of the risk with fixed price quotes, but of course you could get work on a day rate too if you are willing to do a bit more sales effort.
How do you suggest I go about the sales effort? I did a load of cold emailing and cold calling random companies last year but to no effect. Its too unfocused. Agencies where not really any help as they only had IR35 style contracts.
Genuine question I'm not being arsy.
How do you suggest I go about the sales effort? I did a load of cold emailing and cold calling random companies last year but to no effect. Its too unfocused. Agencies where not really any help as they only had IR35 style contracts.
Genuine question I’m not being arsy.
Ah, therein lies the million dollar question - if sales was as easy as pinging out a few emails or phone calls at random then going self employed would be easy. Covid probably makes things slightly more complex because its easier to build a relationship with someone face to face. To use your plumber, garage and solicitor analogies - how do they get business? Probably a lot of it is from personal recommendation (or by being high profile in the local area). To get off the ground they probably did some special deals, mates rate stuff etc to build a customer base.
If I got served notice today, I might well do some "self employed development". Here would be my gut feel first steps:
1. Build a simple website, register a company, get a basic brand together - people want to feel like they are buying from somewhere professional. Consider if there's anyone else you can / want to include; not necessarily as a sharholder/director/employee but perhaps a strategic partner - say a designer you've worked well with in the past, a test house you want to use - anything to make you look a bit more credible.
2. Identify what makes you unique/special. You'll gather that I'd be pushing fixed price work for that (you wouldn't need to do it for everything - it might be the door opener). If you've got some specific "domain knowledge" then that would be worth pushing.
3. You really need some referrals/case studies or examples of successful outcomes you can publicly show. If your work is proper techy being sold to proper techies that might be github stuff - but often the person "buying" is not a s/w person so you need to communicate in their language (crudely: marketing - pretty pictures; CEO: business transformation; FD: ROI). If you can't show this from existing work - you might need to do some special rates work for friends, startups, etc.
4. You can spam people and cold call them as much as you want but you'll be lucky to make any progress I get at least one such message every day (many on stupidly low priced offshore tat) and I don't even read most of them. So your initial sales will come down to who you know - people you've worked with or for in the past; friends of friends; people you network with locally at business meetings/breakfasts etc. Personally I'd be straight down to the local "town" business group knowing that many of the local businesses are trying to adapt to WFH, e-commerce etc.
5. Agencies won't be interested, they want to place people on easy contracts that just keep brining in cash - but don't do what you did to the agency where you stipulated upfront your rules of engagement. You want the client to want you to do the work - then get into how you operate - don't list your demands up front.
But this is the hard part - and frankly the sort of personalities SW dev usually attracts are not great at all this people stuff and place no value in it.
Not wanting to derail this thread too much, but regarding the comments above about SOUP/documentation/etc: this is not my first rodeo either. Been doing this job for 25 odd years. I know the difference between useful documentation that actually adds value and pointless documentation that is purely to tick a box.
when some Dev goes rogue with their own tools and then hits a problem (hopefully before you release to the public) you soon see the justification.
SOUP wont prevent a rogue dev ignoring the tools and processes. But unless that dev has the power to change what is on the CI/CD build servers then it makes little odds to the rest of the team.
if you are doing niche things it’s more likely to be you than the other 4.9 million users who are churning out the latest web nonsense
Generally we don't use niche things when writing safety-critical code. In fact the more safety-critical it is, the more basic the language features used. e.g. in extreme of embedded safety-critical there is typically no dynamic memory allocation allowed at all: no heap, only stack.
Take your point though, and for something like an embedded compiler where the number of worldwide users are small and we might be compiling for a new chipset, then yeah, that is pretty niche. The risk is higher so we would perform various sanity checks.
But testing and recording that Visual Studio can correctly compile a for-loop or that Word can edit documents is just pointless fluff. (real world examples that clients have asked me to do!)
Graham - my point wasn't that you can't make a SOUP exercise pointless (or even indeed that many of them are) but rather that it could actually avoid problems, and wasn't fundamentally a bad thing. SOUP doesn't completely eliminate the rogue dev issue, but by souping everything rather than just the bits you think might be risky it avoids some of the "i didn't think the compiler would matter". Your point about CI/CD is fair enough (assuming that all your testing is performed on CI/CD built stuff) - then I think we would only validate the compiler used in CI rather than the local version. That said just saving all the "well it works on my local build" would be worth a fortune. We don't let the client dictate the BS - we have our own in-house BS and are certified at being competent in BS, so they just accept that our level of BS is sufficient. That probably annoys devs even more because then its "our BS QA crap" rather than the customer asking for it.
Validating Word is a special case! However we have been known to turn things on their head, when someone brings us some data they've munged in Excel with some god awful formulas in it - and says "can you just make a tool that does this - we've already done the hard part" I have asked them for the validation plan, soup assessment and test cases. Only once has anyone even come back with anything.
We don’t let the client dictate the BS – we have our own in-house BS and are certified at being competent in BS, so they just accept that our level of BS is sufficient.
<s****>
haha, the old "copy the spreadsheet, we've done the hard part" is one of my favourites "no, no you haven't" 🙂
We don’t let the client dictate the BS – we have our own in-house BS and are certified at being competent in BS
😀
Yeah depends on the particular client/contract. Some of our work (like the stuff I've been doing for the past four years), we effectively work as if we are part of the client's staff, on their systems and processes.
Other contracts we operate more like a dev studio and do it completely in-house with our own processes and BS (which is greatly paired down).
<s****>
Yep, I just read BS as bullshit!
Yep, I just read BS as bullshit!
That was 100% how it was intended!
Thanks for your opinion Poly. As you say that's the hard bit. I think this is where the plumber or solicitor comparison falls down when it comes to starting a small business. Its much harder to do a few mates rates jobs like doing a few bathroom or similar and unless you know people high up in decent business that are not already business you have already worked for and as there is not really standard stuff (like conveyancing) its hard to put out offers for some cheap initial work with a notice in the newsagent window. Its the non standard nature of software, it a tougher business to get started.
I think its game over for me I've reinvented myself three times in different areas of programming. It all just ends up trudging along on a never ending treadmill (probably partially the companies I've worked for and partially my disengagement that occurs when I get pissed off). It just feels shit throwing away 15-20 years experience (arguably more). If I had ended up in slightly different jobs I'd have different experience and could be on good money as at least some compensation. I think people underestimate the amount of luck involved with where your experience ends up being and how that effects your earning potential.
Not wanting to derail this thread too much
Its good to divert that's how conversations go. Better than my moaning and gradual break down.
Better than my moaning and gradual break down.
It's good to vent. It does sound like you need a break or a new direction.
Anyone care to tell me where the market is at with dev salaries? I'm currently in a long-running argument with my bosses/leadership about software dev salaries. We're an engineering consultancy going through a 'digital transformation' programme (christ I hate that phrase), and one of the major elements of that is the recruitment of developers. Trouble is they want to pay senior devs 40-45k, mid level devs 30-35k and grads/juniors 25-30k, which in my opinion is a lot short of what the market is demanding. Am I right or wrong?
What kind of dev? (That seems a fair bit on the low side to me. Perhaps not at the lower end of the spectrum, but their senior salaries are definitely well under market).
Am I right or wrong?
Depend a LOT on region, technology stack, other benefits, demand etc
As I mentioned earlier, my particular career choices (permie not contract, four day week, remote work, not working in London or big city, not chasing salary) mean I'm not particularly well paid: £39k as a Senior Soft Eng with 25 years exp.
And where are you based? (sorry, that was a question for dazH)
I’m Manchester based but it’s a uk-wide initiative. Mostly Javascript (react/angular/vue) web dev, data engineering, and ops/cloud infrastructure.
I think location is a bit less of a thing now. I've been remote for ages, and I've been talking to a fair number of recruiters/companies recently. Only one got sniffy about "London salaries".
I’m Manchester based but it’s a uk-wide initiative. Mostly Javascript (react/angular/vue) web dev, data engineering, and ops/cloud infrastructure.
Yeah, I'd say your salaries are a fair bit under the mark.
Thanks GrahamS.
@dazh Yeah. Even where I live (east Dorset) the salary for a senior developer ranges from 45k to 80k depending on technology. I'm right as the bottom end but without the 4 day week of Graham.
I will also say that the job market doesn't seem bad at the moment for developers so hoping to grab a "bargain" because of the pandemic is unlikely.
Yeah for that popular spa stuff the market is really strong. No chance of a senior at £40k especially in Manchester.
I wouldn't expect to attract much talent with those salaries. at 40k for our fresh-out-of-uni-grads (south east, not london, but grads are more likely to travel anywhere), we certainly don't get the absolute pick of the bunch - I think a lot of them are motivated by trying to get into one of the big names (amazon google etc) rather than pure salary anyway
We've been recruiting for SaaS recently and the market is very tight (mainly as people aren't moving in CV-19 and there is a huge boom in eCommerce platforms). The result of which is salaries are high for anyone with eCommerce platform experience. Demand exceeds supply, so good time to get a decent pay rise.
I think a lot of them are motivated by trying to get into one of the big names (amazon google etc) rather than pure salary anyway
One of chaps had a Google T-shirt saying 'I went for a job at Google and all I got was this T-shirt'.
I think footflaps has hit on something. What the job actually is has a big effect on how much you enjoy it, it's not just money.
Solving a cool problem and doing something exciting and new is better than slogging away on some boring telco behemoth. It's also much better for your career. Something for the OP to bear in mind perhaps.
Location is becoming less important for large companies hiring a lot of devs which then has a knock on impact on smaller companies in cities/towns outside London who used to rely on attracting folk on lower salaries with the benefit of lower cost of living.
I work for a large company as an architect, not a dev, but the hiring process was open to remote workers if we were struggling to find someone with the right skills close to an office (most large UK cities), however now location is not really a consideration as long as the person is legally allowed to work in the UK and has a stable broadband connection. I had a new boss start 7 months ago and no-one in the team has met him in person yet.
@dazh - In your location, with those skills, you're competing against companies willing to pay 2-3 times that for a senior dev.
Just to add, that as @footflaps has said, money isn't everything and I would much rather have a great work/life balance and enjoy the work I do rather than have a job I hate and be a slave to a higher wage. If you're going to work for a lower than industry average salary there should be a good reason.
Does anyone have any advice on what languages/stack would be best to learn for a good all-round kind of knowledge? I'm a test analyst/QA engineer at the moment and I'm pretty interested into getting into either automation or regular dev work. I've been learning python slowly but surely over the last few months but is there anything else I should be focusing on as well?
What do you want to do? Front end web? Embedded? "Data science", mobile? If you really don't know Python + C# or Java will will give you a wide background.
Trouble is they want to pay senior devs 40-45k, mid level devs 30-35k and grads/juniors 25-30k, which in my opinion is a lot short of what the market is demanding. Am I right or wrong?
What kind of responsibility does that senior dev have? Are we talking company wide strategic decisions type senior, or 'someone who's been around for 10 years', or something in between?
It sounds proper lowball, either way.
I'm a Senior dev (tech lead; 20+ years exeprience) - If I was switching from my current role; I'd be looking for 90k or more. I'm based in Leeds; 40-45k is frankly ridiculous for a genuine senior dev.
Well one thing I've learnt from this thread is I am more seriously underpaid than I had previously realised 😳
Depends on your skill list I guess. Safety critical is undervalued a bit compared to fashionable stuff. Generally companies do have good packages though. However you do sound slightly under industry average for your experience.
PS we're hiring and do a 4-1/2 day week...
Well one thing I’ve learnt from this thread is I am more seriously underpaid than I had previously realised 😳
Me too!
I look around for similar jobs, they are similar salaries though.
For people who are recruiting, what are you look for? Any job ads?
In your location, with those skills, you’re competing against companies willing to pay 2-3 times that for a senior dev.
3x would probably be on the high side, imo. There's a *few* places who'd go that high for a principal / architect / whatever - but I think 2x is nearer the mark for senior level.
Well one thing I’ve learnt from this thread is I am more seriously underpaid than I had previously realised 😳
If it's any consolation I'm at a not too dissimilar level to you; I work with industrial automation control systems for a small manufacturer, and when I last changed jobs a few years ago I noticed there was a definite split between higher paid jobs that I wasn't interested in and lower paid jobs that I was! For me the software development is almost a means to an end, that of getting to play with huge bits of equipment. I previously did similar things in the defence industry, and pay rates were similar there. While switching jobs there were much better paid roles in other fields like web technologies, finance and whatnot but it doesn't interest me at all.
Our tools aren't particular up to date, our methods are probably positively ancient and I had never even heard of SOUP testing until now but I love the variety, there's always the frisson of excitement of the risk of crashing a robot through a wall and it's a cheap part of the country to live so I'm happy with it.
I've done done industrial automation too and ironically it was my best payed job, but only via overtime and travel. Agreed the industry is 15 years+ behind the rest of software and trying to push modern approaches fall on deaf ears.
While switching jobs there were much better paid roles in other fields like web technologies, finance and whatnot but it doesn’t interest me at all.
Yeah I made that call early in my career when I was up in Aberdeen working on oil rig software: The first DotCom bubble was inflating and former coworker tried to headhunt me for some job in London paying absurd amounts. I didn't fancy the work and really didn't want to live in London.
Career has continued much like that: turned down opportunities that paid better, but I didn't fancy (i.e. defence work), took a 18 month sabbatical in Australia/NZ, and generally followed my wife around the UK for her job to the detriment of my own prospects.
Basically I'm just not a career-driven person. And I think I'm okay with that.
it was my best payed job, but only via overtime and travel.
When I worked in defence I had some amazing holidays work trips to places like Sydney and Cape Town, and with a generous overseas allowance for doing so there was nothing not to like!
Salary discussion is a bit meaningless when no 2 organisations agree what a 'senior dev' is. To me a senior dev is someone who can individually contribute pretty well without much supervision. Some senior dev roles you see are more like a technical team lead who will clearly be firefighting 60+ hours a week and pulled all directions by management.
Never heard of SOUP before, sounds a right hassle, but like most of this kind of stuff, if you suck it up and are pragmatic, bet its not that bad.
Salary discussion is a bit meaningless when no 2 organisations agree what a ‘senior dev’ is. To me a senior dev is someone who can individually contribute pretty well without much supervision.
I agree but would go further than that, sometimes within an organisation there is no consistency... I've never worked in a team larger than 10 and normally about 4/5, so even "junior" developers were expected to manage products without much supervision. I think they inherited, or just felt like they had to have, a "structure" with junior / normal / senior / principal positions, but they didn't mean anything and everyone mostly ignored them (unless the company thought they could fob someone off with a bump of role in lieu of a bigger payrise...)
What kind of responsibility does that senior dev have?
Someone who is a technical expert in a particular field (or many), who mentors and line manages junior developers, is involved in recruitment, architecting solutions from the ground up, and working with leadership/management to set strategy (as in it gets delegated to them because the directors aren't technically savvy 🙂 ). Also because its a consultancy environment seniors are expected to do some business development and client work. This could be networking, providing content for bids, costing and estimating work, to creating resource schedules and programmes. It's ridiculous quite frankly!
I'd expect £70-80k for that.
