Hacker News new | ask | show | jobs
Why aren't SW developers working on more important problems?
17 points by goksankobe 956 days ago
Today the most popular industries for "people who work with code" are IT services, finance, retail, automotive, and gaming.

I am wondering why aren't majority of developers work on higher impact problems that could allow leaps in humankind's welfare. Why aren't developers making more conscious effort on solving:

- environmental pollution (recycling is terribly inefficient today) - education (time spent in classroom does not reflect useful information we teach our kids) - clean energy (why not put so many more resources into solar, hydrogen, safe nuclear?) - sharing our services and resources with our local communities. (social media is a thing, you can follow an IG celeb on the other side of the world but we have no habbit of sharing some of the meal we cook extra with our neighbors or less fortunate) - remove incompetency in governmental agencies. (why not focus more on how a country operates by removing power from individuals and having technology be the final verdict on any decision on anything going forward?) - healthcare (why not focus on embedded devices that can people use for self-diagnosing regularly without having to visit hospitals)

25 comments

software developers are people...they're most likely not working on important problems for much the same reasons people shop at fast fashion outlets, eat bad food, watch crap television, not exercise and so on.

not all software developers (aka people) are that smart outside their own domain, or reason well outside their domain. Just because you've studied CS and dream in high speed algorithms, it doesnt mean you can change a tire, cook a meal, or be ethical. I know surgeons/PHDs/engineers who outside their office are absolute social clusterf*ks who if you did not know them - would not think they held such high positions.

one of the number one narratives i see on this site is "go work for a FAANG", or "go work for a startup"...the majority of either are either immoral or unnecessary products wrapped in investor bait (respectively)

...for these narratives to be a thing speaks volumes about incentives, morality and the like. Yeah i know people need to get paid, and life in Frisco is expensive....but...

I was afraid it would boil down to this indeed...
Just one perspective: I'm a web developer who's mostly worked in solar and environmental nonprofits for the last decade.

My salary has been anywhere from $32k to $98k (briefly), with no equity of any sort, pretty bad healthcare, limited vacation, terrible mid management, etc. I was happy with those jobs because they felt socially benevolent in some small way, but it's a lot less money than what you'd get working for a proper tech company that took investor money and spent it on ad tech or whatever.

---------

And many of those problems you cited aren't predominantly software issues to begin with. I think devs have this idea that good tech can fix anything, but it's not really true in the real world.

Recycling isn't a software problem, for example, but a market forces one. It's cheaper to just make most things new, and really expensive to dispose of them properly now that Asia doesn't want as much of our shit. It was never really economically viable, but for a while we were able to just dump our shit on third world countries to pretend like it was going away.

Clean energy is a growing sector but there isn't much software work, and much of it is outsourced to cheaper countries. Where there is software, it's often pretty niche (like solar mapping, design, rooftop layouts, etc.) that are graphics and Canvas heavy on the web stack, which isn't what most web devs specialize in. There is also firmware engineering but only a few companies in that space, and most of them aren't in the US anymore.

Education suffers from academic inertia (it's very slow to change and management heavy with business minded admins who don't care about student experience as much as making a profit), political battles, angry parents, and weaponized school boards. Those people usually don't care much about the tech.

Healthcare and biotech are growing too, but it's extremely difficult to get anything to market because of patents and regulatory hurdles. FDA approval is a pain. Not something solo hackers and small companies can easily tackle, and also hard to build a moat around before big pharma or Fitbit or whatever decides to copy you.

I mean, if you give the average developer the choice of a niche field working on stuff where they won't really make a difference anyway, for a third of the pay or less, while limiting their networks and career opportunities... vs just going to work for a mainstream tech company, well, it's a pretty easy choice for most.

Questions like those are why I often feel as if software engineers often tend to over estimate their impact on a society.
Developers aren't gods, we mostly don't have knowledge or skills to solve the problems we listed. In all companies (except for companies which sell software or software-related services, such as Microsoft, Google etc.) developers are merely tools used by the domain experts who know how to actually solve problems in that specific domain. We as developers are mostly not different from e.g. accountants or facility managers - we play an important, but auxiliary role.
"git gud!"

Seriously, level up. Developers aren't gods, agreed--but they can be wizards.

I'm way, way different from an accountant, sorry. I actively seek problems where the code is the most important player, not the...whatever you said, domain expert? Whatever that means.

I'm not the tool, the code is the tool, and it very much can solve big, important problems.

Could you then help us all and write the code that acts like a superconductor?

How about the code that creates free food?

