Two Banjos At Once: The Blog

Living with standards compliance

6 Things to Know About Developers

August 16, 2009

No surprises here, or none for techs, anyway. A lot of the following sounds like banal repetition of common sense. But the thing about common sense is that it isn’t…common. And so, even after twenty years of Dilbert cartoons, I feel compelled to list a few points I want my non-tech colleagues to remember.

6 Things to Know About Developers

  1. We hate lengthy, freeform meetings.
    I’m really disappointed I have to write this it at all. I thought all the books, blog posts, satire, and research results had convinced everyone with at least functional literacy of the total buzzkill, the utter torment, the massacre of productivity, that the typical business meeting means for programmers and developers. And format doesn’t matter–don’t think that conference call is any less loathed.

    Solution: schedule only short meetings (<1 hour) with strict agendas, if you must schedule any at all.

  2. We really don’t need to see all of the marketing presentation.
    I don’t question that the marketing people worked really, really hard on what is just about the world’s best preso, the one that’s gonna reap all the financing and press attention. But I’d prefer to take your word for it; I’m about as enthusiastic and informed an audience for this material as the marketing people are for, let’s say, a prolonged discussion of JavaScript debugging tools.
  3. We require specifics.
    We can tell you’re excited about your idea, and it sounds to us like a good idea, and sure, let’s build it. But we can’t act on the sparse outline of it that you’ve provided: “It’s like MySpace–only for dogs!!” says nothing to us about where you want to start.
  4. We have specialties.
    Yes, there certainly are many people who can design an application, copywrite its content, write all the HTML/CSS/JavaScript for the interface, and develop all the scripting that communicates to an optimized, secure database. The people who can do all these things well are scarce. In fact, they’re usually not for hire since they’re too busy speaking at conferences or writing books.

    Scrupulous developers often qualify their self-descriptions with terms like “software,” “application,” “Java,” “Flash,” “user interface,” or “front-end” prefixed to the noun “developer.” You’ll save a lot of bother noting this qualifier, since it’ll keep you from asking software devs about JavaScript and front-end devs about Java.

  5. Not all of us are white, 20-something nerdboys.
    I don’t know why this stereotype persists. Many, perhaps even most, developers of my acquaintance fail to embody at least one of the qualities listed above. Maybe I just know a select coterie of middle-aged, female, humanities-educated, and/or non-Caucasian techs. Anyway, few of us seem anticipated by the majority of tech firms, who try to lure us into their employ with promises of foosball and all-you-can-drink Red Bull.

    Snore.

  6. We need fresh air and sunshine too.
    So many tech workplaces seem fashioned by prison architects: no windows, horrible, glaring fluorescent overhead lighting that is about a million times brighter than necessary, and even gray cubicle walls subdividing the room into a bunch of sensory deprivation chambers.


    How come you want to work from home?
    Photo by cackhanded

    Ask yourself if you could spend 8+ hours working where your devs do. Even better, take a high school algebra or trigonometry textbook, and try to work out the solutions to every problem in the textbook while seated in one of these spaces. If you can’t, it might not be entirely due to a failure in your math abilities.


What do you want everyone to know about developers?

Frameworks are tomato paste, not cake mixes

August 10, 2009

Alright, I’ll start by admitting I was wrong, all wrong: using frameworks isn’t a sign of laziness or incompetence. Today’s frameworks aren’t yesterday’s Hot Scripts or Dynamic Drive slop. They aren’t Dreamweaver cruft or FrontPage junk. Using them requires more than cutting and pasting; you use them better if you understand their basic technologies of JavaScript, CSS, and HTML. And you use them as replacements for something you do indeed know how to do by hand, but find so time-consuming or boring that you’re thankful somebody has provided the means for you to accomplish those tasks quickly.

Basically,
Frameworks are tomato paste, not cake mixes.

By “cake mixes,” I mean those boxes of processed ingredients, to which you just add one or two more, stir, then bake into the final product. The process requires very little time and almost no culinary skill. The mixes were first widely marketed in the 1940s to women who were anxious to produce acceptable cakes at home, despite time constraints in the servantless households of the post-war era.

Cake Mix Magic!
Hmm, jQuery or Prototype?
Image courtesy of saltycotton

Cut ‘n’ paste scripts or visual editor snippets work a lot like these mixes–there isn’t much tailoring you have to perform to have them function in your project. And like cakes baked from mixes, the discerning won’t mistake them for something made from scratch.

But sometimes you can obtain outstanding results using a pre-made ingredient.  One staple in many households is tomato paste, which replaces the lengthy process of transforming ripe tomatoes into concentrate. Yes, maybe using the freshly made paste would be superior, more satisfying–or maybe it wouldn’t. Most likely it would be drudgery, just as typing document.getElementById() can be. If your recipe is for the sauce, not the paste, spending so much time on one ingredient is inhibiting. So why not use a framework to get to your real project goal sooner and with less effort?

After all, frameworks don’t remove the challenge from the project. They take over the dull, utilitarian portions of it, like constructing a grid layout or a database query, freeing you to fret instead over PNG transparency in obsolete versions of Internet Explorer (no, wait; a framework could handle that too). Once you configure the framework, you’re freed to do more interesting tasks, such as choosing other frameworks to assume yet more of the burden. Certainly it feels odd the first time you let something like Blueprint float all the columns, but that shouldn’t be confused with weakness.

Think of all that time you can now use to make your own tomato paste.

Powered by WordPress