4 ms·
A simple solution to a complex problem is what I strive for every day as an electrical power engineer. It makes it easier for my co-workers, customers, and anyo
by generatorguy 7y ago
A simple solution to a complex problem is what I strive for every day as an electrical power engineer. It makes it easier for my co-workers, customers, and anyone responsible for keeping the power on in the next 50 years to understand how something works and be able to fix it if it breaks or build off of it if more capacity is required or it can be reused on a different project.
I am sad that top tier software engineering environments have lost sight of the value of simplicity. Perhaps it is doomed to become the dismal engineering, like economics is the dismal science, that never quite seems to have the answers for economics, or never supplies software that is finished and bug free for software engineering.
- BeetleB 7y ago> I am sad that top tier software engineering environments have lost sight of the value of simplicity. I worked in a top tier engineering environment (not SW). The problem was the same there. They valued the complexity of the solution, not the impact it had on the business for solving the problem. I think this is generally a problem in large companies. In a tiny company the impact is much more apparent to the bottom line. Whereas in a big company, it's hard to see how much difference your solution made in the big picture because there are plenty of other bottlenecks in the pipeline (and out of your control).
- Zach_the_Lizard 7y ago> I am sad that top tier software engineering environments have lost sight of the value of simplicity. I agree, but a more charitable reading is that they want you to demonstrate that you can deliver a complex solution if that's the only way to get things done. Complexity is highly subjective, of course. Suppose I need a distributed atomic counter service. After doing a lot of research, I come to the conclusion that the best solution is to write a wrapper around something in AWS or GCP but structure things in a way that other teams can use it. Other teams are now less likely to need to do that research and can just get stuff done. But the actual implementation is very simple. Is that complex? Maybe, maybe not. This does provide a perverse incentive to continuously reinvent the wheel, though, which is the worst part of it. Why not re-implement the low level goodies in DynamoDB if that'll increase the odds of promotion? Many engineers think along those lines.