The Pragmatic Craftsman :: Simplicity from complexity : by Stanley Kubasek ::

Archive for the 'Quotes' Category

Larman and Fowler on Critical OO Ability November 16th, 2005
Hoover on Craftsmen November 3rd, 2005
Spolsky on Writing Specs August 18th, 2005
Brooks on Good Judgement June 29th, 2005
Tate on Developers June 20th, 2005
Monnox on Software Engineer June 6th, 2005
McConnell on Code Documentation March 15th, 2005
Fowler on Good Code February 4th, 2005
Holub on Simplicity December 8th, 2004
Ambler on Best Programmers November 29th, 2004

Larman and Fowler on Critical OO Ability

A critical ability in OO development is to skillfully assign responsibilities to software objects
–Craig Larman
author, Applying UML and Patterns

Can’t agree more with Larman. To be a good OO developer, to truly understand what object oriented means, you’ve got to treat classes as objects with responsibilities, and be knowledgeable on how to assign them. Larman’s book is classic in this category.

Here’s what Martin Fowler had to say on the subject.

Understanding responsibilities is key to good object-oriented design.
–Martin Fowler
quoted in Applying UML and Patterns

Hoover on Craftsmen

The critical distinction between a craftsman and an expert is what happens after a sufficient level of expertise has been achieved. The expert will do everything she can to remain wedded to a single context, narrowing the scope of her learning, her practice, and her projects. The craftsman has the courage and humility to set aside her expertise and pick up an unfamiliar technology or learn a new domain.
–Dave Hoover
in article on StickyMinds.com

This is a great definition of a software craftsman: the best I found so far. The article by Dave Hoover on StickyMinds.com is a very good one, link below. Especially if you want to find out who a craftsman really is.

What can you learn from this? Be humble. Be curious. Be eager to learn new technologies. And be lazy. :-)

ReferenceExperts, Craftsman, and Ignorance by Dave Hoover

Related PostEvery Craftsman is Dump and Lazy

Spolsky on Writing Specs

The reason you write a spec is not to solve every possible problem in advance: the reason you write a spec is to solve as many problems as you possibly can in advance so that you minimize the number of surprises that come up during development.
–Joel Spolsky
- talking about Copilot.com spec

Reference:Blog entry about The Project Aardvark Spec by Joel Spolsky

Related:The original spec (pdf) by Joel Spolsky

Brooks on Good Judgement

Good judgement comes from experience, and experience comes from bad judgement.
–Frederick P. Brooks

Tate on Developers

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

Monnox on Software Engineer

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

McConnell on Code Documentation

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

Fowler on Good Code

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
–Martin Fowler

Holub on Simplicity

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

Ambler on Best Programmers

… best programmers think through the design of their code before they actually write it.
–Scott W. Ambler

Favorite Quote

Topics

Tags

Archive

Currently Reading

Info

© 2001-2024 Stanley Kubasek About me :: Contact me

Me on Twitter

»see more

Recent Entries