The one book that has had the most impact on my career is “The Pragmatic Programmer” by Andy Hunt and Dave Thomas. It is one of the few technical books I’ve read multiple times, learning something new every time. One can imagine how happy I was to hear this morning that a 20th-anniversary edition of the book is coming this fall.
Every successful software product is the result of the collaboration between developers and the QA team. However, it’s the developers who get the lion’s share of the praise, and the testers are mostly ignored. Devs blame the QA for finding faults in their code, and management blames them for delaying the release. I think this is unfortunate and unfair.
Walk into any library, and the first thing you notice is absolute silence. People behave differently when in a library. They respect others’ privacy and the need for solitude. They don’t have loud conversations. If they need to talk, they go outside or talk quietly. Rarely do people go over to someone’s desk to disturb them. Why are all these behaviors, which are considered rude in a library, are treated as a norm in a modern workplace?
The hard part of debugging software is finding a bug to fix. Actually fixing the bug is easy. However, as with many things in life, the fact that it’s easy doesn’t make it simple. Here are a few guidelines I learned while reading Code Complete on fixing bugs while staying sane.
Delegates in C# was one of the many concepts that eluded me for a long time. Not anymore. I started reading C# in Depth by Jon Skeet this morning, and the entire first chapter is devoted to delegates. How many programming books do you know where the book opens with a fairly advanced topic? I guess only Jon Skeet could do that.