Column is a monthly feature that explores the world
of creativity and aesthetics.
The Never Ending
de Sousa, Director, AbleStable
It is unfortunate but likely that as soon
as the phrase "software developer" hits
the reader square between the eyes, many will immediately
move their mouse towards the browser address bar
with the view to a quick escape.
development is often
of as less
and certainly less "artistic" than
many other creative activities, but before the
temptation to flee from this page wins the day,
read on. The never ending
draft that defines
the working practice of the software developer
provides an insight into both the creative process,
in how our creativity finds its expression.
developers update their programs for five principle
may not be functioning appropriately and
needs updating. These
update fixes may be to visual "bugs" like
a button which has been incorrectly associated
wrong graphic, or problems
with the coding or "engine" which
prevent the program from performing its intended
program may need revisions to work in the
light of changes or updates to the operating
system. Microsoft for example changed so
much in Vista, that even those developers
who had worked with the pre-release versions
operating system found their software didn't
work appropriately with the public release.
look and feel of the GUI (Graphical User
Interface) may need improving to make the
program more user-friendly.
look and feel of the GUI may need reinventing
or updating for marketing purposes.
fifth reason that software is updated is the
most interesting from the perspective of this
creep is where software can over-emphasize
new features to the detriment of other design
goals, such as simplicity, compactness, or
bug reduction. Feature creep may result from
the feedback of users, but is more often
as a result of the desire of the developer
to constantly refine and improve their code.
continuous improvement or drafting of work is
the single most important process
in producing consistently successful commercial
or artistic products. That is not to say that
the creative person cannot produce work
which results from improvisation and intuition,
even the most talented and able creatives are
not able to continuously produce high quality
output when relying on this strategy.
Obsession of Redrafting
developers are often fixated with order, syntax,
and literal interpretation. Those developers
who aren't so great may be more rounded
people, but their lack of obsession on the
ensuring their code performs its task in an elegant
and cohesive manner, makes them less effective
at delivering robust and effective software.
outstanding software developer cannot help themselves,
they have a compulsion to produce code that outperforms
the previous draft, and then
to improve it further, then further still. It
is an endless and unremitting quest that often
infuriates others like the directors and marketing
do not care so much about what could be better,
rather what can
and sold immediately.
software developer's creativity is focused towards
a kind of
the most efficient and succinct way of
expression given the confines of the computer
used. The difference with their poetry is that
it never arrives at a journey's end, nor ever
becomes more than functional.
Sum of the Whole
developers, like any creative professionals,
have a body of
they call upon to write their code, but
they also often use "components".
These components are segments of pre-written
code that have
often been produced by a different developer
a specific task that is crucial, or will add
benefit to, the program in development.
say you want to create a scheduler program
that has a calendar.
than writing your own original code for the
calendar you might acquire (either as open source,
a commercial component developer) the
then integrate that
new segment of code into your existing code.
In this way the developer acts as a producer
and author, sourcing the best components,
integrating these into the overall program design,
as well as writing
are times when components conflict with the core
another component that is used in the program,
and much of the developer's efforts are
with resolving these issues.
software developer has found a contextual home
for his/her incessant focus on logical argument.
Their creativity is unquestionable, but they
do not generally produce art. It is this qualification
that causes people to often mistakenly judge
software development as uncreative.
contrast, the artist,
author, designer and composer usually seek
closure in their work. Although
I for example, enjoy the process of researching
and drafting a work, there comes a time when
I need to step back. It is a time of satisfaction
and intrepedation, as much as a time
when I should move on to the next challenge
feedback on The Column. Go to Feedback,
complete the form, and make your views known.