Hacker News new | ask | show | jobs
by jacquesm 3329 days ago
Another real problem is the willful ignorance of all things political. As if there isn't a political dimension to almost everything we do. Engineers as a rule have a lot of leverage, small changes in what we make have huge consequences in the real world and a bit of understanding about how the two are coupled would go a long way towards making this a better world. It would also at times require engineers to take a stand and I suspect that that is what drives the willful ignorance. After all it is much easier to do something inherently bad if you can pretend there are no real world consequences.
3 comments

> It would also at times require engineers to take a stand and I suspect that that is what drives the willful ignorance.

It's easy to take a stand when you either have a lot of sway or you're a critical component. It's not so easy when you've got people to feed and there are 100 people in line to take your spot.

In an ideal world, engineers and developers alike could really reshape a lot of business practices. For example, developers could say no to creating dark patterns, and engineers could say no to building with substandard parts. Both could say no to unrealistic deadlines that force shoddy workmanship and ugly shortcuts. Too bad that if you won't do it, someone else will gladly do it in your place.

The only way to realistically do it is to put up with it, and then change the culture of the company once you've gotten high enough in the chain. That can take years, and there is no guaranteed payoff. Of course, the other method is to create a union, a coalition of developers, or even an external organization (the EFF, Wikileaks) to back up developers or apply pressure. Doing that is a monumental task in and of itself.

I am not disagreeing with you. In fact, I encourage this behavior. It's hard for a lot of people to do it in practice though.

> It's not so easy when you've got people to feed and there are 100 people in line to take your spot.

This is true for exactly 0 engineers at Google and Facebook. Every single one of them could easily find another job if they wanted to leave.

I think you guys seriously need to consider the possibility that these people are actually OK with what they're doing and simply have different values and priorities than you do.

While that is true:

> It's hard for a lot of people to do it in practice though.

The world of development exists outside of the tech giants. There are more people doing dev work outside of those giant companies that are still making an impact.

I don't deny that there can be apathy. Some people show up, do what they're told, and collect money without regards as to what they're doing.

Well, that may be true, but we're specifically talking about Google and Facebook here.

> I don't deny that there can be apathy

I'm not talking about apathy, I'm talking about actually understanding and being OK with what you're doing. Google and Facebook have just short of 90,000 employees between them (not all of them engineers, of course) - it's extremely misanthropic to assume that they are all either apathetic or consciously doing evil.

A very large number of people understand and are largely perfectly OK with the substance of what Facebook and Google are doing.

Not if they're on an H1B.
It's too late. We have universities pumping out tens of thousands of C.S. graduates every year in the United States alone. Sure they aren't all amazing but it isn't that hard to implement most dark patterns within say, a Django environment. Even in the most important space machine learning is having it's barrier to entry halved every five years and eventually most small machine learning tasks will be done with only minimal training.
A union of developers is a good idea IMO. Developer's are well compensated for their work (generally) - but it's common to hear how their ideas are suppressed.

I've been thinking a lot recently about Xerox PARC - a unique situation where smart people were given a wide degree of latitude, and the result was they came up with some world-changing things.

I understand that businesses have a legitimate right to work toward their end (the bottom line) - but in this rapidly changing world I think responsible people need to step up and say "enough is enough, we make these things, and here's how WE want to make them."

Never in the history of the world has there been an industry in which it was easier to set out on your own and make things the way YOU want to.
I don't disagree but that's not the point - the point is there is room for improvement, particularly at large organizations (which still have the most impact on the world).

Even at startups - the incentives are such that oftentimes user privacy is compromised. The economic model of ads supporting software is profitable but is it really the way we want to work?

Unfortunately we may be too far down this road. People don't generally want/expect to pay for software. I think this is limiting and troublesome in the long term.

People do pay for software that is worth it and when there are no serious alternatives.

