11 ms·
I can't speak for cameras specifically, but my partner is Taiwanese and apparently this hardware/software dichotomy is extremely prevalent there as well. Namely
by hwbehrens 4y ago
I can't speak for cameras specifically, but my partner is Taiwanese and apparently this hardware/software dichotomy is extremely prevalent there as well. Namely, there is a broad social perception that hardware design is "real" engineering, and that software is a joke. Thus, the best and most talented engineers go into hardware, and the jokers work in software, leading to this "good hardware, bad software" observed outcome and reinforcing the stereotype further. Rinse, repeat, and you eventually end up with decent hardware running absolutely garbage firmware.
Given the social cross-pollination between Japan and Taiwan, I wouldn't be surprised if a similar pattern held true there as well.
- MichaelZuo 4y agoThat's a bit odd. Are they unaware of the last 30 years of computer history? Even as someone with a background in mechanical engineering the degree of complexity behind some software products, such as Windows, is really impressive.
- Tempest1981 4y ago(Probably a rhetorical question, but...) It's hard to overcome preconceived notions. As we know from politics, emotions are much stronger than logic. You can't simply say, "be logical!" or "change your view".
- sho_hn 4y agoI suspect "hardware is real engineering" is really just "hardware engineering is where you can find prestigious employment in this country". It used to be quite similar in South Korea until the more recent rise of domestic software giants like Naver and Kakao Corp. In a lot of the East Asian countries, there is a large gap in desirability between the large, established employers and smaller companies due to outrageous differences in pay grade, benefits and job stability. So new business has a tougher time making it to escape velocity and offering significant numbers of jobs.
- smahs 4y ago+1. I have vague memories of my time at a Japanese automation vendor out of the uni. I had quit out of frustration that the software was super buggy, there was no one to help except just a couple of people in Japan who knew the software but would not reply to emails. I also remember feeling neglected as folks working on the hardware or on customer projects were paid higher than me. A recent experience at a neobanking startup from SE Asia reaffirms the point. Despite the product built around an API-only model, the firm was operations heavy when it came to decision making and investing in people, as it was believed to be the core company strength (for a variety of reasons including the institutional bureaucracy, corruption in these markets, etc.) TL;DR people work where the money flows. Companies get what they pay for. And the investors pay for what they think is the strength or is likely to sell at inflated valuations.
- 0x445442 4y agoI too have a background in Mechanical Engineering and while many software products are complex I wouldn’t categorize all of them as engineering projects in the historical sense of the word. That’s not to say there are not quality software products that satisfy real businesses requirements. But it is to say that a lot of software projects would be WAY too expensive if they were engineered the way a passenger jet or a skyscraper was engineered. The software development field is quite new compared to the other engineering disciplines and many, many decisions are made on gut feel, intuition or out right personal preference. Alan Kay has some very good talks on this specific subject, referring to the current state of our field as a Cargo Cult. However, I would also say firmware would be the least expensive to engineer because the requirements for that type of software are better known and more rigid.
- sho_hn 4y agoAutomotive and other mixed-criticality systems is where these two worlds butt together and have a lot to learn from each other. Mech eng processes on one side, ASIL-style safety requirements in the middle, and someone wishing to pour a bucket load of Android apps into the same computer from the other end.
- derefr 4y agoAre they ever really "the same computer"? I don't think that's true even in entirely software-mediated-control vehicles like Teslas. The discipline of robotics (which is really what you're talking about here — cars are just very manually-micromanaged robots these days) is all about subsumptive distributed architectures: e.g. the wheels in an electric car don't need a control signal to tell them to brake if they're skidding; they have a local connection to a skid sensor that allows them to brake by themselves, and they instead need a control signal to stop braking in such a situation. This is why, in anything from planes to trains to cars, you see the words "auxiliary" or "accessory" used to describe infotainment displays et al — the larger systems are architected such that even an electrical fault (e.g. dead short) in the "accessory" (non-critical) systems can't impact QoS for the "main" (critical) systems. I really can't imagine a world where they've got engineers building the car that understand that, but who are willing to let Android apps run on the same CPU that's operating the car. They'd very clearly insist for separate chips; ideally, separate logic boards, connected only by opto-isolated signals and clear fault-tolerant wire protocols.
- sysadmindotfail 4y agoI have family members who consider themselves "real engineers" compared to me, an SWE. They have backgrounds in Mechanical and other "traditional" engineering fields. About once a quarter I am subject to conversations where they remark condescendingly about how flabbergasted they are at SWE salaries. I stopped engaging beyond "Mmm if you're interested you should learn more about the field". This interaction is beyond grating and is detrimental to our relationships.
- Tempest1981 4y agoYep, sounds like one of those "agree to disagree" topics. Or diffuse using mild humor, like you have tried. Or redirect, and blame supply and demand, or social media.
- ndriscoll 4y ago> perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away In traditional engineering, there's at least a BOM and manufacturing processes that create pressure to keep things simpler. If physical items were engineered like software, you'd have people bolting a keyboard onto the monitor chassis they're designing because they needed an 'on' button, and keyboards have buttons. Obviously they'd then also have to add in an always-on raspberry pi to plug the USB keyboard into and emit a GPIO signal when the button is pressed. You'd get a lot more complexity, but for most of it, "impressive" would be the wrong word.
- m4rtink 4y agoThe IBM S390 HMC (Hardware Management Console) is basically a thinkpad bolted on the massive S390 case.
- MichaelZuo 4y agoThat's a pretty insightful analogy! Bolting an entire keyboard on to a monitor to add a single extra button... Thankfully the cost of adding physical atoms prevents such outrageously dumb ideas.
- robinsonb5 4y agoI think part of it is that hardware is tangible, software isn't, so for some reason people resent being expected to pay for software. Building software thus has less legitimacy in some peoples' minds. I see this in the retro computing scene: people will quite happily fork over large amounts of cash to have an old bit of kit repaired, or buy a newly-developed expansion for old hardware, but those same people - even the people doing the repairs and building the new hardware - can be incredibly hostile to the idea of someone asking for money in return for new software for those old platforms.
- bit_logic 4y agoWhy is this still true? I can understand in the past, but after the rise of all the tech companies and obvious important software they use everyday (Android and iOS) how can anyone at this point think software is a joke and lesser than hardware?
- throwaway14356 4y agoIn europe management is considered more important. Its all bullshit indeed. If they design cameras from the users perspective and expectations there is still a lot of room to take on phones. I just want to shoot, possibly edit, publish the images on my server and have some api to make the appropriate database entries. In stead I have to hook up the cam over usb then pretend it is a slow drive??? Oh and the battery is draining while doing this??? Some models have replaceable batteries that you have to remove to charge???? As a hard drive it scores 0/10 I have to start up an editor, find the right image, load it and find a folder to store the edit???? what nonsens workflow! Iphones let you shoot the images straight into the upload dialogue.. but its not using the wonderful hacks the photo app offers. Maybe camera makers should just make a frankenphone the size of a brick with a few TB of storage, automatic wifi connectivity (with more options so that one never has to look at it), a week worth of battery. The extra weight helps making sharper images and probably a cloud account with a list of highly configurable API's Ill be as weird as to suggest website names could have physical buttons on the top so that one can shoot things straight onto facebook and press delete later.
- wldcordeiro 4y agoI still hear the occasional joke from greybeards about JS and frontend being terrible so it seems like it's just taken to an extreme there.
- haliskerbas 4y agoJust because it’s terrible doesn’t mean the haters have to suck at it. It makes the opinion more valuable if you’re good at something and then criticize the bad parts.
- sho_hn 4y ago
- the_only_law 4y ago> Namely, there is a broad social perception that hardware design is "real" engineering, and that software is a joke. Thus, the best and most talented engineers go into hardware, and the jokers work in software, leading to this "good hardware, bad software" observed outcome and reinforcing the stereotype further. Curious. In the US, the software people can usually make a lot more money so even many EE’s end up in software. I wonder if it’s the opposite in some of these countries, where software people are paid less than hardware people.
- xxpor 4y agoThank goodness in a way, otherwise all of us firmware people in the US wouldn't have anything to write code for!
- TingPing 4y agoI think the US situation just reflects economics. The value of software scales up more than hardware. So software teams and companies get more investment.
- seanmcdirmid 4y ago> Curious. In the US, the software people can usually make a lot more money so even many EE’s end up in software. I wonder if it’s the opposite in some of these countries, where software people are paid less than hardware people. In Japan and Taiwan, both EEs and SWEs are generally underpaid. SWEs and some EEs go to the USA or (gasp) mainland China to make more money, since software talent is generally more appreciated in those two countries. The same applies in other Asian countries (e.g. HK and Singapore, where it is software vs. financial services rather than software vs hardware).
- runnerup 4y agoActually, it still happens the same way in the USA as well -- for physical products. The hardware side of physical products is often well-supported, with higher budgets for R&D and engineering salaries, while the software side of the physical products is expected to be done barebones and as an afterthought at the end of the product development cycle. Software engineers in the US who do not work on physical products are highly paid, because they can potentially create nearly infinite return on investment with near-zero marginal product costs. But software for widgets doesn't have that infinite margin ratio. So firmware suffers greatly. Think auto infotainment systems, smart-home electronics, appliance interfaces, point-of-sale kiosks, etc.
- deleted 4y ago[deleted]
- dehrmann 4y ago> software is a joke Sure, but you still have to deliver the punchline right.
- ChrisMarshallNY 4y ago> Namely, there is a broad social perception that hardware design is "real" engineering, and that software is a joke. Yup. Not just in Asia. The US suffered from that, as well. It may have changed (for the US), by now, as I spent 27 years at a Japanese hardware company. I spent most of my career, as a software dev at hardware companies, and got the brunt of that crap. It was infuriating. During my time, I wrote some very good software. In the early days, when my team was given a lot of leeway, it was sent out, and got [mostly] positive reviews. As time went on, Japan got more and more involved with/in control of the software development that we did, and threw more and more restrictions at us. We were forced to do a standard hardware-centric waterfall development process. If I even mentioned the word "agile," I might as well have just gotten up and left the meeting, because everything I said, after that, was ignored. They took away all of the user interface from us, and we were just doing "engine" work, which was actually pretty cool, but, they sucked at UI. Towards the end, I was reading terrible reviews about our software, and tried writing stuff that would directly address these gripes. My work, and any similar work from my team, was ignored. Instead, they had some disastrous relationships with external companies, under (I assume) the impression that we were not capable of writing "modern" software, and these folks were (they were able to write "modern" software, because their work was terrible, and I have issues with the Quality of "modern" software, in general).
- nrp 4y agoIt is indeed exactly the reverse in the US currently. Pay ranges for software engineers tend to be higher than for hardware engineers at big tech companies, and many folks with electrical engineering backgrounds end up going into software as a result. Also similarly, people building hardware inside of software companies tend to have to put up with mismatches in expectations, including questions around why they can’t build hardware in an “agile” process!
- ChrisMarshallNY 4y ago> why they can’t build hardware in an “agile” process! That's not good, either. Hardware really needs a "measure twice, cut once" approach. It can be made more iterative, but that is expensive.
- Scaevolus 4y agoIsn't that exaggerated by semiconductor manufacturing (TSMC et al) dominating the Taiwanese economy? If your nation's existence is driven by EE-type concerns, software engineering doesn't seem important.
- fomine3 4y agoThis is also applied to Japan. Toyota, Sony, Keyence are top3 of market cap. (Though Sony is partially software company, games tend to be ignored.)
- user3939382 4y agoAnyone who's worked with software management of commercial hardware like cameras, digital signage, time clocks, door controllers, I don't know 1,000 other products types, can attest to the horror-show software you're provided by these manufacturers. Think: Windows only, often IE/Edge only, ActiveX, crashes constantly. Random UI strings are in Chinese. Barely, barely usable.
- nfriedly 4y agoThe worst part is that, despite treating their software like a joke, every damn business guards their source code, protocols, etc. as if it were their crown jewels. So end users end up having to reverse engineer it just to fix issues that the manufacturer should have addressed. And - the real kicker - far too often it turns out to be based open source work, with a few random modifications, distributed in violation of the license.