Hacker News new | ask | show | jobs
by bit_logic 1291 days ago
Why 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?
7 comments

Most hardware companies are decades old and so are most of their established competitors. Until one of the old guard breaks rank or a new competitor manages to break into the industry using software as a clear competitive advantage (i.e. Tesla), the success of tech in general means nothing to them.

It doesn’t even matter how big the companies are or if they’re a “hardware” company. All the lumberyards in my area still use DOS era machines that I’m not even sure are networked. I know that at least one of them runs the whole thing by printing the day’s transactions from each computer and paying a secretary for data entry into their similarly ancient accounting/inventory management software. Cost of land and fuel overwhelm labor costs in the lumber business so there’s zero incentive to even try

While software is important, quality of software is usually not. There regularly are articles and comments on HN about how common software dev practices would not fly in real engineering.
I think this would change overnight if management were actually held accountable for quality. Right now all the incentives are on ship fast, ship early, ship often. A PM who delays a release to fix bugs (is a hero IMHO, but) looks terrible to management higher up. The PM who rushes to market looks good, even if the reputation of the company as a whole suffers because they shipped crap.
Real engineering would be the same if they got to ignore the laws of physics more often.

Also people get oddly grouchy if buildings fall down on them.

My GPU drivers crash and take out my entire computer about once a night (AMD Windows drivers are just..... abysmal) and I just grumble.

If a tiny local bridge collapses, with nobody on it, it probably still is newsworthy and people get upset.

Millions of bridges have been built in human history, but only a handful of GPU drivers.

The bridge doesn’t need to withstand the river suddenly turning into lava or the atmosphere becoming sulphuric. The driver has to be prepared for whatever Windows and the hardware put up.

In those tech companies, that knowledge has arrived. Of course, among software people, similar is true, because who doesn't like being told they are important and valued. But there are various kinds of "tech" companies. Ones founded by hardware people and EEs, where the key innovation that made the company big was in hardware design. And ones founded by software people in their dorm room or something like that. Usually companies from the latter category offer respect to software engineering, while companies from the former category see it as a cost center and something that ideally you'd out source.

DSLR manufacturers got big by making great cameras. They didn't really feel the need for making good software. Compare this to Google which got big by implementing a clever algorithm and using distributed computing.

I 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.
JS and frontend are terrible and you'll hear this loudest from frontend people themselves. It's an entire industry built purely around the inertia of an unexpectedly wildly successful product.
I think it's worth noting that the Web ate software largely because the ergonomics for new devs are vastly superior to building native apps, and can be used cross platform without downloading binaries. What language is easier to get moving in? If writing cross platform native apps was as easy as using a single html file with a script tag, they would be more in vogue.

To accommodate the greater scope of the web the language has evolved. It's fast, supports multiple paradigms, and never makes breaking changes, so your code will run the same 20 years from now.

Yes, absolutely.

Put another way: Systems with great benefits are able to survive their great failings.

This dynamic explains most "inexplicable" situations where something seemingly terrible in certain specific ways enjoys continued success.

> and never makes breaking changes, so your code will run the same 20 years from now.

But only if you can get it to work in all browsers and derivatives today, including their versions of the last 20 years.

Is this a real issue? I doubt the average new coder needs to worry about supporting 20 year old browsers today. I've never worked at a company that needed to support ie8 or whatever.
These are orthogonal. You can believe software is important and a great area to work in, and still think JS and frontend is terrible. In fact, the two are often correlated!
If you think frontends, as a general category, are terrible, and backend software, as a general category, is more "serious", "real", or "important", you have precisely the mindset that produces theoretically useful gadgets that are ruined by poor user interfaces.
There is a difference between thinking that the front-end ecosystems are terrible to work in and thinking that they are unimportant.
That's not the point OP was making. On the contrary, you have to believe that frontends are important to be really mad about how terribly they are made.
As a HMI guy myself, I would agree with you. :-)

In general, I think any engineering community that congregates around a particular set of issues is just trying their best to address their needs and build solutions to their problems, and it's important to respect those. Rather than being dismissive, exposure and cross-pollination is how we lift the boat together.

Just 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.
The issue is that the recent growth in the software field has caused people that would otherwise major in something else, and aren’t really interested in software, to be your coworkers and they don’t care about doing a good job. There are some areas of software which would be benefited (lower cost over time) to apply an engineering mindset. That’s not what happens with agile. The whole ethos is about being able to change the design around, shipping MVPs and quick iteration. In hardware it has to be correct when you ship it , leading to a more methodological approach. As a result, some software work in comparison to hardware work can come off as sloppy.
Define recent? I remember "too many new people are just chasing money in IT" already being a well-established trope 25 years ago, long before Agile or most of the modern stacks were even a thing.
It is true but the general interest level and attention to detail in industry is not what it once was. By recent, I want to say around 2012-2013+.
In 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.

Why wouldn't it be true? All the software that ate the world did so from a very small number of places. Outside those few focal points of software wealth, if an area isn't essentially preindustrial, whatever is happening there related to hardware will greatly outshine any local software endeavors.