Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

The Incremental Developer


The Incremental Developer

A lot has been said in this forum and elsewhere about quality. Don't expect the talk to die down much—not until things improve, anyway. I find myself in the camp that believes that quality can improve greatly without noticeably affecting schedules and costs. My own experience has taught me that I can improve my effectiveness if I want to, even in the presence of clueless management. If management somehow managed to see beyond the quarterly bottom line (dream with me), such a miracle alone would not suffice to rectify the sad state of software quality. Managers don't do the coding. It's not enough to write software that merely "works" (although that's a good start). That attitude is a chief cause for the software mess we've been discussing this year. It's just as easy to write good software as it is to write bad software, once you know how, and knowing how is chiefly up to developers.

Nonetheless, what I'm about to say applies to everyone. (Please overlook the fact that it's blatantly obvious on paper—somehow it doesn't find its way into mainstream practice.)

Over 20 years ago, I interviewed for a teaching position at a community college in California. In the usual gang interview that such a process entails, one of the panel members asked the quintessential "thought question" for educators: "What, in your view, is more important: Mastery of the subject matter, or being an effective teacher?" The question is a little devious because both are absolutely essential to effective teaching. I suppose this is meant to be one of those "let's see how you think on your feet" exercises.

My answer was also devious. I finessed the contrived clash of concerns by asserting that the most important preparation for good teaching is to be a good learner. An effective teacher continually learns about his discipline. He also is wise if he sharpens his ability to communicate, including getting to know each student individually. Both endeavors are rewarding and never boring, especially in our industry sector.

The principle is universal. Those who continue to learn make the greatest contributions and have the most fun. Think about what you learned in school. In my school days, Fortran was all the rage, data structures were evolving apace, and computation theory was still a graduate class. I never had a class in C, C++, or software engineering, but I didn't need one—what I learned in school was how to learn, so I picked up what I needed on my own after I left school. Still do. Just two weeks ago, I heard for the first time a bit of Native American wisdom that says it best: He who learns from one who is learning drinks from a running stream.

Quality is forever a moving target. Only those on the move can come close to achieving it. Quality software and quality mentoring come from running streams.

Chuck Allison
Senior Editor
[email protected]


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.