top | item 21212403

(no title)

lxglv | 6 years ago

Another thing that I'm really surprised about is the salary range for the C++ developers with RTOS experience. In case we compare this with frontend React developers, then difference will be more than 50% (React guys will be paid more). According to my understanding C++ development for projects that require RTOS is much more demanding in terms of skill and corresponding experience. I would also assume that there are much less developers with VxWorks experience: within my region I may find around 40 people with VxWorks in their CV on the job board against 1000 developers with React experience. I really hardly get the economics of the modern IT job market.

discuss

order

pingyong|6 years ago

1. There's a lot more demand for simple web apps/interfaces in areas where there are potentially absolutely insane gains to be had from very simple automation.^1

2. Most devs I know at least consider writing simple web apps/interfaces as the most boring work you could possibly do.

^1 (I've seen 1000+ employee companies with workflows that include multiple people simply sorting and searching through data in hundreds or thousands of files manually, something that any PHP or Javascript script would be able to do in seconds. One time they simply didn't have an interface between two apps and there was someone who's entire job was essentially to type the data from one app into the other. A motivated high schooler would have been able to write something that would have saved 4000-6000 hours of work per year. These kinds of insanely low effort automation opportunities simply don't tend to exist in embedded areas, and it will probably take at least 10 years before most of them are gone from small to medium sized businesses.)

usrusr|6 years ago

The market for web developers is heavily distorted by companies that effectively own winner-takes-all markets and by a wide range of investor money bonfires chasing similar dreams (not just the unicorns of Softbank and Vision Fund but also a very long tail of much smaller investors and investments).

This isn't quite as prevalent in hardware applications where even well funded startups have to be concerned about actually achieving positive margins and cannot just hope for growth to eventually outpace whatever cost structure they have burdened themselves with.

atlgator|6 years ago

I was an architect for a custom multi-platform RTOS built for many core NUMA systems (C/C++, Ada, Java). Most challenging work I ever did because you can't just look up the answer on Stack Overflow. Took a job in IT for 40% more. Now I'm bored to tears and hate my dumb coworkers who think web development is so hard.

rkangel|6 years ago

I live and work in Cambridge UK, and it seems to be the other way around here. Cambridge's history is more of hardware based startups (particularly wireless related ones), so the demand mix is probably quite different. I have always done very well with my electronics/software mixed skill set, and it was a surprise to hear (in a previous HN discussion) that that wasn't as valuable elsewhere.

aardvark179|6 years ago

It’s not a simple embedded vs. front end divide. I think Cambridge has generally funded and valued companies that are see as solving, ‘hard problems,’ and, rightly or wrongly that viewpoint favours backend stuff and hardware.

I’m not sure this is a problem though. Many large companies are not hiring in the valley because the high level of compensation is making it uneconomical.

rhipitr|6 years ago

In my experience, front-end projects always seem to get more attention and visibility from product teams, and the business in general. This seems to happen even when it’s a nascent product that doesn’t make any money yet, and older, more boring systems responsible for large percentages of company revenue often get ignored. I’m not sure if this is related to pay in any way, but it definitely seems like the visibility of front-end apps, and being able to showcase them to wider audiences, doesn’t hurt.

jonp888|6 years ago

I see it like this: In large engineering companies doing embedded systems, software developers are seen as fabricators who produce an item according to a specification, like welders or painters. A web developer in a tech company has a much higher status in the company.

panpanna|6 years ago

How many hw startups do you know of?

Sometimes I feel SF is all SW and HW has moved to Shenzhen.

non-entity|6 years ago

Yeah I've been thinking about moving to lower level software development or even embedded and a ton of the more interesting sounding jobs seem to be outside of the US

StreamBright|6 years ago

The ratio what matters not the number of devs available.

demand / supply

You might find 1000 devs with react but if the need is 10000 while there is 50 for 40 VxWorks devs then it explains the salary.

If you downvote pls. explain how supply and demand is not a thing for tech salaries.

panpanna|6 years ago

> If you downvote pls. explain how supply and demand is not a thing for tech salaries.

HN is starting to look like Reddit where people bury your comment if it conflicts with their views.

I feel downvote on HN should affect your own karma with, say, -100.

(I also have started seeing significant misuse of flagging on HN)

lallysingh|6 years ago

I agree with you, as ultimately an employer will have to raise wages to get/keep employees.

But it's not really enough to explain it because the engineers who do Vx could always just switch to a better paying platform.

I wonder if the low salary indicates that the Vx Devs at that low price aren't able to switch out. Either due to location, lack of ability, or some other capture.

