Making a Concrete Behavior Reusable
Solving a software engineering problem once in your application is good. Taking a solution and making it reusable inside your application is even better. Recently, I had fun writing a simple scene transition, and then making it reusable. Join me in watching it evolve.
Your Code Is Terrible
A boss developer works hard to improve his skills! Improving absolutely requires both humility and desire. If you want to be great, you must be extremely passionate and incredibly humble. There is no other way.
Make Your Interfaces Small
Well-designed interfaces are a delight to read, use, and implement. The really elegant ones stick in your brain and satisfy your artistic yearnings. They possess beauty similar to a math theorem or a law of physics. To be an effective software craftsman, you must be very good at designing interfaces.
Never Ever Return Null!
Have you ever asked an object or library for a resource and got a NullReferenceException when you went to use the resource? I have. Nothing breaks my trust as much as code that unexpectedly returns nothing. That sort of code forces developers to litter their code with nasty bits of defensive logic!