> We have done a shit job so far of managing ourselves. Sure in lots of cases we have made the world a better place but I think we need to be honest with ourselves and acknowledge that greed has crept in and supplanted that "making the world a better place" mission.
I think "we" have been largely absent from the conversation as heard by the rest of society. You can't say "trust the software engineers" like you can say "trust the doctors," not because we don't have ethics or expertise, but because what most people think of as the voices of our profession are the PR mouthpieces for companies like Facebook and Google.
Speaking person to person and in online forums such as this, you'll find most engineers concerned about privacy and the societal and emotional harm of social media, and reflexively distrustful of corporations that speak about issues they have a financial stake in. But that's not what non-engineers think we think. The assumption seems to be, well, you're a techie, so of course you uncritically embrace all that stuff. People who know me better and know I don't think that way seem to regard me as less of a techie for that reason, which goes to show how little they are aware of sentiment in our profession. I think that's what we need to fix.
A profession like medicine suffers a little bit from the same bias, where people tend to assume that doctors are personally pro-surgery, pro-drugs, etc., but doctors have a professional structure that creates recognized authorities, which means journalists have somebody to talk to when they want to get the overall take of "doctors" on an issue where their expertise applies. When writing about a public health issue, journalists have no problem getting an independent perspective from doctors with credibility, relevant expertise, and no direct financial stake in the issue.
Software is in a position analogous to if the only doctors visible in the media were PR flacks for hospitals and pharmaceutical companies.
A big cultural difference between medicine and software is that doctors are traditionally trained to bear the mantle of authority. They are trained that commanding the trust and respect of patients is vital to providing care to them, and that it is a skill separate from and equally necessary to the technical skills that make a doctor worthy of that respect. Tech people are socialized to beware of the dangers of authority and distrust those who seek it. I may be speaking as an old-timer here, but when I was young, I learned to lionize the scientists and engineers who rejected the accoutrements of authority, who wore cheap and frumpy clothes, who let their hair go crazy, who reveled in stories of their own stupid mistakes, who actively punctured the mystique of authority so that they would only have as much respect as their knowledge and achievements alone would earn them.
In other words, medicine comes from an old tradition, which long accepted that wielding authority and being worthy of it were separate skills. Keeping the two connected was a moral responsibility that fell on individual doctors and on the profession as a whole. The tradition of software is much younger and was much more deeply marked by the counterculture, which took an opposite approach to the problem of authority, declaring that we could and should unlearn our reflexive deference to the superficial aspect of authority and replace it with a critical, informed consumption of the expertise of other members of society. To the counterculture mindset, it was unacceptable that society should be at the mercy of the closed ranks of a profession privileged by its exclusive knowledge.
I think that the counterculture perspective was an important corrective, but it is incomplete, because the problem of authority hasn't gone away. Even if we despise authority, we still depend on it, so the question is: how should we as a profession create and elevate professional authority? How do we make it possible for a journalist to easily get a read on what software engineers think as professionals, distinct from the official line of large corporate employers of software engineers?
Maybe software needs a replacement for the old professional societies, except with an emphasis on policy and public education, instead of expensive journals and social events designed to help you find your way into the old boys' club. I have no idea what such a group would look like, though.