Never "Get It Done"
Software development is far from a purely technical field. Good developers always have an acute awareness that software is about people. Great software is that which effectively meets the needs of its users. Programmers who do not consider their responsibilities to their users and to their team are incapable of providing high value.
The Seven Aspects of Software Quality
Software engineering is a complex field. Good software engineers are capable of balancing opposing forces and working within constraints to create great software. Poor software developers (they really aren’t engineers) are ones who are incapable of perceiving the trade-offs they are making and the implications of their design decisions (or lack thereof).
Delete Your Old Resume!
The cutting-edge software project I have been working on for the past couple of years is being axed. Accordingly, I have turned my attention towards finding an exciting new software development opportunity. As you know, I put 110% into everything I do. When I’m looking for a new job, the search gets 110% of my creative energy, my personal improvement efforts, and my ground-breaking practical experimentation. This time, I learned one simple thing that will radically alter the entire process.
The New Rule of New - Internal Objects
One of the challenges in Object-Oriented Design is figuring out exactly when and where objects should be instantiated. Where is the best place to create a new instance of an object? Where is it critically important not to create new object instances? When should you return a new copy of an object, rather than an existing instance? What are the competing code attributes that must be balanced against each other?