The Obsession With Coding

Coding is learning a lot of things that you don’t care about as a non-developer — like software design patterns or operating a database with and without an ORM. Nobody who's not an engineer should be required to do it if they don't want to.

The Obsession With Coding

Recently I read a post in Fast Company about what  they call “The Full-stack Marketer”, arguing that after we made all  designers learn to code, we need to turn our entire marketing team into  growth hackers, inbound marketers and coders that just happen to do  marketing. While I do a fair bit of coding myself as a designer, I’m  starting to think this whole obsession with coding in the startup world  is getting quite ridiculous. I agree that knowing how things generally  work is quite crucial if you’re a product person — no matter if you’re a  product manager, marketer, designer or QA engineer — teaching everyone  to code is not the ultimate way of building an amazing product. The key  part is to have a team and culture that fits the needs of your product.

Yes, it’s useful if marketing team knows HTML just enough to put the  analytics into the site on their own or they’re able to inject and run  A/B testing tools on their own. This is not what “real” coding means,  though. This is just scratching the surface enough to be able to do your  job. Coding is dirty, hard and complex. Coding is a lot trial and  failure. Coding is learning a lot of things that you don’t care about as  a non-developer — like software design patterns or operating a database  with and without an ORM.

I couldn’t care less about my potential marketing team knowing the  difference between a singleton and a factory or advantages of using  CouchDB over MongoDB — what I care about is the results they provide and  willingness to get their hands dirty. What I’m looking for is a hacker  mindset — and you can’t force that on people by making them go through a  Rails Bootcamp. It means working around your particular domain’s  problems, not being afraid to color outside the lines a bit, being able  to use available tools effectively and quickly test solutions through  trial and failure. It’s about making sure that we’re building the best  thing we could possibly be building.

I understand that for early stage startups (I’m a part of one these  days, by the way) it’s a great thing if three people can do the job of  six or twelve because of the budget restrictions, but let’s not force  people into complex solutions to complex problems they don’t need to  care about in the long run. I doubt your startup’s designers need to  know more of “the code” than just enough to be able to prototype and  understand what are the limitations and possibilities of medium they’re  using, just like people who design chairs need to know possibilities and  limitations of materials in production. I also believe that your  startup’s marketers need to know what you’re building, what is the  market they’re working with, who are the people that use your product  and how can they “hack” their way to more people using your product. If  they can build out something simple quickly — even without the code,  using ready-made tools — to test their assumptions or know just enough  HTML to not pester your development team to put a line of JavaScript  from Google Analytics into the site — that’s enough.

Just because you know how to code doesn’t mean that suddenly  everyone has to and it’s a solution for every problem of your  startup — it most certainly isn’t. Create a no-silos culture,  attract people with a hacker mindset and hack and build awesome things  together. It works for Blizzard, it works for Github, it works for Valve  and it will most likely work very well for your startup. And it will  most likely be more productive than spending six months trying to find a  mythical one-man-army design / development / marketing ninja to cut  your development costs.