weblog.masukomi.org

mah-soo-koh-me

 

Why do we keep doing it? May 23, 2007

Filed under: Uncategorized — masukomi @ 5:09 am

NOTE: It’s a rant. Sorry, they happen. But I actually do try and make some good
points with this one.



Why do we keep doing it?



I’m writing an entire freaking book
because of that simple question. Why? Every developer I know is all “Unit tests
are great!” or “Separate branches for released code and development code,” or
“short iterations are the best way to do things…” BUT…



It’s always “But…”

“Yeah I should write some unit tests for those new features but I’ve got this
really pressing deadline….”



“We just had our release but we only have the development trunk so I need to be
really careful about what I check in now…”



“Well we don’t really have ‘iterations’ here…but it would be good if we did.”



Why do we keep doing it?



We know better” And yet we keep doing it.

What is it we fear?

What is it we’re avoiding?

What the FUCK is wrong with us?



I want to bang my head against the wall in frustration at the stupidities my
friends, who know so much better, keep perpetrating upon themselves, and then I
hold myself up to the same standards and have to bang again for my own
shortcomings.



What THE fuck is wrong with us?



Do we really think it’s easier or faster to write untested code? I hear that a
lot. “I’d write the tests but I have to get this done quick…” And yet, the
mere fact that you have to get it done quick means that you NEED the unit tests
even more because you’re rushing and thus your bug count
will go up, and we all know that it takes
longer to isolate, confirm, write a patch and manually test a bug than it would
have ever taken us to just write a unit test for the code in the first place.
I’m not naive enough to believe that unit tests catch all bugs but we all know
they dramatically decrease the number that escape into the wild.


In spite of the obvious need for [version control], many programmers
don’t use it. One survey found that over a third of programmers weren’t even
familiar with the idea. -
Steve McConnell

Version control is a bit trickier most of the time because there
are other people involved and you end up having to explain
why using multiple branches is good, when
you should branch and/or tag, when and where to merge, and how to actually
branch and merge in the piece of shit version control system you’re using.
Because unless the mechanics of branching and merging requires essentially zero
thought that version control system you’re using IS a piece of shit. Fuck your
Subversion and Fuck your CVS. Their crap-ass branching and merging tools are
leaving you and your coworkers fumbling around like idiots because you can’t
figure out how the hell to use the freaking tools you’ve been saddled with.
Maybe you thought they were good. Maybe they were there when you started. But
the fact of the matter is that if you’re not branching and merging your code for
every freaking code spike and every new release or major bug fix because it’s
too much of a pain then it’s a piece of shit and you should stop using it.



There. I said it.



ARRGh! And no, I’m not going to touch the fact that so many coders only use
version control because it’s company policy and don’t even know how to roll back
a simple change.



Why is it that I have to embark upon a journey of hundreds of pages of writing
to give you the tools and impetus you need to start doing the things you know
you should be doing already? That I know
I should be doing already…

I need to find some answer to this…. Because, until I do I can’t finish the
book. I don’t want it to be a collection of useful techniques for developers who
want to be more agile. I want it to help you drag yourself and your coworkers
out of the freaking malaise of crap coding techniques that we all practice. I
want to get us to take concrete steps towards actually doing things the way we
know we should be. Because THERE IS ABSOLUTELY NO EXCUSE FOR CONTINUING TO ACT
IN WAYS WE KNOW TO BE CRAP. None. Fuck your excuses.



Maybe that should be the title of the new book: “Fuck Your Excuses.” You think
Barnes & Noble would stick it on their shelves with that title?

Maybe I’ve been going about this all wrong. Maybe the world doesn’t need another
300 pages of sensible writing on why you should adopt these good development
practices. We already know WHY. Maybe what the world needs is a Bitch-Slap with
some practical tools for getting off your ass.


Fuck Your Excuses

A practical guide to getting off your ass and coding the way you know you
should.

I don’t know if it would sell but it sounds wicked-fun to write.



And re the version control thing? I’ve already written two posts about it:

Why
you should be using a distributed source control system


Using
Darcs with Subversion / CVS
(sometimes you have to work around crap systems)

And a GREAT BIG FREAKING ESSAY

Best Practices for Web Developers
html
/
pdf

…which also happens to be the foundation of the book I’m writing.



And on that note I’m going to bed. Sorry about the rant folks. I’m frustrated
that I keep seing smart people do stupid things and I’m even more frustrated
that I keep catching myself doing them too.

Popularity: 4% [?]

 

Leave a Reply