jmnicolas|6 years ago

I'd guess that most VxWorks projects are for governments so the pay is not that great.

On the opposite side a private company that makes billions $$$ with its website should be more prone to pay its devs better.

pnako|6 years ago

Aside from the already mentioned supply/demand aspect, people working on things like that tend to do so for an entire career, so might be willing to accept a lower salary in exchange for stability.

The React developer will have to retrain and rebrand themselves as Bojombo developers in 2 weeks and as Klazoum Framework ninjas in 2 years.

linuxlizard|6 years ago

You got me. I just started learning React and your comment freaked me out. Oh, crap, I have to learn Bojombo now!?

jlokier|6 years ago

It's a nice idea, but it doesn't match my experience.

I find that almost every new embedded project comes with yet another vendor architecture, vendor-specific toolchain, documentation that's wrong, totally different peripherals and drivers, weird limitations, undocumented pipeline glitches, and so on. Even the CPU architectures and instruction sets are often different, if it's a DSP, or an SoC with DSP coprocessors glued on.

Basically, new things have to be learned often in that domain, at least with the jobs that come my way. For a while I got a bit anxious on new projects because I couldn't understand how to make seemingly broken tools do things the client wanted. Things like getting signal data into a DSP simulator when all the (GUI only!) buttons didn't do anything at all for example; but eventually I learned that it takes about 2 weeks on every new project of restraining the urge to swear, and than all the undocumented stuff, tools working differently than documentation says, secret header files and options, libraries that no client of the vendor has ever used and are full of empty function bodies or just broken, but sold to my client as if they are actually in mainstream use, weird memory models etc. starts to make sense and I'll be productive. So I just expect that on any new architecture project now, and it works out ok. Just budget 2 weeks of swearing-restraint at the beginning.

On front end webdev, there is infamously a huge amount of churn too. E.g. every time a new Webpack comes out I have to spend quite a while figuring out how to rewrite the config files for the new version for best results. WASM differs from asm.js; grid and flexbox are a new way to achieve what we used to do with floats, and there's an interesting new browser API each week.

But React hasn't change much in half a decade, and continues to be one of the main front-end frameworks. You could have learned React 4 years ago, and keep on using the same skills today and continue to be well paid if you're good at it. That pay is, indeed, at least 50% more than the pay offerred for low-level embedded, even though React work is way, way easier.

But remember, you can negotiate... Just taking a software dev position as an individual is not the route to the best pay in embedded hw/sw projects. If you can instead sell product development, where the client wants something built for them, and you build it, complete with project management, architecture, technology selection, supply chain, and subcontracting or setting up a project-specific company, then the scarcity of relevant skills works in your favour and the pricing is quite different - better. Those projects are great if you can get them, and sometimes a lot of fun.

spamizbad|6 years ago

This surprised me too. But I think it really boils down to there being both more demand and less available supply of React developers.

Embedded C/C++ development has been around much longer and is far more conservative in terms of adopting new technology. So they have a much larger labor pool of experienced developers who are going to be familiar with the core technologies of the job. Web shops migrated quickly to technologies like Angular and React, whereas the vast majority of C++ shops likely won't be adopting C++17 any time soon unless it's a smaller team's greenfield endeavor. I'd also argue there's less training necessary to go from, say, C++03 to C++17 than going from ES5 jQuery to ES6+ (or Typescript) React.

tuckerpo|6 years ago

Hard disagree on the C++03 -> C++17 bit. They're like two completely different languages.

kitd|6 years ago

Once again demonstrating the tenuous link between pay and skill. Industry and public impact are bigger influences.

nicoburns|6 years ago

I agree it's bizarre. I think it's as simple as there being a lot more demand for React developers. There are a lot of companies that want a web or mobile app. Comparatively few have embedded projects.

closeparen|6 years ago

I'd guess that the economic value on the table in industrial controls is just not that high. It's a mature, stable, slow-moving market. The growth parts have to do with "IoT" and "Cloud," not so much the embedded side.

Gaming has similar-ish needs but is famously oversupplied.

Quant finance pays really well, though.

humanrebar|6 years ago

Some kinds of company succeed and fail based on good engineering. Others have other competitive advantages.

Given the... mixed... reaction to large defense projects, it's possible that the defense contractors are not focusing on engineering per se.

castratikron|6 years ago

Yes, embedded is harder than web. But embedded can only scale to as many hardware units the company can sell, while web can in theory scale to everyone on the planet. Web pays more because of this.

goatinaboat|6 years ago

On the other hand people are comfortable paying actual money for hardware but expect websites to be free.