As a geek, one generally gets good at fixing things.
An interesting thing about technology, as opposed to say, carpentry, is that generally it’s very very small things that have significant implications. Frequently you spend a lot more time looking for the problem than you do actually implementing the solution.
- The symptoms: your website is taking a long time to load
- Diagnosis: check reproducibility, check server load, check for user error, check server error logs, see strange message in them and google.
- The problem: there’s a memory limit in the webserver program that’s set too low
- The solution: double a number in a config file and restart the webserver program
- The fix: do the solution (takes less than a minute)
One of the downsides of this, is that it’s really difficult to predict how long it’s going to take you to fix something. If fixing the problem is quick, yet correctly diagnosing the problem is much more time consuming, things can be frustrating for end users who ask the perfectly reasonable question:
When will it be fixed?
which as you can see doesn’t really have an easy answer – by the time you’re completely sure you’ve correctly diagnosed the problem, you’ve probably already fixed it.
Someone on reddit very eloquently summed up how you should explain the situation next time:
“Imagine you had lost your keys. You have no idea where they are. Now, tell me, when will you have found them?”
Inspired by a post on /r/sysadmin