So there we were, sitting in the first project progress review meeting: the client, the designer, the content/marketing person (who is also the project leader), and me. I’m the front end developer on this, my first large-ish commercial website gig, and I want very much to please. Fortunately, there is little for me to say; my work came in tight and on time. So I’m nodding and smiling agreeably when the client casually mentions they’d like one quick new feature added — a chatbot. Wouldn’t that be so cool?!
And, really, it’s sort of touching if you think about it, the way non-devs see us as being some sort of sorcerers who can produce miracles using only code and caffeinated beverages.
As I’m opening my mouth to explain why this is a terrible idea — first of all, there is zero need for a chatbot on an architectural design agency’s website and, second, do you even understand what that means, and three we are being paid to build a static site, dude — when the designer and marketer both gush, What a great idea! Sure we can do this! Without ever even once looking over at me, the person who will actually have to build the thing.
Behind the red rage flooding my field of vision, however, I realize I actually feel sort of secretly gratified: I just sat in a meeting where a web thing was promised without anyone, you know, discussing it with me first. I guess I’m a real web developer now.
And, really, it’s sort of touching if you think about it, the way non-devs see us as being some sort of sorcerers who can produce miracles using only code and caffeinated beverages. When they see us staring intently at our screens and assume we are pounding out some complex API config when in reality we are playing Fortnite on Steam with the sound off. Not that they’d be able to tell the difference.
But, fellow code slaves, I ask you: is that truly a worthwhile tradeoff? Our status as mysterious web maestros, versus not being consulted on important decisions regarding, say, major feature additions because it’s assumed that we will somehow magically be able to make it work? As much as I loathe meetings and consider them a soul-sucking waste of time I will never get back, it finally is clear to me why it’s important to insist on going even when my input isn’t required because it’s a “creative” consult.
Because we are the ones who inevitably get the blame. For going late on deadlines, vastly over budget — or both — while killing ourselves trying to come up with a deliverable promised without ever asking us. If, that is, the fantasy feature dreamed up in our absence is even technologically feasible.
So. Not that anyone asked, but I decided to come up with a list of statements that, if you yourself are not a developer, it’s probably best to not ever utter aloud to your dev team. (Even if that team consists of one person. Especially if that team consists of one person).
- “We saved you some time by…” Pretty, pretty please don’t ever save us time. Especially if that means making significant, project-shattering technical decisions based on some half-remembered assumptions from that “Build A Website In A Weekend!” course you took in 2012.
- “I know I’m not actually a developer, but…” Just stop right there. Whatever comes out of your mouth next is almost certainly going to be let’s just say not helpful, and also likely to inspire thoughts of violence. Or at least double-handed head clutching.
- “This (insert change here) should only take you half an hour…” Oh, it will? Great! I super love you dumping this on my already overloaded, over-deadline plate while assuring me it’ll be super quick… Despite the fact you have no idea you are even asking me to do in the first place.
- “We told the client you could do this in…” (Fill in blank with ridiculously obsolete legacy platform/language/system). Because, yes! It is indeed 2018, and we want to be right on that cutting edge with our Flash animations served up from our DotNetNuke CMS written in VB.NET! What ironic hipster retro fun this will be! Now let me ask my grandma if I can borrow her Windows 98 desktop to test it on!
- Or, the flip side of number four, promising some ridiculous feature not one person in the meeting even understood because everyone was using marketingspeak, and now we are committed to providing agile cloud-native AI running NoSQL on Docker. Because y’all were chasing that buzzword compliance high.
Happy ending on the chatbot situation by the way: the client readily agreed to pay for me to completely rework the project and wire up a dynamic AWS back end to deliver a state of the art chatbot UX. Oh ho ho! Kidding. So very, very kidding.
What actually happened was: everyone got very upset with me for telling them how long it would take and how much it would cost to add what was obviously, to everyone but me, one simple little feature. The client stopped returning calls and emails for a week because — we found out later — they were trying to find someone who would indeed build them what they wanted for the price of a static project. Eventually, though, everybody settled down and we finished the project, and the firm even seemed happy with the results. The final payment check cleared. I moved on to the next project.
Though I still never quite seem to make it past level 25 in Fortnite.