Testing shows the presence of errors in a product, but “cannot prove that there are no defects” – you probably know that quote. I remember so many hours spent on debugging those little, mean bugs hidding deeply in the code edge cases. But what’s worse, I remember even more hours trying to understand and reproduce an error that happens only in production environment. Here’s the first top 5 most popular issues I’ve met during last years:
- app hangs due to deadlocks (in the app or external library)
- memory issues like memory leaks, long GC pauses or high CPU usage due to the GC
- swallowed exception preventing some logic, with no logs available
- threading issues like thread-pool starvation
- intermittent errors due to the resources shortage, like running out of sockets or file handles
BTW. And what’s yours top 5?
And that’s only a small part of the problems you can met. The worst thing is, they mostly happen to te big traffic and/or specific circumstances that occur ONLY on production.
During the last (around) 6-7 years I was involved in many such diagnostics cases, both as in-house developer and (later) as a consultant and trainer. And I know that the ability to diagnose such problems cannot be underestimated. I learnt from my own experiments, as well as from awesome content produced by world-class experts out there – like blog posts, books, talks and tools from Sasha Goldshtein, Matt Warren, Jeffrey Richter, Pavel Yosifovich and great “diagnostic ninjas pair” from Criteo: Kevin Gosse and Christophe Nasarre (*). Eventually, I’ve met all of them personally, just to find out that they are as great people as experts in their fields. Moreover, I’ve met equally talented people here in Poland, like Sebastian Solnica writing awesome content and tools on similar topics. I’ve become part of this “.NET diagnostics family”, at least I hope so..
So, after publishing Async Expert course as Dotnetos, what else could be the decision than to choose this “diagnostics direction” for the next course? I’m super happy that Sebastian Solnica has coined idea for such great course at the same time, so… here it is! Invitation to our friends Kevin Gosse, Christophe Nasarre and Pavel Yosifovich to become mentors were also successful. I’m more than happy creating a synergy of all these people’s passions, taking place under my care. Well, not only mine as other two Dotnetos – Szymon Kulec and Łukasz Pyrzyk – are, and will be, also heavily involved!
That’s why I perceive .NET Diagnostics Expert as a super valuable content, created from passion, from developers to developers. And I am already proud of it 🙂 It’s more like family gathering “let’s make something” together activity, yet still professional to the maximum.
BTW, while for some recent months I’ve “retired” a little from preparing visual side of our Dotnetos initiatives, now I’m doing everything on my own. And I really like doing this! I know I am not a graphic designer, but still.. I hope it is at least a little pleasant to your eyes.
I’m writing all this just to make a “pride dump” about it and because we are starting a pre-sale next week – from Nov, 30 to Dec, 4. On the occassion, we planned some initiatives to promote the whole idea nad spread some knowledge about .NET diagnostics.
There was already one webinar with Mark Downie – Microsoft PM in the “diagnostic parts” of Visual Studio, Christophe Nasarre ane me. It was real fun and tons of knowledge. As always in case of such experts, Mark turned out to be a great guy and almost 2 hours of talking went like a few minutes 🙂
And there are two more planned to happen next week, so stay tuned for this great content, even if you are not interested in buying .NET Diagnostics Expert:
Nevertheless, as I said, I’m really proud of all this so just couldn’t resist writing about it!
(*) which is no longer true as Kevin has left Criteo 🙂