The perfect is the enemy of the good (and the done)

Dear new developer, When you are facing a problem, it can be very tempting to try to solve it perfectly. Handle all the possible edge cases, make it extensible, have it be configurable without code changes. As with everything in life, there's an opportunity cost to this perfection. If you're spending days perfecting a single … Continue reading The perfect is the enemy of the good (and the done)

What if I have to make a technical decision and I don’t know the right answer?

Dear new developer, Sometimes you are confronted with decisions for which you simply don't know the correct answer. This has happened to me many times over the years. A recent example is that the client wanted to build an online quiz. They wanted to be able to edit quiz questions and answers. They wanted it … Continue reading What if I have to make a technical decision and I don’t know the right answer?

Strong convictions, loosely held

Dear new developer, When building a system, you're going to be confronted with lots of decisions. Unless you are operating in a total vacuum, you'll have to reach agreement with other people. This will lead to discussions and arguments, as all the people involved will bring their viewpoints and experience. You should definitely participate, and … Continue reading Strong convictions, loosely held