3 ms·
I've noticed the same thing, and suspect that it's related to the way that higher level software scales compared to embedded. If a line of code is written to r
by bacon_waffle 8y ago
I've noticed the same thing, and suspect that it's related to the way that higher level software scales compared to embedded.
If a line of code is written to run in a customer's browser, then that line of code may be deployed to millions, maybe billions, of customers. But, if an equivalent line of code goes in to firmware for some widget, then you're doing pretty good to get that line in to a million widgets at all, and it's going to take a lot longer too.
- londons_explore 8y agoWrite an embedded bootloader and there's a good chance your code will be used by a billion people within a few years of writing it. You'll still get paid peanuts for doing it.
- ajmurmann 8y agoI think it's a issue related to the visibility of the quality of the work. If the product is even 20% more reliable (whatever that exactly means), hardly anyone will actually notice. Nobody notices the absence of an error. That's although it probably took a huge effort to achieve this. Making a user flow just a little bit nicer is very visible and gets attention. I always felt that ISPs suffer a similar problem. Nobody cares if everything works as expected, but we'll get upset of it doesn't. However, there is hardly anything outside of what we take for granted they can do that we will actively appreciate. What could a embedded engineer working on SSDs do that will be noticed, appreciated and not taking for granted by customers?
- bacon_waffle 8y agoYes, and that's just it. If a software product takes off, that can happen incredibly quickly, and the new product is primarily composed of code. If a hardware product takes off, the change can't be nearly as fast as it's bound by manufacturing, and the code is just one component in each thing. I happen to be working on firmware for a VOIP phone today - we'll end up making N million of these things, over some number of years. If I were working on an Android app with similar functionality, that app could conceivably go to N million people tomorrow, or 10N, or 100N... Anyway, I don't think I have a particularly clear or concise (or even correct) argument here, but it's the only way I've been able to rationalise what we've observed.
- lake99 8y agoI agree with your comment about scaling, but I think you have underestimated the firmware deployment figures. Ultimately, whatever we write that goes into firmware is hidden from the customer. The customer pays a price per unit, and other hardware vendors are competing against your product. This competition keeps the overall cost low. Except at the very top level like Intel or Samsung, semiconductor manufacturers seem to be fighting one financial crisis after another. Competition does not work like that in Software. The products (even in the same domain) are all too different from each other, so though they may be competitors, they are rarely in direct competition.
- nickpsecurity 8y agoNah, it's just management incentives with nothing on liability side for the product countering that. They keep labor costs low. The company still makes piles of money off the product. There's no liability for devices, esp cheap, that fail randomly after such and such period of time. So, no negative outcomes for keeping labor cost down for firmware. So, they keep doing it. That simple.