Should you learn to code? I used to always answer with an emphatic yes. Now I’m like 80/20 no. Here’s why.
Last week, I was advising a group of smart folks, scientists actually, who were leading the build of their first digital product. They had funding and traction, and they had hired an outside team to professionally develop the product.
We were talking about how to integrate Agile and product management when one of them asked — “I know we’re not going to write code, but to keep up with this outside team, should we learn to code?”
Fair question. And like I said, my muscle memory told me to say yes.
Learn to Code, for context’s sake, is shorthand for a movement that believes everyone — in our case, every entrepreneur — no matter their role or background or experience, can and should learn to code, at least a little.
Learn to Code is built on the premise that over the last few years, coding tools have simplified greatly, and coding instruction has become both plentiful and affordable. Thus, anyone with the will and the free time can indeed pick up enough code to Hello World in any language pretty quickly, and then on to core functionality, data handling, and interfaces not long after that.
And that’s true.
But the catch is, and always will be: Time.
Lack of time is the obvious argument against Learn To Code, and honestly, it’s the only valid one. I wrote a piece last week on when an entrepreneur should move from vaporware to actually hiring a developer, but if we’ve already got access to developers, we should let them code while we do the thing we’re good at. We’ll still need to manage our development team and ask a lot of questions and read between the lines — whether we know a little Python or not.
So in my story above, the answer was no, don’t learn to code. Do your science, talk to your customers, harden your requirements, sell your software, and just manage this outside development team that you have the luxury to afford.
Which begs the obvious question:
So real world example: Years ago, a young woman I met was coming out of retail, and her product idea was great. But the great part of the idea was the retail part, not the tech part, which was kind of standard but necessary to execute her great idea. She was going into it ready to code it all herself. Then she didn’t. She was smart. She was able. She just didn’t do it, and her idea sat.
Would it have been the next Bonobos or Bombas? Who knows? Because her idea never got off the ground.
I know why.
Learning to code is at least a part-time job, if not full time. Most first-time entrepreneurs already have two jobs, the one that pays for the one they want. Furthermore, learning to code might not be scary anymore, but it’s still intimidating and frustrating. It’s limiting because we can’t do a lot with just a little code. It’s also a false sense of security, because there are a lot of issues with, well, security, and resource leaks and on and on, all of the more complex concepts that we’re not going to catch until they become crises.
And finally, we’re going to be reinventing the wheel. A lot. And usually the wheel that’s already there is going to work better.
That’s where Hack Shit Together comes in.
Sure, if we’re building a product or company based on a major technical breakthrough, then we’re going to have to be a great coder. But if we’re starting from Learn to Code then honestly, we’re probably just wasting our time. Our problem isn’t that we don’t know how to code, it’s that we don’t have the resources to find a great coder.
The thing is, most entrepreneurs, especially first-time entrepreneurs, are more like the retail woman from my earlier example. The greatness of their idea is industry-based, or process-based, or problem-based. They know the fix, they just need to build some tech to string together pieces of their solution and make it available to the public.
The last five years have seen incredible improvements in what’s available to the non-coding entrepreneur to run a business, and even to hack together existing technology to bring ideas to reality.
Example: I spent a whole week in 2002 learning to hook up a payments provider to my web app and then to my merchant account so I could take credit card payments and bring revenue to my idea. Worked great. But now there’s Stripe and the same thing takes five minutes.
Over the last few years it’s that, but for everything.
I’m hesitant to give specific examples because like a month after I write this, those services are going to get easier and better and will probably even do things completely differently.
Generally, we can do a ton with Wordpress, Google Suite, Slack, Zapier, Pushover, Thunkable, Bubble, Stripe, Shopify, and Mailchimp, just to name a few.
But from a high level, here’s what we should be able to hack together:
Get comfortable with AWS or Azure or any of the cloud-based hosts. We’ll use this as the home for our app and for connecting a lot of the services we’re hacking together.
Figure out how databases work and how to use SQL: Everything is data and SQL isn’t going away. Every entrepreneur should be able to work with large sets of data and write SQL to get what they need.
Be able to have a conversation about APIs: APIs are how one set of code talks to another set of code. We may not need to write them but we’ll need to know how to use them.
Then just start searching how to do what you want to do. Chances are there is a service or code snippet that will do it and sometimes it’s even free, especially at low usage rates.
The only caveat to Hack Shit Together is that the solution is (probably) not permanent. But at the very least, HST will get us to the point where we can prove out our idea and maybe even start to sell it. With a working model and/or some revenue, we’ll be in a much better position to find the resources to get our tech professionally (re)developed, and at that point we’ll already know that our idea works and is worth the investment.
On the other hand, we might realize our idea wasn’t everything we’d hoped. But at least we didn’t spend months and months painstakingly reinventing wheels before we found out.