Programming Still Sucks
48 points by dubiouslittlecreature
48 points by dubiouslittlecreature
This very accurately summarises my current feelings toward the industry at large. I'm still relatively junior, but have enough experience to notice the general trend away from companies wanting to appear competent in favour of fast growth at all costs.
Every tool I use (with the exception of my editor) is flakey and constantly changing, making muscle memory almost impossible. Every platform feels less-than-half baked, most new products appear almost pointless, and there is a growing apathy towards quality in favour of velocity that really sours my general feelings towards software engineering as a practice.
I know many people still really care. Heck, even some of the people using generative AI heavily do actually care about output. But the trend is very visible, and while I don't particularly fear for my job, I do fear for my passion and my own ability to care any more.
I know many people still really care.
Precisely. I would counter the "trends" we see online are a slice of what's happening. For example, our community does neighborhood marketing instead of social media. The last Seattle meetup hosted Walter Bright and the coffee shop was too packed.. we almost turned some folks away haha.
Another place that appears to discuss AI with sobriety is Zig Day. I'd love to know of other communities.
The silver lining is that it has become somewhat easier to identify the people who care based on their LLM ban policies.
This was my experience well before LLMs came about. Companies over hiring because they needed to fill seats, because it looked good for VC funding, because it looked good on a spreadsheet that is shared with someone 2+ levels and thousands of miles away.
So many "tech" companies have been the blind leading the blind. Worked with a guy 15 years ago at a giant company who came in one day and his entire team had been laid off. He had no clue who to report to, no one knew he didn't have a manager. For 6 months he came into work and browsed the internet, before he got bored and found a new job.
tldr: Programming doesn't suck, companies do
Lately I've been enjoying programming at a human scale for local businesses and professionals in my area. Likewise, offering managed hosting for specific open source software for organizations and SMBs. No LLMs, simple stacks that I can easily maintain and operate, clear boundaries, honest pricing, and easy onboarding and offboarding.
This is contrast with my career at large, which has consisted on working remotely for tech startups and corporations abroad. Thus, I accept remote consulting/contract work sparingly when it's a good fit, and spend the rest of my time doing other kind of work. This compromise has done wonders for my well-being, even if my income hints at the opposite.
What type of programming and managed hosting have you found successful with this approach, and with what types of organizations/SMBs?
The hardest part of this to me has seemed to be to get the organizations to a point where they are not completely reliant on you down the road, both for their benefit and yours.
Ok, the metaphor with the ship fairly captures both the duct-tape-and-glue approach to building software as well as the cheerfully-unhelpful-AI-assistant interaction, but the title (and moral?) don't match my experience at all. I'm a senior coder and enjoy programming every day. It doesn't suck at all.
Github being down all the time sucks, and yak shaving YAML files four inception layers deep to get things to work like they did last October sucks, but at its heart reading and writing code is awesome.
I get paid to talk to business people about their problems, model the solution in my head, read about interesting new (and often old!) technology that might be relevant, then hands-on-keyboard the technique until both the lessons solidify and the business problem is solved. It's really fun! Then I get to present to business people and other coders, and I also really enjoy presenting, so I have fun with that, too.
Maybe I'm Sara in the story, but if that's true then being Sara rocks and perhaps I should spend more time of my day teaching interns cron jobs. I enjoy teaching as much as I enjoy coding and the article makes it sound like that's gotten more valuable, recently.
Maybe I'm Sara in the story
No, I don't think so.
I don't know you, I don't know where you work, but the thing is that I have worked in places not unalike to this. And I'm 58 and remember when things were not the dumpster fire they are now. The key things are that Sara keeps a file on a USB key, the sort of thing I do, and she nurses a scheduled batch job, the sort of thing I have done.
If you use Github, then you use Git; that means you use version control; that means you are not the sort of 50something veteran who keeps stuff on a USB key on her desk, taken from someone else's desk, because 50something veterans know that you can't rely on things like remote websites and complex hairy impenetrable protocols like, say, Git.
If you think an USB key is less complex, and more durable than a git repo that can have any number of full copies at different places, I have some bad news for you.
I've never been a Sara, but I've known and worked with Sara's, and I've the good ones might have a USB with a backup of important stuff, but they also have a git repo, or an old subversion repo, or sometimes even an old RCS directory. When they don't have these things it's often a sign that the process has really been broken since before they even joined, and while they may be doing a heroic job keeping something running that nobody really knows about, they also aren't doing the things that are needed to make sure they aren't the single point of failure. It's not always their fault—sometimes people really are trying to get those to happen but can't get traction for any number of reasons.
My role on this ship has more than once been to go down with a bunch of scuba divers, build a frame work to support the ship, drain the ocean and replace it with something different, and then dismantle the structure without anybody noticing. This is often leads to the discovery that the only reason the ship has been afloat at all is that it is really floating on a sea of mercury, and would have tipped over if there wasn't some depleted uranium weighing down the keel, so we actually need to nail the whole thing to our support structure, drain the ocean, patch the hull, remove the depleted uranium so it won't sink in water, and deal with all the mercury poisoning.
Should be tagged “rant”
I am in my 50s and I am a lot like the guy who’s been catapulted to the ship and honestly - come on. You should have bailed when the ship wasn’t there. You should have known this mob were dodgy. You took the job, you take the money, that’s how it works.
Some jobs are awesome, some suck. You don’t think tradies have bad gigs? You ever imagine being the people who do the bathroom tiling for a massive apartment building? The folks who hang the lights or run the cables? The plumbers? How many days does it take to hang 5,000 light fittings? Install 500 toilets? Can you even imagine it? Dear god, we have it so easy.
There are plenty of shitty things in the world, there are plenty of things wrong with corporate software engineering, there are plenty of terrible jobs, AI is a nightmare, it’s all true.
When the job gets stuck, which it does regularly, she gives it a nudge and it tries again. The phone rings. She acknowledges the issue. She gives the nudge. The job depends on a module that's been lost to time. Well, almost, because she has a copy on a USB stick she found in Ben's desk after his passing. No agent has touched it. None ever will.
Sara needs to get her shit together and fix the goddamned cron job properly.
If the point of reference is programming in tech companies, it always had problems and typically produced things that are bad, and a sufficient reason enough is that one is structurally not allowed to talk to any users ever.
Some people like to explain this with words like «alienation» and «labour», and they seem to say that this kind of problem is not limited to programming.
Programming in a small team supporting something in a bigger organisation which does not loop completely onto itself is much better. Programming tools that one personally uses is also much better.
And I've worked at enough companies that started out with in-house tools (ticket system, or time tracker, etc.) that were a pleasure to work with, but upper management decided to drop in favor of outsourcing the tools (mumble mumble capex blah blah opex yada yada). I swear, SaaS companies must use hookers and blow to make sales like they do ...
Fully in-house developed? Even well-customised Redmine is at risk (and much better then approximately all SaaS)!
But some workflows are core enough to be idiosyncratic enough that at least the better upper management does ask how will setting up a SaaS replacement work. Then, after a well-justified work estimate for a switch stretching beyond planning horizon, quietly switches to the next bright idea…
Fully in-house developed?
Yup. The first time was a trouble-ticket system, developed in-house, for a major web hosting company in the early 2000s. It was good, because the team doing the development for it also used it. I don't recall what the company switched to (since it was over 25 years ago) but I do know it was not a popular decision by the lower rank and file who had to use it (while upper management probably never used it, but mandated the switch anyway. Gotta save those beans!).
The last time at my previous job, a time tracking system. It was okay, and you could easily tab through the fields before submitting it. Again, got the ax and replaced with some SaaS crapware, where not only could you not tab among the fields and had to use the mouse, but you couldn't even enter a field, and use the mouse to focus on the next field because that would lose input. No, you had to focus a field, input, then click outside every field and only then, click on the next field. What used to take less than a minute updating now took several. Of course, upper management never had to deal with that piece of crap, but I'm sure the idiot who pushed for it got his hookers and blow.