Dealing with “unreasonable” clients

One of the forums from the StackExchange family which I usually visit is the Workplace one. It deals with office / team behavior, ethics and professionalism. The questions are incredibly interesting – most of the time, I’m not entirely sure what I should do in situations like that – and the answers are amazingly well crafted and thought.

And there is a particular one which caught my attention lately: Manager requesting task which I believe is unnecessary. And I found it interesting because we hear that a lot in the software world: “why is my customer / manager / leader asking for that if it’s not really necessary / a priority / important?”

Well, there are several aspects to consider. Let’s go in this world of absurd requirements together.

9 min read

The Clean Coder

I recently read Uncle Bob’s “The Clean Coder”. I have to say, this book slapped me in the face. There’s so much to discuss.

5 min read

How to perform a good code review

I recently wrote about how to create a good pull request, this is, how to make your code changes easy to review and discuss. Now we’re going to talk about the second part: reviewing someone else’s code. This puts you on the reviewers side, and hopefully the person submitting code did follow our guidelines to make your life easier.

There are several approaches you can take to review the code, but we’re going to enumerate a checklist that you could use to minimize the usage of your time and the efficiency of the code review.

16 min read

How to create a good pull request

This has been a common question and a subject of debate since everyone has their opinions on what good code is and what bad code is. Regardless, the pull request is not about the code itself but about the actions of reviewing, adjusting, discussing and assimilating (merging) code, which may be good or bad in itself.

This will be later followed by a set of notes on how to perform a good code review.

Without further ado, let’s start with what is going to be a long article about sending a good pull request.

27 min read

Death to Singletons!

No, I’m not talking about those that can’t find someone to be with. You’re ok in my book.

One of my favorite question to ask at technical interviews is “Can you tell me advantages and disadvantages of the singleton pattern?” I get varied responses, but while almost everybody can think of the advantages, nobody mentions the problems that come along with it. I’m going to quickly explain what singletons are and then roast them good.

8 min read

Testability vs. simple design

You may know I’m a proponent for simplicity. I believe that if a particular feature can be achieved with a single if statement, then that’s all that needs to be done. I’m also a proponent of testability, that all code should be easily testable so that we can make sure that it works. As it turns out, these two don’t usually go hand in hand. (Spoiler alert: that’s not true.)

6 min read

Taming your tools

Have you ever met a carpenter that would pick up a wrench and hit a nail with it? Probably not, and if you saw that, you would probably be thinking in taking your business elsewhere. And if you wouldn’t, then you should. Here’s why.

6 min read

Code Complete, Second Edition

Code Complete is like the reference manual of software development, regardless of the technology, industry or language you’re working in. And there are really good reasons for that. Let me tell you what I thought of this book.

2 min read