3 ms·
No, its usually over complicated. Usually the ones creating the over complicated solution lack the skill set or unaware of the simple solution, or are scared of
by not_the_fda 4y ago
No, its usually over complicated. Usually the ones creating the over complicated solution lack the skill set or unaware of the simple solution, or are scared of the simple solution because its unfamiliar territory.
For example, I was asked to first guide and finally take over a project that went south. It was a simple control system. The person doing the work was unfamiliar with PIDs, I tried to guide them towards that solution, but it was unfamiliar territory for them and they thought they could do better with their own solution.
They ended up creating a very complicated non-functional mess, and were insistent that it was impossible to solve simply. 10 lines of PID later it was under perfect control.
- nonethewiser 4y agoIf it only took 10 lines why not show them how easy it is before letting them create this mess?
- not_the_fda 4y agoI did, some people only learn by failing.
- trashtester 4y agoThe worst ones never learn, even when failing, but have the charisma to convince everyone else to fail in the same way.
- Robotbeat 4y agoI think sometimes it’s overcomplicated because there’s no one with sufficient authority to challenge the original framing of the problem and requirements, and part of the requirements/problem are in the hands of people who literally don’t know what they’re doing and may have misaligned incentives. For instance, I’m flying to the other side of the country with a team to do an experiment at a vendor’s location because the safety folks at my current location are inexperienced and are working with a contractor who has zero experience installing the appropriate safety equipment at my location and it has been stuck in discussion for about two years after the scope has increased an entire order of magnitude. One person with sufficient authority and courage could have cut the Gordian knot a year ago and improved the efficiency of the entire project a good order of magnitude.
- yunwal 4y agoThis strikes me as the most common issue, along with the issue of the person defining the problem and requirements being erratic. Often people end up using versatile-but-complicated solutions because they're afraid the requirements will shift too much.
- hbrn 4y agoTrue. A lot of overcomplicated solutions start from good intentions. Funny thing is, I found it much easier to challenge the original framing with upper management than with my peers. - (me) Hey, if we sacrifice this feature, we can ship the whole thing twice a fast. - (ceo) Fuck yeah, lets do this. vs - (me) Hey, this seems to be solving a lot of the problems we don't have today, how about we keep it simple and leave only what matters? - (engineer) This is best practice, simpler solution is an anti-pattern. - (engineer) Google is doing it this way. Do you think you're smarter than Google? - (engineer) But I already built it, why change it to something inferior? - (engineer) My solution is very flexible, it allows changing database to a toaser with a simple configuration. It has unit-tests and mocks. Are you saying all of that was for nothing? And yeah, it's mostly misaligned incentives. Solving complex problems makes engineers happy. When we don't have complex problems, we invent them.
- extasia 4y agoWhat is PID?
- defrost 4y ago> A proportional–integral–derivative controller (PID controller or three term controller) is a control loop feedback mechanism widely used in industrial control systems and a variety of other applications requiring continuously modulated control. Think of it as smooth ramp up | ramp down response to change, pressure, volume in industrial process control systems. eg: https://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=ControlPID https://ctms.engin.umich.edu/CTMS/index.php?example=Introduc...
- genewitch 4y agowhile "defrost" quoted wikipedia, a PID controller is used to prevent oscillations in equipment that have changing load. Say a milling machine that slows a bit when the tool interfaces the workpiece, so a "dumb" controller would just increase spindle RPM, but now the spindle is overspeed when the tool is lifted from the surface - say to move to a different area - and so the dumb controller slow the spindle down. Either the spindle is moving too slow or too fast per the work's spec sheet, and you get a piece of metal launched into the innards of the machine somewhere. The proportional part is similar to a "dumb" controller - spindle slow, speed up spindle. The Integral part will increase the rate at which the spindle changes speed the longer the spindle remains the wrong speed, and the derivative part of the controller attempts to prevent oscillations of spindle speed.