You forget that a printer is a computer with an operating system, various languages, various memory configurations, a horde of real world sensor interfaces, various user interfaces, networking interfaces, communication protocols, all of which must integrate with that incredibly complex computer world that you describe. In that, printer problem solving is even more of an art. LOL.
No. No, I'm not. Yes, it has a computer, but it's standarized for that model, especially if we're talking old HPs. Yes, it has various languages, but those are either in the hardware or through a driver: and the driver's on the computer. Sensor interfaces? Again, standardized hardware for that model, as are user interfaces. Networking interfaces? You just have to remember that the JetDirect is for THIS model, not THAT model (and it's a component part that you remove when troubleshooting; I can successfully argue that it's not necessary for the function of the printerer and that it's its own mini computer interface, especially as one JD can be used for multiple models of printerer). Network protocols? Again, more a function of the NIC and the computer you're connecting the printerer to.
However, it's not that I'm saying that a printerer isn't difficult to fix: if you're stripping it to bare metal, which I've done once (I never have found it necessary to strip a machine to the bare metal except for this one instance, but I wasn't trying to restore the unit, either), you know you need to find the broken part(s) replace it OR that if the printerer does X, there's a flowchart in the HP repair manual on what to do/replace and if you replace the right thing, the printerer works. Connecting it to a computer and havening the printerer successfully communicate with it and vice-versa is the trick ...
... which leads us back to the strained example I was attempting to make: there is a certain set of instrument problems that can be easily fixed by saying, "If there's a problem with X,
always do Y." However, I think there are some things in an overhaul where Y is not well defined and needs tweaking, such as, "Player has had his pinky broken two times and can't press down the G# if the spring is too tight. We need to remember to loosen that spring and/or install a modification to make that key easier to use -- and make sure he tests it before we say that all is good."
A flowchart is like a recipe: just follow the steps. However, if you encounter a problem at one of the steps, that's going to separate "good tech" from "robot following instructions".
Here's a
however, based a bit on what SOTDO mentions: if a user tells me, "Computer broke. Please fix." That means that I can do ANYTHING I think is necessary. If a user gives me a
time limit, I'll honestly tell the person what I can do to fix his problem in the time indicated and determine if that's all good before doing anything. If a user tells me
just to fix one problem, I'm not going to be fixing a different problem, unless the different problem is affecting (or caused by) the original problem OR if the repair will be done during his own time and everything else is done (I charge hourly rates, after all) OR if I've contacted the user and he says it's OK.
I've had more than one person tell me, at work, "I have X broken. Please fix, but you can't reimage (remove and reinstall everything) it." I do my best to comply and if I get to a point (or initially determine) that I can't comply with the user's wishes, I'll tell him.
Just remember that your definition of fixed, the dictionary definition and MY definition might be three different things. Going back to the world of printerers, if you repair an 8150 and it prints great after the restore, but it's noisy, is it "fixed"? Hey, if the noise levels are within HP's specs and the user complains, is it "fixed"?
(I tend to have a point, but it takes me a while to get there
)