I got it, the code the cures cancer, you must already be on that one?

I do believe you can write the code that solves global warming while you are at it!

Are you aware that AI is being used to identify and help treat many medical conditions, including cancer?

Do you not think that code is involved decreasing the cost of food production? We have tractors managing fields relatively autonomously, for instance.

You're making my point.

Yes all of that is purely code and not a mix of multiple disciplines.

That is also done entirely by software developers and not electrical engineers and biologists...

Most actually useful software is a combination of multiple disciplines and the actual software part never needed someone with a computer science degree but a degree in a related field which also covered software development.

It's not a skill issue, it's a matter of software isn't the thing solving the problem in any way, it is only accelerating what was already possible without it.

Regarding your AI in cancer diagnosis a d autonomous tractors, these and not places where software pushed costs down but rather went the opposition direction and is still not available to the masses but instead are available to the 1% who were doing just fine without it.

All that stuff is being worked on by domain experts. I.e. you need to understand cancer or food production in order to think up the code that will help make progress on those subjects. Then, you either code it yourself if you have the coding skills and the time, or hire some coders to code it for you.

An example to help you understand this (as the term "domain expert" is foreign to you). You have a cancer researcher, who's spend years, or decades, learning whatever they can about cancer. They come up with a research problem which would be helped by some code - e.g. they want computer vision program to help them automatically classify some cells in pictures taken with a microscope. This image classification is in itself a small task in the grand scheme on studying cancer and ways to treat it, and it can't be even conceptualized without the deep domain knowledge the researcher has. This researcher is the "domain expert" I'm talking about.

I think you get me:)
Because the issues you mention are fundamentally problems of resource allocation. More specifically, allocating human labor towards potentially intractable problems in the absence of convincingly enticing incentives.

Maybe withhold making normative claims until you have some perspective.

These are aren't software problems, these are people problems. Maybe software makes some portions easier.
…or harder/worse.
You are overestimating the average SW engineer. The majority of SW engineers that work in 'business' are not even capable of creating the most basic of software, let along create complex/ low level systems
Most important problems are not software problems. Software is just another tool like a hammer. Get well off with software job, then go do real, meaningful work.
Another question is asking why retired people are not working on high impact problems?

Many have the free time, the knowledge and skills, and often some spare cash for light expenses.

In theory the influence of retirees on science and the arts should be huge! In practice not so much?

A lot of retired people don't have the energy anymore and have to deal with health problems. Also consider that retired people help out in the family a lot. My grandmother used to cook for us, for example.
Most companies work in areas where the most money is, most software engineers work for those companies.
Sort answer: have bills to pay. Degrees / training to keep current / technical certifications are expensive. More $$ for same amount of time helps pay down expenses quicker.

1) Software development is by definition research related.

2) IT services are non-research realted and have a defined/bounded focus/goal(s).

#2 / bounded development much easier to allocate resources over time (unknowns & knows are defined/generally known up front). Similar topic would be why companies like to outsource things (cloud, human resources, software,

#1 / unbounded development, much harder to allocate resources over time (many unknowns, and unknown "what don't know")

Simplifying things, management likes #2. #2 keeps things within budget/minimizes resources which leaves little room for funding/resources for research/learning.

#1, is similar to doing things for 1st time -- large amount of resources upfront and over time in order to possibily produce something. BUT, that something may not be useable/return resource investment until other known/unknown things happen. Examples: Original development of first IC. Laser. 8088 developed as IC for DataRace display (not as cpu computer). Xero Parc and the Alto. AT&T Unix (vs bsd/minux/linux). Dirty Operating System, Disk Operating Sytem, Gnu DOS. 1970's Polaroid employee developing the digital camera (pre-IC / cpu chips). Rise of Amazon, where amazon didn't return an investment for more than a decade. Nerf as a graduate project. Dell & Facebook as side projects. make/git as quick thing to help get research work done.

Related topics:

case studies/write-ups on why founders get tossed from founding company once company gets beyond start-up phase.

Diy medical device story: https://www.medtechdive.com/news/tidepool-loop-clearance-diy...

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6610599/

Who is going to pay for it? There you go.
Why aren't investment dollars going towards more important problems?
This. Software devs are just fancy laborers. Laborers have no power. We have to go where the market is or we/our families starve.

If you want to solve these kinds of problems you can 1. Do it yourself, and get funding to do so and 2. Get investors to invest in it. But why would they? Solving useful social problems rarely gets you hockystick growth.

