2 ms·
Not all problems are solvable, not all are worth solving. Not all need to solved fully and not all of those even need to be done automatically. You often don'
by IanCal 3y ago
Not all problems are solvable, not all are worth solving. Not all need to solved fully and not all of those even need to be done automatically.
You often don't need to solve the problem to provide some business benefit.
So. Can you break it down at all? Is there some part of it that has a business benefit?
Can you do it manually, what's the trade-off of time and cost? Can you document it to make it a manual task for a lower level employee?
If not worth doing manually, often it's good to do some of it manually a few times so you get an idea of what's the same / different for different situations.
Can you automate the same parts?
Can you find a way to deal with some cases where it differs?
Can you now solve any of the remaining pieces?
This process can often be done with manual scripts, I forget the right term, where you create a script that prints out what the user should do and asks them to press enter when they've done it. You can then automate parts of it over time.
This kind of process helps have a useful output at all stages whenever a higher priority problem comes along. It's also easier to come back to it in a few months.
And if not, if you can't even do it manually it pushes it more towards unsolveable.
For problems that don't fit this kind of process, I often leave the problem to settle in my mind and talk it through while walking somewhere. Explain to imaginary people what we're doing what we can't do etc. Kind of like rubber duck debugging.
Prototypes, just trying can be good.
Most of all if you can, get an idea of the value of solving it and the value of your time. That helps put an upper bound on how long you should ever spend on it. A problem that causes a £10/mo extra aws charge a month is fundamentally not worth solving for almost any developer salary.
Finally, it's ok. It's ok if the problem can't be solved. It's ok if it's not worth it. It's ok if someone else sees the answer easily.