What in the name of god is dev wankery? And why does it suck?
Sit back, crack a beer and i'll tell you.
The very first time I heard the term dev wankery I was sitting in the canteen of my old office. Myself, my former mentor and the head of UX were sitting around our lunch chatting about a recent production disaster.
We had released a brand new mobile application using React Native and everyone was thrilled, except for our customer. But why? Because we had delivered the solution a full 2 months late.
As far as failures go in software, this one was pretty major as it caused our client to need to default on their own contracts(in other words they lost customers and money).
All three of us at the table had different reasons for why it was so late;
- Me: "Clearly we needed a bigger dev team"
- My Mentor: "Something something something vim something something"
- Head Of UX: "Dev Wankery"
And so the term was born, but even more interesting is the fact that it has stuck with me like glue as some of the best advice Ive gotten in terms of developing software in early stages.
How To Be A Dev Wanker
Well then, are you a dev wanker?
- Spend large amounts of time choosing frameworks?
- Spend large amounts of time debating syntax?
- Spend large amounts of time debating testing methods?
- Spend large amounts of time doing things that don't actually drive a product forward?
Yup, you're a dev wanker.
Now, as software developers we're all guilty of this. We can't help it. Its literally baked into our job description.
Coding is by nature a thinking occupation, and with this comes a certain desire to be *right* about how you code. It's tied to your intelligence, which is tied to your ability to develop, which in turn is tied to your value as a person.
We don't set out to be dev wankers. It just happens.
When Dev Wankery Is Important(CI)
I will add a caveat as to when I personally believe a bit of dev wankery is critical and thats during your continuous integration process.
The reason for this is very simple:
"Speed of iteration beats quality of iteration." Bryan Dove - Skyscanner CTO
The faster you can deliver updates, patches and new features the better your software will be.
So being a little more delicate when selecting your process is a trade off worth taking.
Three simple words that my former boss used to live and die by: "GET. SHIT. DONE.".
It, in an almost maddening way can be that simple given you're willing to look hard at the things that matter.
Don't be a dev wanker. Get. Shit. Done.