The 15 Minute Rule Of Software Development
I talk a lot about how having a spec is a critical component of software development. But how do you know that your spec is good, and that it has been developed enough? Simply put, how do you distinguish between a good spec and a spec that is lacking?
This problem had confounded me for a good bit of time, because it’s hard to create a rule surrounding spec development. Since most developers (myself included) are also generally bad at developing good specs, it becomes even more difficult to create such a rule. However, I heard a great adage from someone recently that I thought summed up how developers can see specs nearly perfectly.
Paying Down Technical Debt
Much has been written about technical debt, and the way it’s both accrued and paid off. For the uninitiated, here’s the definition of technical debt:
The amount of time, money, or effort it takes to work around, manage, and fix bad decision/implementation decisions. (CaseySoftware)
Google: Simplicty, Meet Power
In the war between simplicity and power, there are those on each side that say you must sacrifice one to get the other. But as Google shows us, you can have both without sacrificing one for the other.
The Google homepage is relatively unchanged from when its founders created it. Sure, they’ve added links to their features and some other things, but for the most part it’s unchanged. It’s central theme is a core search box, which is right in the center of the page.
Object oriented programming always leaves you with a headache. What if you could master it instead? Stop struggling with object oriented PHP. Mastering Object Oriented PHP is the answer!
Imagine if you could write clear, compelling code each and every time you sat down to work. You can do this. I'll show you how with The Ten Commandments of Clean Code.
Brandon Savage has been a software developer since 2003. Ever since discovering that he could use software to automate routine tasks, he's been hooked. Brandon is passionate about perfecting the art of software development.