Shipping ordinary software on time is damned hard. Shipping great software in any time frame is extraordinary. Shipping great software on time is the rarest of earthly delights.
— Jim McCarthy, Dynamics of Software Development
I received my copy of Dynamics of Software Development by Jim McCarthy in the mail today, and this quote was just sitting there on the first page.
I've shipped great software on time and I've shipped ordinary software late. This inconsistency to a logic-driven mind is maddening. I think I'm fairly decent at writing code, but getting the whole process to a point of repeatable success from a business standpoint is what I'm in the dark on.
Though my computer science education was fantastic in teaching me about logic and theory, the nuts and bolts of software engineering is something I am lacking. There was a software engineering course offered but I opted for the programming language design course, instead. I don't regret that decision–I love programming languages–but in the world of waiting customers and deadlines that come much too quickly, I'm having to play catch up.
So for now, it's time to hit the books.