The Pragmatic Craftsman
:: Simplicity from complexity ::
|
Good judgement comes from experience, and experience comes from bad judgement.
–Frederick P. Brooks
|
|
You can be a good developer by studying successful patterns and best practices, but if you want to become a great developer, you’ve got to know a technology’s limits.
–Bruce Tate
in preface of BitterEJB, 2003 |
|
A software engineer understands that self-improvement and continous learning are fundemental activities for an IT professional.
–Alan Monnox
in preface of Rapid J2EE Development, 2005 |
|
Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?’ Improve the code and then document it to make it even clearer.
–Steve C McConnell
|
|
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
–Martin Fowler
|
|
Simple systems are easier to build, easier to maintain, smaller, and faster than complex ones. … Simplicity is often not an easy goal to achieve. Programmers love complexity, so they have a strong tendency to over complicate their work. It’s often easier to quickly build an overly complex system than it is to spend the time required to make the system simple.
–Allen Holub
in his recent book, Holub on Patterns, 2004 |
|
… best programmers think through the design of their code before they actually write it.
–Scott W. Ambler
|
|
Solid software engineering practices never go out of style (crisp abstractions, clear separation of concerns, balanced distribution of responsibilties)
|
|
I don’t skate where the puck is, I always skate where the puck is going to be
–Wayne Gretzky
the best hockey player. |
How about that? That’s a great quote!On a similar note, here is my approach on learning new technologies:
|
I don’t learn technologies that are popular today, I learn technologies that are going to be popular and widely used in the future.
–Stas Kubasek
|
What does that mean? That means I always want to stay ahead of the game. I think that’s a pretty good strategy for the future. Strategy to be successful. We’ll see.
|
every advance requires software that has not yet been written…
|
That’s exactly right, I think. That’s why I would not proclaim software industry dead. As long as there’s going to be innovation, there’s going to be a need for software. So maybe the software-engineer’s future doesn’t look so bleak after all? I think so. I think once the IT industry recovers, it will be a whole lot better. And like Grady says, “there’s still a lot of exciting stuff we’ll get to do in the coming years.”