For example, developers do pay for MS toolkit despite alternatives. Certain architects and designers pay for Autodesk software. Or 3D modelling even despite existence of Blender. There are quite a few of music software options that are strictly paid. Higher end video authoring software. Numeric and statistical packages. Electronics design and simulation software. Games... Heck, people still pay for office suites.

What we don't see is people paying for CRUD as much as they used to.

What matters is that the software in question is truly great for doing something, competition is not to big and that the enterprise users ultimately catch on. Of course few start-ups want to tangle with that.

Um, could you give some specific/concrete examples of what you mean, when speaking of this leverage? I honestly have no slightest idea of what you may have in your mind here, and am totally curious - at least as long as we're talking, I assume, about legit/ethical/morally acceptable actions? (Also please note I'm not in US, though I presume it's not relevant to this discussion.)
Engineers build small things that have huge impacts. The Linux kernel, the ARM core, the internal combustion engine, the atomic bomb.

As a profession, software engineers have very weak ethical standards. We have no Hippocratic oath, we have no iron ring. We might not be happy about it, but we'll release code that we know to be dangerously buggy, we'll cooperate with surveillance agencies, we'll design systems that exploit users, we'll build products that are sold to the governments of Saudi Arabia or Libya.

If software engineers were collectivised, we could refuse to do all of this shady stuff. Any software engineer tasked with doing something unethical could simply say "I'm not doing that, I'd lose my license". By establishing a professional body equivalent to the Bar Association or the General Medical Council, we could throw a giant wrench in the machinery of evil.

Hmm; so maybe I just misunderstood the original post at first, this or the fact that I'm already trying hard to take into account ethics in what I do as much as I can, so no big change for me? I dunno; still not quite convinced by this interpretation. I understand and endorse the idea of "picking who you work for" (though sometimes it's very nontrivial, esp. in context of big companies/corporations). I just thought that maybe the fragment about "a lot of leverage" and "small changes in what we make have huge consequences" was alluding to some other idea. Personally, I have extremely hard time seeing me choosing a different employer as "a lot of leverage" or "huge consequences [for the world]". I feel it's only a very small, though potentially at least nonzero, leverage and consequences for the world (I imagine someone else with weaker spine will hire for a particular position anyway), but in my perception notable (positive) consequences for feeling of personal integrity, though potentially (but not necessarily) at a cost for personal material situation.
Web developers of today are like the early printing press owners/operators.
I would say it depends on your position in your place of work, but there are multiple examples of this. I prefer historical ones, say for example NANP (the North American Numbering Plan).

I'm not sure what country you're in, but here, these 10 digit numbers and their various prefixes (NPAs AKA "area codes") are literally burned into the consciousness of most citizens, without them even realizing it. Additionally, all modern cellular services here are still following it in some sense or other, making it an example of highly entrenched technical debt. I'm pretty sure that the design of this system bled heavily into most other countries' telephone networks as well.

A small number of engineers probably drew up this plan on a chalkboard in the 1940s at AT&T, without a clue as to the magnitude of future ramifications.

Levarage. Enginners are generally upper middle class. Being in the middle class alone gives you vastly more freedom (ergo power) than someone who has to actively care for his needs (as oposed to surplus). More importantly, their education is above average, which is not the same as institutional education (but still somewhat correlated), meaning they'll have a better ability to analyse of what's happening, better comprehension of how change (positive and negative) happened in the past, etc. Relative leverage is relative freedom and awareness.
Agreed. Indifference to politics (by someone intelligent enough to have meaningful choices, obviously) is the ultimate privilege, resting as it does on the assurance that one is unlikely to suffer any kind of personal inconvenience.

My wife has an electrical engineering degree and she had to take ethics courses and pass an exam in them as part of her credentialing process, which in turn shaped her career decisions significantly. I find it troubling that ethics are not considered a very important topic in software development or indeed many spheres of business activity.

It's not that I expect people to necessarily share my opinions; what distresses me is that many arguments I encounter from contrary positions are so utterly shallow that you can tell the person hasn't really thought about such issues very much. Positivism has a great deal to answer for.