 |
When I first picked up The Career
Programmer: Guerilla Tactics for an Imperfect World by Christopher
Duncan, my initial thoughts went along the lines of "Wait a
minute, this isn't even a book about programming!". However,
after reading the foreword by respected Wintellect guru John Robbins
(author of the insightful Bugslayer series on MSDN Magazine), I
began to change my mind.
As
Robbins so succinctly puts it, "... We'd love to say that we
spend our days coding, but we really don't. Instead we spend much
of it doing all the other stuff associated with getting our software
released, like sitting in meetings and wondering what planet the
marketing people came from."
|
If you've had anything
more than one year as a developer in the software industry, then you are
already painfully aware of deadlines that are declared in a most arbitrary
fashion, managers that actually believe you get 8 hours of coding from
a developer each day (and who base their sometimes ludicrous promises
to clients on this), who don't really know much about development process
models (not the least of which is what a testing and QA department is),
and who cave in to time constraints by allowing the shipping of untested
beta - level software based on their already unrealistic (sometimes naiively
so) promises to the client. You've experienced the inevitable miscommunication
and mismanagement of client expectations about the product, and you've
certainly been called in to the inevitable "emergency meeting"
when everything starts to blow up and you're told you have to work 70
hour weeks to "fix it".
Not only does this remarkable book go over,
in gory detail, every one of these issues (and many more), but it does
so with an experienced view "from the trenches" designed to
empower us, the lowly developers, with the ammunition and knowledge we
need to deal with these issues effectively, to become better software
architects for it, and most importantly, to be able to defend our turf
and our jobs.
In The Career Programmer, Duncan steps through
the entire sequence in the development process, from the decision to create
a new product to the end of the project. He dissects the process, explaining
how the individual programmer or project manager can work within the existing
system to solve specific problems and regain control of the process. Chris
provides proven hands-on solutions that are designed to work when confronted
with the politics of the business environment. He addresses Issues from
both the programmer's and project manager's point of view and gives us
a perspective - from large-scale teams right down to single developer
projects. Everyone knows that management will never hand over the reins
and allow a completely new and unfamiliar approach to be instituted. Building
on this, Duncan shows us how to build on small, incremental successes
that not only solve the problems at hand, but also work towards a gradual
reworking of the development process by showing management a stream of
results to which they can relate. For the individual programmer or project
manager the end result is less overtime, less stress, better quality software
and a more satisfying career. I found a number of useful points and strategies
in my first reading of this books that will enable me to immediately focus
on real issues at the company where I work, and offer constructive ways
to effect change and improvement. Not that my company's development process
is bad - it's much more mature than others I've worked at. But every company's
process can be improved, and its up to both the managers and the developers
to take on this responsibility and meet the challenges.
Christopher Duncan is a veteran contract programmer
with more than a decade of experience in both small companies and large
corporate environments, such as AT&T, Equifax, and Bell South. Irreverent,
unconventional, and occasionally controversial, his focus has always been
less on the academic and more on simply delivering the goods, breaking
any rules that happen to be inconvenient. His last chapter, "Controlling
Your Destiny", offers sage advice about job searching, goal-setting,
and the "roles" associated with various software developer positions.
When I was younger, I once got myself into a legal hassle
that necessitated the hiring of a lawyer. On the recommendation of a trusted
friend, I went to visit a retired elderly lawyer by the name of Isidore
Cohen at his home in Nyack, N.Y. one rainy afternoon. After we had concluded
our discussion and Mr. Cohen agreed to represent me, he drew me aside
and, looking directly into my eyes, said in a stern tone, "Son, I
was a corporate lawyer on Wall Street for over thirty years. If there
is one thing you take away from this little experience of yours, it's
that you must learn to protect your ass."
Well, I never forgot Mr. Cohen's advice. We as professional
software developers need to understand that our roles include much more
than just writing good code. Software developers need to learn to protect
their fannies too, as well as their integrity. Chris Duncan's expertly
written book can help us gain the insight necessary to do that.
If you are a software developer, not only will you enjoy
reading this book (in a way, you'll probably feel like Chris is sitting
in your cubie with you at work), you will also gain a new perspective
on the development process that would be impossible to get on your own
because of the subjective focus imposed on us in the daily workplace as
developers. If you are a project manager or department manager, my advice
to you is go buy yourself a copy of this book immediately, drop everything,
and start reading it. Once again, aPress has shown its ability to deliver
unique titles that provide real world solutions.
Peter Bromberg is an independent consultant specializing in distributed .NET solutions
in Orlando and a co-developer of the EggheadCafe.com
developer website. He can be reached at pbromberg@yahoo.com
|