The government essentially has to incentivize it with funding/grants IMHO. Otherwise it does not move quick enough.

Who is paying to solve those problems?
Also relevant: who’s paying, lobbying and actively working to make sure those problems don’t get solved because they’re quite happy with the economic status quo?
We're losing the war on general purpose computing, but nobody really seems to care. Without personal computing we can trust, privacy and free speech are lost. Without them, Democracy is lost.

If you really want to make a difference, learn about capability based security, why it's different than "permission flags" you find in smartphones and "apps", and push for wider adoption of the most basic of all computer security.

Most programmers and IT professionals are so busy working, learning and keeping up with rapidly changing technology that they don't have time to focus on global and social issues. Today, a programmer is like a slave-worker, only no one is beating us with a whip. :D
After reading the comments here, here's an answer I haven't seen yet.

I'm a software developer. Specifically, I'm a software only developer. I've never built a robust enough skillset working with hardware, be that electronics, microcontroller programming or god forbid, mechanical engineering, to even attempt to solve many important real world problems. There are just not that many problems that can be solved with an app.

Would I love to? Sure. I can buy myself an Arduino, a laser cutter and a 3D printer, but that's still a very long way off from being able to design something that is mass producable and solves a problem. As far as I can tell from my armchair, that would, at the very least, require some background in PCB design, metal working, probably more.

What's worse, I'm the same distance away from being able to do it as a job, no matter how good of a coder I am, so if anything, this would have to be a hobby for a long time. If I went at it, it would take me 5-10 years to build these skills. That's a long time for someone in their late 30s with a family.

If I had the time and resources, here are a few things I would love to do:

- Build an affordable almost dumb phone w. only basic messaging and authenticator functionality. I think the world could do with something that doesn't eat our attention all the time. Terrible business idea though.

- Affordable cooking assistance/robot. I think we needs to get away from meal deliveries for a more sustainable future and it would improve food quality. (Restaurant food around here is not great, especially if you can't consume milk and onions.) I started learning to cook, but there are days that are too hectic to do it. Robots for this exist, but they are clunky and require specialized installation. It's a long shot though.

- Optimized deliveries for the last 500 meters. Delivery trucks often drive around the block producing CO2 for no good reason. I feel like there should be a sidewalk robotic solution that could work out if a truck parked somewhere. Lots of problems to solve here, especially when it comes to tall buildings w. stairs and lifts.

Reflecting on the education part of your post: that's not solvable by technology. School is just as much of a socialization instrument as it is educational. Observing an almost tenager, kids could learn a lot faster if they were allowed to progress at their own pace, but the logistics seem impossibly hard. My wife and I tried to help out in the local school in digital education and we could easily do with double the amount of teachers and classrooms we have. An app can't replace a teacher, and it's not for the lack of trying.

because none of those industries pay what the top five industries you started this post with do. (healthcare is a major industry and pays tech talent somewhat competitively depending on the region)
None of the things you listed are something more software can affect.
1. Because the popular industries are where most of the jobs / money are. 2. Because software by itself isn't going to solve most of the other problems you listed.
Money.

The ML/Data Science fields especially break my heart. So many brilliant STEM PhDs who leave impactful research roles in the areas you mentioned for ads and finance.

How much are you paying?
Why aren't *you* working on more important problems?
yc request for startups covers this

https://www.ycombinator.com/rfs

(1) pay is shit, (2) this problems aren't solvable by software alone or at all
Takes long term vision / supply of resources to outline/research/develop problem(s) for software developer(s) to work on. Usually why new/ground breaking things happen at university then moved over to commercial setting.
Nope, most of new ground comes from companies
Perhaps, companies in which employees can pursue hobbies/personal projects. (kodac & digital camera[0] being an interesting case study))

Companies arise out of diverging from 'parent' company goals/objectives.

Also a side project grows beyond original intent.

How to pay for US college education / research ...

* side jobs/projects that superceeded 'getting a degree': Dell, Nerf, Microsoft, facebook, netscape.

* While doing research .... microwave, transisor, antibiotics, digital camera, c/unix, bsd, alto & apple Lisa, etc ...

[0] : https://en.wikipedia.org/wiki/Digital_camera

I think you're not seeing it through the same lens :) Look for example all machine learning, hardware, AI, LLM, etc.

None of that came to be used in the world due to University departments. Maybe some of the theory behind it, sure, but making it useful in the real world through engineering, no.

Microsoft "side project" innovation vs current Microsoft innovation (e.g: what goes into building something like Azure or ChatGTP backend) is also very different :)