Your Support Team should have a standard set of items they automatically collect when a customer raises an issue. By the time you get your hands on the problem you should have details of the customer environment, including any bespoke tweaks that they have. You should have log files and dump files if appropriate, clear steps to reproduce, actual outcome and expected outcomes; you may even want database backups. You can never have too much information, because generally you find that fairly quickly you can filter out the irrelevant and focus on the valuable.
Insensibly one begins to twist facts to suit theories, instead of theories to suit facts. You cannot come to an issue with a conclusion already made. You must analyse all the data; which means you need to have an excellent Support Team that will get you this.
Take time to look at the errors, the logs, the databases, the environment, that the software is running in. I have seen many situations where we have had two customer issues and the symptoms appeared to be the same, but after analysis it became clear that they had different causes. Reproduce the error. The Support Team need to have the skills and information to be able to at least attempt to reproduce the issue in a simplified environment.
The means the Development Team must have taken time to give them training on the products. They need at least a basic understanding of the architecture and what each component is responsible for. If you have a third line support team that can do some basic debugging and database analysis all the better, but you must give them the skills. Time taken to give this additional training will pay dividends by freeing up the development team; reducing the impact caused by context switching, changing development environments and diverting development away from newer projects.
Sherlock Holmes, Reports from the Dark Side
What else is there to live for? You have to be willing and able to dive wholesale into a new domain, unknown code and study. I have always enjoyed the challenge of this part of the job.
Whether it be working on a wholly new product or in the realm of maintenance, this is a job where you can never rest on your laurels. A technology that as a developer I had not had to touch in my previous roles. Very few of us are geniuses, but as a developer trying to resolve a customer issue you cannot take short-cuts. This may be the analysis of hundreds of lines of code or investigating the contents of a database table with a million rows of data; you just have to do it.source
Sherlock Holmes, Reports from the Dark Side
What you do need to do is make sure you know the basic techniques that can reduce this pain. Basic tools and techniques, like setting breakpoints, viewing the content of the registers or other such things; are covered in a million articles and books. Any experienced developer should already have a toolbox full of these techniques, but what about the junior members of your team?
- More Books by Tom Cavenagh.
- Article Metrics!
- Celtic: A Biography in Nine Lives!
- Sherlock Holmes, Reports From The Dark Side.
Make sure your senior engineers work with them on real issues. Just knowing the different kinds of breakpoints and how to use them may not have been something they have been exposed to. Many products contain lines of code might be iterated over thousands of times within seconds, try using a standard positional breakpoint to step through that and you will never find anything.
Learn how to debug multithreaded applications, know how to look at the call stack or check the contents of the registers. Sometimes you may have work with optimised code, so you make sure you understand how to do this. The disassembly window shows what is really being executed, the code may not be an accurate description of the actual behaviour.
Play with the various tools around that can help you, above and beyond the standard debuggers for your environment, things like Fiddler for examining HTTP traffic, or HexEdit for examining binary files. Learn some simple techniques for reducing the amount of data you have to deal with, like binary splitting bisection algorithm.
Make sure you are teaching the novices in your team. Like any knowledge silo, having a limited set of developers with these skills is only going to cause you problems down the line. The last thing I see is John's face filling with fear as he says my name again, and then it's over. For now. For him. It's the end of Sherlock Holmes, the world's famous and only consulting detective genius.
Sherlock Holmes, Reports From The Dark Side on Apple Books
Simply put, Sherlock Holmes is a drug addict. A drug addict with a major crush on John Watson. Following the death of Mary Morstan, Sherlock and John seem to be getting back to their normal lives solving crime. Bodies have been showing up all over London with intricate pictures carved into their skin. The bodies appear to be the work of a serial killer. Greg Lestrade is the lead detective on the case and John Watson is the medical consultant.
Soon afterwards, the designs on the bodies begin to change, all of them containing a frightening inscription. Detective Inspector Watson is called to a case that promises mystery and suspense throughout. But, as weeks pass and more and more similar crimes keep surfacing, Watson has to wonder if these serial killings are more than just a morbid obsession. And if so, then the game is on.
John finds himself sliding further into an abusive relationship without realising, but is it too late by the time he does? If your day has been nasty, if you have been surrounded by idiots all day, to whom can you turn if not to your brother? Brother knows what you need. Brother knows best. If John is, will his memories? John has been Sherlock's captive for nearly a year, and an ominous new idea of Sherlock's convinces John that another escape attempt, however disastrous, might be his best option.
Her idyllic retreat is short lived, as Jim Moriarty invites Sherlock Holmes and his flatmates to play another one of his twisted games. But whose side will Isla choose?
Exchange Discount Summary
Sherlock has a dark secret and a secret wish. When the two collide in the form of Jim Moriarty, he accepts the latter's indecent proposal and embarks on the most scintillating journey of his lifetime.
The question is, can he ever find a destination? Sherlock sneaks off to a drug den to get high, but as he trips, Moriarty escapes from his mind and comes out to play. Will John and Mycroft get there in time to save him? Written for an old kinkmeme prompt: After the pool area explodes, John is severely injured. Sherlock apprehends Jim but, instead of turning him in, decides to make Jim pay until John recovers. Inspired by the Abominable Bride special but obviously AU.