News for hackers. Stuff that matters.
Re:Imaginary Problems Are the Root of Bad Software by dtagames on Sunday June 18, 2023 @11:40AM (#36381239)
The author hits the nail on the head with his claim that imaginary problems are more fun than real ones.

As developers and smart folks in general, we like complicated problems that are big and far away. How many times have I heard in a meeting, "Yeah, but when we have 1M users..."

It's great fun to think your product will get to 1M users. It's also very unlikely. It's not nearly as fun to finish and ship and market and monetize the half-broken thing the team is working on now. Yet that's the only way out and the only way anyone gets to 1M users to begin with.

Re:Imaginary Problems Are the Root of Bad Software by icedchai on Sunday June 18, 2023 @12:14PM (#36381557)
Reminds me of a PM I used to work with. "Will this work for 1000 simultaneous users?" After almost 2 months, we have less than 100 users total, maybe 5 of them log in a day, and maybe 1 will actually do anything of interest.

There is no technical problem. The problem is nobody worked on actually marketing the product. Build it and nobody shows up is the norm.

Re:Imaginary Problems Are the Root of Bad Software by mnd999 on Sunday June 18, 2023 @12:35PM (#36381780)
I’ve worked somewhere like that. Our baseline requirements for concurrent users were based on the numbers required for the product launch team to maximise their bonus.

We never saw anywhere near those numbers in production, but I don’t really blame them - it was a big company and you do what you can to get ahead. A lot of money was spent on infrastructure that wasn’t needed but nobody seemed to care.

Re:Imaginary Problems Are the Root of Bad Software by codegeek on Sunday June 18, 2023 @01:44PM (#36382459)
""Will this work for 1000 simultaneous users?""

Whenever someone asks me this question, I reply with a question "How many simultaneous users do you/we have today and what is our projection say for 12-18 months from now ?". If the answer is not clear, I tell them not to worry yet. If the answer is very clear but numbers are much smaller today (say 5-10), then I challenge them on where they think they/we could be in 12-18 months. A lot of times, it helps the other side see that they are mostly asking "How long is a piece of string".

Re:Imaginary Problems Are the Root of Bad Software by TuringNYC on Sunday June 18, 2023 @02:21PM (#36382840)
I was interviewing with a company that had barely any customers and they were asking scaling questions with Spark, etc. The salaries they paid could barely hire a team capable of dealing with the complexities of Spark, so they asked, "what would you do."

I told them I'd buy another stick of RAM and scale vertically until I had more customers, and save money on staff in the meantime. The interviewer went cold, I didnt get the job.

Re:Imaginary Problems Are the Root of Bad Software by baq on Sunday June 18, 2023 @02:38PM (#36382995)
Sounds like a dodged bullet.
Re:Imaginary Problems Are the Root of Bad Software by icedchai on Sunday June 18, 2023 @07:12PM (#36385502)
About 10 years ago, I worked on a project where I had to develop some sort of elaborate chain of map/reduce jobs because "big data" and "Hadoop." We were processing about 10 megabytes for each run. Most of the processing was consumed in job scheduling / overhead.
Re:Imaginary Problems Are the Root of Bad Software by tetha on Sunday June 18, 2023 @12:26PM (#36381687)
And people underestimate how well some solid, dumb solutions can scale. Boring spring boot with a decent data model and a bit effort to stay stateless scales to the moon. Or, we're having a grand "data export" system customers use to collect data from us for their own DWHs. It has survived 2 attempts at replacement so far. At it's core, it's psql + rsync, or was recently migrated to psql + s3 when we decomissioned our FTP servers. And it's easy to extend and customers are happy because it integrates well.
Re:Imaginary Problems Are the Root of Bad Software by tyingq on Sunday June 18, 2023 @12:31PM (#36381746)
Yep. Facebook got pretty far down the road with PHP, MySQL, memcached, etc.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @12:43PM (#36381861)
All they had to do was write a PHP compiler and a new storage engine for MySQL.
Re:Imaginary Problems Are the Root of Bad Software by tyingq on Sunday June 18, 2023 @12:47PM (#36381892)
HipHop (later HHVM) was around 2010, so they scaled from 2004-2010 before that became needed. MyRocks was 2015. Wikipedia says FB was around 300 million users in 2009, then 400 million users in 2010.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @01:07PM (#36382091)
Yes, good point. But you have to wonder what kind of engineering effort went into scaling PHP and MySQL up to the point where they decided to build a compiler and a storage engine.
Re:Imaginary Problems Are the Root of Bad Software by rafark on Sunday June 18, 2023 @02:21PM (#36382828)
When you have half a billion users that both read and write all day, you have to optimize, no matter the tech.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @02:39PM (#36383002)
That is undeniably true, but I do think the starting point still matters.
Re:Imaginary Problems Are the Root of Bad Software by disgruntledphd2 on Monday June 19, 2023 @08:45AM (#36390450)
It was much, much, much cheaper than a rewrite would have been, that's why they did it.

Edit: also, in 2004 when they got started, what else could they have used?

Re:Imaginary Problems Are the Root of Bad Software by ericbarrett on Sunday June 18, 2023 @12:59PM (#36382009)
The trick was there was enough growth that the savings from the compiler were massive. (I worked there at the time.) The inefficiency of the PHP interpreter was a great problem to have, because it came from the success it enabled.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @01:46PM (#36382478)
So I think the interesting question is whether the rest of us can learn anything from what happened there.

I believe Mark Zuckerberg simply used the technology he knew and took it from there. That's fine. I probably would have done the same thing.

But many people are making an ideology out of this, arguing that not giving a shit about performance is always the right choice initially because that's how you grow fast enough to be able to retool later.

I think this is based assumptions that are no longer true.

In the early 2000s, mainstream programming languages and runtimes were either fast and low productivity or slow and high productivity (Exceptions such as Pascal/Delphi did exist but they were not mainstream). And the cost of scaling up was prohibitive compared to scaling out.

Today, you can choose any fast high productivity language/runtime and go very far mostly scaling up.

Re:Imaginary Problems Are the Root of Bad Software by rafark on Sunday June 18, 2023 @02:14PM (#36382750)
Learn what? That you should use the language that you’re more comfortable with and then scale? Or that languages have become more efficient? Php 8, for example, is many times faster than the php 4 and 5 that Facebook was using.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @02:37PM (#36382989)
I think using what you already know remains a choice that is very hard to criticise. But we didn't have to learn that, did we?

Beyond that I think there is more to unlearn than to learn from the history of the Y2K batch of startups. The economics of essentially everything related to writing, running and distributing software have changed completely.

Re:Imaginary Problems Are the Root of Bad Software by noir_lord on Monday June 19, 2023 @07:42AM (#36389868)
In part the reason that PHP8 (and it was 7 that had the quantum leap in perf) are now so fast is precisely because of Hack - it was easy to accept the status quo on performance until Hack showed there really was a lot of performance left on the table.

For me the biggest win was the changes they made to how arrays are stored in memory, I saw some systems drop by half in memory usage and had to change basically nothing - those kinds of wins are rare.

Re:Imaginary Problems Are the Root of Bad Software by rafark on Monday June 19, 2023 @09:52PM (#36398777)
Yeah, I know the performance optimization were in part because of hhvm.
Re:Imaginary Problems Are the Root of Bad Software by ericbarrett on Sunday June 18, 2023 @03:21PM (#36383442)
I take away two lessons from it, which are in a kind of essential tension that can only be mediated by wisdom and experience:

1) Pick technologies that you can optimize.

2) Don't over-optimize.

Also, the concept of "optimization" here has very little to do with the language itself. It's far more about the overall stack, and it definitely includes people and processes (like hiring). It's not like FB invested $0 toward performance before swapping out PHP interpreters! Its massive caching layer, for example, was already taking shape well before HPHP (the C++ transpiler which preceded HipHop), not to mention the effort and tooling behind the MySQL sharding and multi-region that still exists in some form today. Many backend FB services were already written in C++ by 2010. But they had already gone very, very far—farther than most businesses ever will—on "just" PHP. Heroics like HPHP only happened after enormous pipelines of money were already flowing into the company.

Re:Imaginary Problems Are the Root of Bad Software by ilyt on Sunday June 18, 2023 @02:02PM (#36382647)
Did they succeed because of PHP or was it just a tech used at the time and anything else similar at the time would be fine either way?
Re:Imaginary Problems Are the Root of Bad Software by rafark on Sunday June 18, 2023 @02:18PM (#36382798)
They succeeded because of php. It was easy to use for them. So it enabled them to materialize their ideas. It was the right tool for them. Anything else would have been fine either way, if it was the language they were the most comfortable with. In their case, it happened to be php.
Re:Imaginary Problems Are the Root of Bad Software by mikebenfield on Sunday June 18, 2023 @02:37PM (#36382991)
Well, OK. But by that logic, if the language they had been most familiar with was Fortran, should they have used Fortran for Facebook? I tend to think that there are actually material differences between languages and technologies, and it's worth knowing more than one language and not using terrible ones.
Re:Imaginary Problems Are the Root of Bad Software by rafark on Sunday June 18, 2023 @02:51PM (#36383145)
“ But by that logic, if the language they had been most familiar with was Fortran, should they have used Fortran for Facebook”

Absolutely. Otherwise they wouldn’t have been able to release the actual product and keep adding features to it the way they did with Facebook. They’d spend half the time learning the “right” language & environment. That would have slowed them down to the point they wouldn’t have been able to work on the actual product as much as they did.

And feature-wise, Facebook evolved really quickly.

Re:Imaginary Problems Are the Root of Bad Software by ilyt on Sunday June 18, 2023 @06:04PM (#36385003)
That just sounds like "they succeeded because they knew a programming language", not that it was right one compared to competition
Re:Imaginary Problems Are the Root of Bad Software by rafark on Thursday June 22, 2023 @10:39PM (#36442167)
No, they totally succeeded because the used php. I think zuckerberg said it himself that php allowed them to add new features easily. I think he mentioned that it was easy for new people to pick it up. I’m pretty sure Facebook wouldn’t exist today if it had been written in the more corporate/esoteric languages available at the time.

Its ease of use allowed him to launch the site from his dorm room. Iirc, YouTube was also written in php (it had .php urls), before google bought it and rewrote it using python, so you could probably thank php for that site too.

Re:Imaginary Problems Are the Root of Bad Software by rafark on Thursday June 22, 2023 @10:52PM (#36442251)
Just checked. It appears it was indeed first written in php then changed to python then to java.
Re:Imaginary Problems Are the Root of Bad Software by ericbarrett on Monday June 19, 2023 @11:00AM (#36391830)
I don't think there was anything similar to PHP that wasn't proprietary (Cold Fusion etc.), and FB engineering culture was to avoid vendor lock-in.

In any case, in the 2000s a PHP programmer/designer was analogous to a JavaScript developer today. Lots of talent out there, and it only took a few weeks of orientation and familiarizing for new hires to be productive.

Re:Imaginary Problems Are the Root of Bad Software by cagenut on Sunday June 18, 2023 @01:00PM (#36382030)
your comment implies your understanding of the timeline is backwards. they had to do those things after they had gotten hundreds of millions of users.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @01:38PM (#36382411)
Depends on what you consider "far down the road" and what they had to do before writing a compiler and a storage engine.

How long did it take until Facebook engineers realised that their technology stack was not the best tool for the job? It definitely wasn't the day when they decided to build a compiler and a storage engine.

Re:Imaginary Problems Are the Root of Bad Software by tyingq on Sunday June 18, 2023 @01:47PM (#36382495)
I'm not sure there was really a best tool for the job in 2003-2004 that would have been high-level enough to be productive, and scalable enough to stay mostly as-is. Java, maybe.
Re:Imaginary Problems Are the Root of Bad Software by fauigerzigerk on Sunday June 18, 2023 @02:01PM (#36382629)
I agree, and I'm not criticising the choices that Mark Zuckerberg made at the time. But we are no longer facing the same situation he did. We do now have high productivity, high performance language runtimes. And scaling up has become much cheaper (relative to the number of users you can serve).

That's why I think it can't hurt to remind people of the great lengths to which Facebook had to go in order to deal with the limitations of their chosen platform.

Re:Imaginary Problems Are the Root of Bad Software by balder1991 on Sunday June 18, 2023 @09:33PM (#36386321)
Yeah, I kinda don’t agree with the dichotomy of “you either optimize or you build features”. They’re not exclusive. If you understand the tools and their trade offs you should be able to use the right tools for the job which won’t hinder you in the future.

Of course if all you know is JavaScript, then that requires going a bit outside your comfort zone.

Re:Imaginary Problems Are the Root of Bad Software by phkahler on Sunday June 18, 2023 @01:04PM (#36382065)
>> And people underestimate how well some solid, dumb solutions can scale.

I think this started with the old Apache web server. When the www got started, that server did the job so everyone used it. The problem was it didn't scale, so all kinds of cool solutions (load balancers and such) were developed and everyone building something bigger than a personal blog used that stuff. For most the root problem was that Apache had terrible performance. Nginx has solved that now, and we also have faster hardware and networks, so anything less than HN can probably be hosted on an rpi on your home network. OK, I'm exaggerating, but only a little. Bottom line is that scaling is still treated like a big fundamental problem for everyone, but it doesn't need to be.

Re:Imaginary Problems Are the Root of Bad Software by ilyt on Sunday June 18, 2023 @02:11PM (#36382721)
> And people underestimate how well some solid, dumb solutions can scale.

I'd say they underestimate how long "just throwing money" (servers) at the problem can work.

If you earn decent money now, scaling number of app servers 10x times to serve 10x times the traffic will still earn decent money. Doesn't matter that "PHP is slow", deal with it when your infrastructure cost warrant hiring more/better developers to fix it.

Especially now. Pair of fat servers on some NVMes and 1TB of RAM gonna cost you less than few dev-months and that can serve plenty of users in most use cases even before any extra caching will be needed.

Re:Imaginary Problems Are the Root of Bad Software by waboremo on Sunday June 18, 2023 @02:56PM (#36383190)
Even then, you don't have to throw money at the problem right away. If you feel you can save time and money by using Rust instead of PHP (just using the two languages as examples, not a specific indication of Rust or PHP's resource drain), go ahead. Making that decision early on costs nothing.

It's only after a project is off the ground that caring about these decisions winds up wasting everyone's time, that's when you wind up slowing momentum tremendously due to dangling a potential new toy in front of your team.

Re:Imaginary Problems Are the Root of Bad Software by Cthulhu_ on Monday June 19, 2023 @07:00AM (#36389603)
> And people underestimate how well some solid, dumb solutions can scale.

And overestimate how expensive it is to just add another server, or underestimate how expensive a rebuild is. But then, part of that is also that IT departments want the budget; if they don't spend their annual budgets on innovation, their budget gets cut.

Or in my neck of the woods, the EU subsidies will stop if they don't have anything they can file as "innovation".

Re:Imaginary Problems Are the Root of Bad Software by Dudester230602 on Sunday June 18, 2023 @12:29PM (#36381727)
Reddit has 1M users and is half-broken, yet monetization is still a problem.
Re:Imaginary Problems Are the Root of Bad Software by eddythompson80 on Sunday June 18, 2023 @12:46PM (#36381878)
Re:Imaginary Problems Are the Root of Bad Software by Dudester230602 on Sunday June 18, 2023 @12:47PM (#36381897)
1M+ was implied. I am sorry I forced you to go on a stats-collection side quest.
Re:Imaginary Problems Are the Root of Bad Software by eddythompson80 on Sunday June 18, 2023 @01:04PM (#36382064)
So what’s your point exactly? The type of problems you have to solve for 1M users is completely different than 500M users including profitability.
Re:Imaginary Problems Are the Root of Bad Software by tracerbulletx on Sunday June 18, 2023 @12:52PM (#36381931)
This is why I think running a small business was the best thing I ever did for my software career.
Re:Imaginary Problems Are the Root of Bad Software by neon_electro on Sunday June 18, 2023 @03:05PM (#36383281)
How do you manage sales?
Re:Imaginary Problems Are the Root of Bad Software by okwubodu on Sunday June 18, 2023 @01:00PM (#36382026)
I'm currently porting some C code to a pseudo-embedded RISC-V target that only officially supports Rust. Every combination of those words introduces a new set of problems, and the struggle to not go for style points while filling those gaps is half the battle.

A lot of us think we're above doing things a certain way, but I've found outdumbing problems tends to look the same as outsmarting them.

Re:Imaginary Problems Are the Root of Bad Software by _fat_santa on Sunday June 18, 2023 @01:01PM (#36382043)
As a solo dev on a project, I constantly re-evaluate whether the thing I am working on is beneficial to my users or if it's an "imaginary problem" as this post describes. In a large software project you always have a laundry list of things to do from: "fix the date format on this email template" to "implement a better feature flag system". While I'm tempted to always work on the "fun stuff" (the feature flag system), I make myself work on the "boring stuff" (fixing the date format on an email template) because I know that's what users need. Occasionally you get an intersection where the cool fun an interesting problem is also the most pressing one but I found those times are few and far between and most times I have to decide between the "cool fun [imaginary] problem" and "the boring [real] problem".
Re:Imaginary Problems Are the Root of Bad Software by mkl95 on Sunday June 18, 2023 @01:06PM (#36382083)
I recently added a couple of constants to some project. One of my teammates said it wasn't a good idea, because we could have hundreds of similar constants eventually.

Those constants represent the markets supported by that app. By the time the app supports even a few dozen markets, every engineer involved will have exercised their stock options and left.

Re:Imaginary Problems Are the Root of Bad Software by muskmusk on Sunday June 18, 2023 @01:09PM (#36382117)
> The author hits the nail on the head with his claim that imaginary problems are more fun than real ones.

Not necessarily. It's just that most developers have never worked in a setting where they got to work on problems properly.

Solving real problems for real people is very addictive. There is a reason some people like working for startups. It's because you live very close to your users and when you make them happy you know.

The second interesting fact is that if you just plow ahead and solve many real problems fast you will eventually run into problems that are both real and interesting.

After having tried that there has been no going back for me. I am allergic to imaginary problems. It feels as pointless as watching people who are famous for being famous argue on TV.

I think we are all victims of our feedback loops. (University) Education sublely teaches us that the only important problems are those that are very difficult and preferably have never been solved before. Those same problems also make for better blogposts. In the real world the incentives are mostly opposite. Problems with no known solutions (or only really difficult solutions) are generally bad. They can be worth it, but you should stay away from them until you know that are worth it. Software engineers seem to almost pride themselves on not knowing what their users want.

It takes a while to scrub all that bad learning out and replace it with something better. Unfortunately some people are stuck.

Re:Imaginary Problems Are the Root of Bad Software by sliechty on Sunday June 18, 2023 @07:11PM (#36385497)
> Solving real problems for real people is very addictive.

This was the feedback loop that worked best for me. imaginary problems and needless complexity go hand in hand, ruthless editing at the planning stage is necessary to combat it.

Re:Imaginary Problems Are the Root of Bad Software by TehShrike on Sunday June 18, 2023 @10:44PM (#36386774)
Second this.

The endorphins from making someone's job less sucky are a way better high than solving some code puzzle.

Re:Imaginary Problems Are the Root of Bad Software by nr378 on Monday June 19, 2023 @07:42AM (#36389870)
> (University) Education sublely teaches us that the only important problems are those that are very difficult and preferably have never been solved before. Those same problems also make for better blogposts. In the real world the incentives are mostly opposite. Problems with no known solutions (or only really difficult solutions) are generally bad.

This is a great insight. One can add value to other people's lives by applying known solutions in relatively novel contexts (e.g. building a CRUD form at XYZ employer), whereas it's very hard to add value to other people's lives by trying to develop entirely novel solutions (because the probability of success is so low). Most of our training however, focuses on the methodology used to develop these novel solutions, rather than on the application of the solutions themselves.

Re:Imaginary Problems Are the Root of Bad Software by paleotrope on Sunday June 18, 2023 @02:02PM (#36382640)
I am dealing with that today. Talking about scaling out to hundreds if not thousands of aws accounts and I'm like, "we've added 6? in two years?" Why are we wasting time on this?
Re:Imaginary Problems Are the Root of Bad Software by TillE on Sunday June 18, 2023 @02:03PM (#36382654)
I remember having a similar argument with someone saying that your C code has to compile and work on every platform that exists, including weird CPUs with known bugs.

Unless you're working on something like the Linux kernel, that's an imaginary problem.

Re:Imaginary Problems Are the Root of Bad Software by lmm on Sunday June 18, 2023 @06:46PM (#36385319)
"Newer versions of the compiler build your code with security vulnerabilities" is a very real problem in C. E.g. since x86_64 has no aligned memory access instructions, a lot of programmers assume there's nothing wrong with doing unaligned memory accesses, but actually recent gcc/clang will happily compile those into RCE vulnerabilities.
Re:Imaginary Problems Are the Root of Bad Software by chefandy on Sunday June 18, 2023 @02:11PM (#36382717)
I worked with a project manager that went too far in the opposite direction, though. Their pushback against premature optimization manifested in wanting to start with a functionalish "proof of concept" without any real design phase so they can say we cranked out an MVP in the first sprint... and before you know it, like most non-blocking technical debt, the "migrate functionality to final codebase" kanban card moves to the "long term goals" column (aka trash) and you're stuck with a shitty, fragile producion codebase. The opposite side— trying to get everything into a final state right off the bat— it is like trying to play an entire 8 measure song in one measure.

At the beginning of a project, before I write a line of code, I try to: a) if it's user-facing software, get some UI designer input to shape functionality/interactions, not styling. To end users, the UI is the software, not just the shell, so mediocre UI = mediocre software. It can also illuminate needs you didn't consider that affect architecture, etc.; then b) block out the broad stroke architecture, usually on paper, c) intentionally choose languages/environments/tooling/etc rather than reflexively going with whatever we've been using recently, and d) spend some design time on a reasonably sane and extensible, but not overly detailed data model.

There's no perfect solution, but at least in my cases, it seems like a good middle ground.

Re:Imaginary Problems Are the Root of Bad Software by jtriangle on Sunday June 18, 2023 @03:18PM (#36383403)
The trouble is, an 'MVP' is often far from 'minimum' in those sorts of situations.

The reality is that MVP should be missing most planned functionality and should really just be a few core features and functions that the rest of the application builds off of, the trunk of the dependency tree so to speak. That idea is, unfortunately lost on the majority of PM's, and ultimately it costs more time/money to get to a finished v1 because of it.

Re:Imaginary Problems Are the Root of Bad Software by chefandy on Sunday June 18, 2023 @05:08PM (#36384490)
It was actually the appropriate scope for an mvp, it was just an unreasonable time frame to make a solid codebase for anything other than a demo for the complexity of the project. That's fine for a genuine proof of concept/rapid prototype you're going to be disciplined enough to trash, but letting that slip into the role of your core codebase is like pouring a sloppy scaled-down concrete foundation as a test for a house, and then trying to just expand it into what you need.
Re:Imaginary Problems Are the Root of Bad Software by qaq on Sunday June 18, 2023 @02:33PM (#36382941)
Now you have a whole bunch of New SQL databases that will scale past whatever number of users you can imagine. So your good old Django or Rails app can scale to 1M or 10M users without you doing anything exotic. That's not "fun" though.
Re:Imaginary Problems Are the Root of Bad Software by wasimanitoba on Monday June 19, 2023 @06:56AM (#36389587)
I wonder if you've ever seen this classic video mocking such marketing claims which is called "MongoDB is Web Scale": https://youtu.be/b2F-DItXtZs
Re:Imaginary Problems Are the Root of Bad Software by qaq on Monday June 19, 2023 @08:36AM (#36390363)
Have you ever seen Spanner? things don't stay static. And yes I have seen those vidoes since I've being doing web dev since 1999.
Re:Imaginary Problems Are the Root of Bad Software by astrobe_ on Sunday June 18, 2023 @04:53PM (#36384343)
Not the first time the issue has been pointed out:

> Simplify the problem you've got or rather don't complexify it. I've done it myself, it's fun to do. You have a boring problem and hiding behind it is a much more interesting problem. So you code the more interesting problem and the one you've got is a subset of it and it falls out trivial. But of course you wrote ten times as much code as you needed to solve the problem that you actually had.

[1] http://www.ultratechnology.com/1xforth.htm

Re:Imaginary Problems Are the Root of Bad Software by Cthulhu_ on Monday June 19, 2023 @06:58AM (#36389599)
I think this is an attitude shift that a lot of developers need to get over. They like writing code, they like working with computers, and they pick that to do as their day job.

But their day job actually isn't writing code, it's solving a problem for an end-user; the programming language is just a tool.

Rethink your job from a coder to a problem solver and you should be able to get over the compulsion to overcomplicate things for your own gratification.