11 ms·
I think you are right to say that the methods are vastly improved, but the ends to which those methods are applied have become ever more uninteresting (for a lo
by jlangenauer 6y ago
I think you are right to say that the methods are vastly improved, but the ends to which those methods are applied have become ever more uninteresting (for a lot of people), and often morally suspect. We have built exquisite tools, but we use them to extract profit, to manipulate behaviour and often for no discernable purpose at all.
Programming has become joyless.
There are ever-shrinking spaces where a developer gets to build something novel - something that's state of the art, that's creative, that taxes their intellect and brings the pleasure of achievement forth. It seems that for every developer working on rocket guidance systems or self-driving cars there are a hundred toiling away on yet another CRUD app, or wrestling with a hydra of microservices. It pays well, but fun it is not.
- bad_user 6y agoNo, programming became useful for the mainstream. I program ever since you had to restrict arrays to 64k in Pascal's 286 real mode. It was definitely fun, but other than building really limited games and freaking text areas (that would regularly crash with out of memory errors, losing your changes), along with bad accounting software build in MS Fox, there wasn't much you could do. And I remember people literally leaving the industry when the migration from MS-DOS to the Win API happened, which was forced around the time of Win 95. Because everything was terrible. But I love it when seeing young, privileged, overpaid software developers complain about joy. Keep at it.
- djhaskin987 6y agoWhile we should not discount your experiences, and while there are many complainers out there about nothing, I think the poster to which you replied has a deeper point. I too am relatively young. When I was a kid, Bill Gates and windows was the devil. Nowadays I realize I judged him too harshly and that he does a lot of good in the world, but at the time Microsoft was the bridge troll. Looking back, everything seemed so simple. Programming open source things had meaning to it. People didn't program open source back then to my knowledge as part of a larger corporate strategy. They did it because it was fun. Corporations entered open source programming as far as I'm aware en masse in the early 2010s late 2000s. Around the same time Facebook and Google reached their peak of popularity. It felt awesome to have corporations join in the fun and it felt like the software got much cleaner and much higher quality. After a while though it just felt like corporations took over the place. Software is better now but it's tailored to corporate needs even in the open source world. Now that our apps have millions of users, and we can see how they interact with the app in near real time, there is a constant push to manipulate the behavior of the user. Like our app? Leave a review! How likely are you to recommend our product to a friend or colleague? And so forth. To your point, we have always been asked to do things like this but in the 90s there wasn't nearly as many ways to do so. Seeing the greater capacity of our code being used for yet more greed is disillusioning. I get it, everything is terrible, and it always has been. But I do wonder if we haven't lost something from the '90s to now. I feel like there have been several Eternal Septembers, but instead of our communities getting flooded with trolls they have been flooded with corporate interests in communities that didn't used to have these interests at play. To try and combat this feeling, I have tried to find those communities for programming that try to get back to our indie roots. In the '90s we didn't care or need corporations to sponsor us or our open source projects. I'm still sure there are those out there that run their projects without the need for GitHub Stars or corporate funding but it's now seen as unreliable or otherwise undesirable to use projects that are simply done for fun. I think remembering that that's all I ever used to use will help me find more fun like I used to have. Preserving the space of programming is a hobby I think is really what's at stake here.
- jlangenauer 6y agoI may be privileged, but I am neither young nor overpaid. I started programming on something called the Commodore 64, so my opinions have been refined over decades. And if I say programming has become joyless, it's because I've been around long enough to remember when it wasn't.
- monsieurbanana 6y agoThe joy someone can get out of programming seems like such a subjective feeling that I find it hard to believe you're generalizing your experience to all programmers.
- ecpottinger 6y agoMy solution was to dump the Windows environment for my personal use. I program in Arduino where I only have 2.5 K for my variables, programming with so little memory really forces you to think about your program methods. I built small projects using 74LSxxx chips, building logic instead of programming it can be refreshing. When I need more space I program in C++ on a Haiku machine, 32 GB of ram and 12 CPUs gives you the power, but the lack of frameworks means it is all your own coding.
- abraxas 6y agoWhat is a "Haiku machine"?
- non-entity 6y agoHaiku is BeOS derived opetating system. https://en.m.wikipedia.org/wiki/Haiku_(operating_system) https://en.m.wikipedia.org/wiki/Haiku_(operating_system)
- matthewmacleod 6y agoThere are ever-shrinking spaces where a developer gets to build something novel I think it might be possible to say that relative to the entire industry the space for novel or interesting work is shrinking – possibly. But I don't think that actually means there's less interesting stuff to work on. If anything, the spaces for that are growing – maybe more routine work is growing faster, but I can't really say. I'd wager that the majority of software for its entire history has been pretty boring.
- ativzzz 6y agoI agree. Though because of the growth of the industry, these spots where actual cutting edge work is happening are insanely competitive, and I would bet that many of the programmers (not all of course) who worked on the cool stuff 20 years ago would not make the cut for the cutting edge today, or are simply not interested in the particular niche of that edge.
- jfim 6y agoHow much of it is actual competitiveness and how much of it is the artificial barriers people put in the form of technical interviews? There's a big gap between software craftsmanship and the algorithmic trivia interview expectations nowadays, and it seems to keep widening.
- ativzzz 6y agoWorking on the cutting edge implies some sort of combination of greater talents and ability to work harder than others (hence increased competition), which means that the artificial barrier is a mere pittance. The people interested in doing cutting edge work will find a way to be there no matter what. The vast majority of people overestimate themselves.
- Gehinnn 6y agoI had a great amount of fun working on my debug visualizer extension for vscode that was trending on hn a couple of weeks ago. And on other open source extensions and projects. I felt visionary and proud. That is what I want to do. But it pays for nothing. I make more money as a street musician than with my open source projects that have more than 100k users. But I got paid a lot for improving some online gambling site. This is how it is.
- deleted 6y ago[deleted]
- pbronez 6y agoThere are some economic theories about non-monetary compensation that try to explain this. Basically: Total Compensation = Salary + Benefits + Intangibles Those Intangibles can be things like working environment or commute, but they can also include your affinity for the organization’s mission. People are willing to take smaller salaries when they’re working on something they love & respect. It takes more money to convince people to work on boring or undesirable things. It’s the exception to be paid well for something you like.
- amscanne 6y agoI think the word you’re looking for is “utility”. People maximize for utility, which includes all of the terms above. Utility of money also has diminishing returns, etc.
- Kronen 6y agoI disagree, one of those intangibles is the easiness to learn, so most of the time you get paid less for working on boring or undesirable but easy to learn things like one CRUD app after another. And you get paid better for more difficult and interesting things, because there are less people able to do it.
- convolvatron 6y agoi find the contrary to be true, largely without exception. the boring useless stuff that no one wants to touch generally pays alot better. work that I actualy care about is difficult to get paid for
- lostcolony 6y agoI think you need to call out bonus and RSUs/long term incentive plan here, too. Many places don't have them; talks of salary invariably leave them out, but they are what makes the FAANGs TC particularly compelling. And other companies do have them, but oftentimes it's hard to figure out which do, and for what roles (since it sometimes is dependent on seniority and perceived importance).
- vmception 6y agocheck out crypto, especially the “defi” space building there is a creative process and it pays better than big tech The onchain codebases arent that big because they cant be.
- microtherion 6y agoI can't judge whether the actual programming there is fun, but I can't imagine an environment where bugs get exploited to the tune of tens of millions of dollars can be all that fun, and the entire field seems to be built on fraud, scams, and finding greater fools. I suspect a nontrivial number of programmers in that field will find themselves making license plates or exploring harbors with concrete shoes a few years from now.
- vmception 6y agoThe bugs don’t affect the programmer or the company, assuming there even is a company And the programmers have easily translatable skills, so nice try at making a point but it doesn’t make sense when there is a real conversation to have But you werent actually here to debate the differences in how that could affect programmers in that industry vs other industries Your preconceptions are a random incoherent mixture of things that are oddly excusing bad actors or bad companies by ignoring them and conflating it with blaming a specialized skillset or sector You could have kept all that in your head because this was clearly a copypasta rebuttal prepared for any conversation about crypto
- aarongough 6y agoUnfortunately I agree with this. A great quote I saw a while ago: “The best minds of my generation are thinking about how to make people click ads.” –Jeff Hammerbacher Every paying software job I've ever had was in some way involved getting people to click on ads. Either directly making a product where ad click rate is a measured metric, or products that helped people make products where clicking on ads was a metric... I have usually been able to find a lot of joy in solving the problems in the smaller areas where I was focused, but whenever I took a step back and looked at what I was helping work towards it felt very meaningless. I think finding a job today where you feel like the work you do does genuine good for the world is an incredibly rare and difficult thing...
- jerf 6y agoHave you tried... looking for one that isn't? I've been in the biz for coming up on 25 years and I've never tried to make anyone click on an ad. It also may help to downgrade "doing genuine good" from "solving the world's biggest problem once and for all" to "helping people get food reliably" or "keeping this industrial process that provides value to thousands of people going" and so on. Sometimes I do lose a bit of track of what I'm doing, but in the end the jobs I've worked still end up helping people do useful things, or protecting people, not making them click on ads. There's a lot of jobs in programming that don't involve making them click on ads. Even in the heart of Silicon Valley, there's going to be a lot of jobs that don't boil down to that. But you may have to, you know, change jobs.
- UncleOxidant 6y agoI've never had a job convincing people to click ads either in about the same amount of time. But when I look at the salaries being paid by those companies trying to get people to click ads I think I must've made a mistake somewhere. Not that I want to have a job getting people to click ads, but those jobs pay like 2X to 3X the highest salary I've ever made (or more).
- spenczar5 6y agoYou haven't made a mistake. Those jobs pay highly because they have to. The phenomenon of soulless, not-great-for-the-world jobs being really highly paid is not a new one, and not at all unique to software - compare a celebrity plastic surgeon versus a doctor who saves lives after disasters, or a corporate attorney at a weapons company versus a pro bono lawyer who works for virtually nothing.
- friendlybus 6y agoThe joyless is across the west culturally. It'll take 20 years to build up again.
- tluyben2 6y agoNot to mention that those CRUD apps have been done, exactly the same, 10000s of times before and 10000s of people are doing the same work you are doing now at this moment. Everyone thinks they are productive but value is being burned all day, every day in most companies all over the world. The level of reuse is depressing and people, especially here, firmly believe we need to use the latest frontend and backend crap to rebuild what was working perfectly fine before. More and more everything appears resume driven and to extract more hours billed or even higher LoC or commits per day. It is a nightmare and I refuse to play more and more. The over architecting for shit one off projects burning 10000$s a month ‘in the cloud’ so it probably, maybe it won’t crash with the 5 users per day it has using it. Yes the tooling is better but the drive to use every latest tool and tech really makes no sense for almost any project. Fitting anecdote; a company from LA was contracted to build a crud app for a big corp; they used react, typescript, node, express, aws, aws lambda, redis, dynamo and rds. For a crud app. They got $50k for it. For a crud app. Costs were through the roof running it as you need actual good people to run it. It failed a lot of times for such a setup as it was all the latest of the latest architecting wise. Brittle as hell even with all the tests and resume driven busywork. I rewrote it 1 php + bootstrap and jquery file in 1 day with a perl script to migrate the data and running on a 1.99$/mo server. Cheap, easy and no worries; handles a lot of traffic for the cost of a cup of coffee, does not need devops and they paid $2k for it to me. This is not the only story; microservices + serverless + the cloud really are excellent for making money, but as you say, no fun and in my experience, no benefit. Just added complexity.
- altdatathrow 6y agoUnfortunately there are a lot of people around these parts who have arrived at the conclusion that the only way to build software today is using all those services and more (I mean, where's kubernetes in that stack?). They will aggressively defend their role which is no longer about creating software but instead entirely about weaving together a myriad of components.
- throwawaygh 6y agoPlaying with legos is easier then delivering value.
- bluejay2387 6y agoI think what has changed is the expectation that work should always be 'joyful'. I don't the majority of employees working in any industry have ever been involved in cutting edge or creative work. Can you imagine what the medical field would be like if the majority of general practitioners started complaining about the fact that they don't get to work in neurology research?
- golergka 6y ago"The brightest minds of our generation are working on making people click ads". Every time I hear this quote, I remember all the small businesses and ventures that only exist because of Instagram, Facebook and Google Ads. Housewives baking cakes, a leatherworker making custom backpacks, a blacksmith restoring antique knives - those are just personal friends of mine who wouldn't be able to build their businesses if not for what those brightest minds of our generation are doing. Is all of this really worthless to you? (Copied over my recent comment on this exact topic, I hope it's OK with the mods).
- agumonkey 6y agoThis whole dillution would be worth a book or two. How culture, economy, technology all evolved to both progress and regress oh so subtly.
- eslaught 6y agoAt least for me, this is exactly why I do personal projects. E.g., here's something random I did a couple weeks ago. It's so simple that it's almost embarrassing to post, but it's: 100% vanilla Javascript no dependencies no cookies 100% client side; no server side state, no ajax state is stored entirely in the URL state is correctly maintained across page loads (i.e. page edits its own URLs to maintain state) Javascript is 100% local, so it's instant and doesn't require any data fetch correctly detects a potentially spoiler-full page load by looking at the referrer (so it doesn't annoy you as you navigate around the site) ... and the entire thing is less than 100 lines of code And it was surprising to me how genuinely fun this project was. I work on compilers/runtime systems for a living and I often get stuck in large code bases. I enjoy what I do, but working with a small codebase that's not massively overabstracted is just so fun. https://exanderproject.com/spoiler-test/ https://exanderproject.com/spoiler-test/ The other thing that stuck me, as I was doing this, was how much the Javascript ecosystem has improved over the last 10-15 years. It was possible to do this in a very small amount of code with no dependencies precisely because of the all the bells and whistles that have been added to Javascript over the years. Maybe this isn't so obvious to someone who has been neck deep in Javascript for 15 years, but as someone who has been mainly in other languages, it was a very noticeable and dramatic improvement. The web platform is way, way nicer to develop for now than it used to be when I first got started. Now I'm trying to figure out what other small projects I can get involved with.
- biztos 6y ago> Programming has become joyless. Over the next year or two I hope to develop a mobile app. After 15+ years of big messy corporate server programming I think this might be the place joy is hiding. I accept that I will probably not make the money I have made gluing clouds together the past couple years. But maybe I can make something useful that people like to use.