When I first started my company 7 years ago I thought running a software startup is 80% about writing software. Unfortunately, it turned out to be the other way around. Coding takes only about 20%. The remaining 80% is marketing, team-management, SEO, product management, strategy, taxes/accounting, customer support, hiring/firing and a hundred other things a typical programmer knows nothing about. And likes nothing about - to an average programmer most of these activities are dull and boring.
And that is our problem, because...
Programmers subconsciously evade and avoid the "non-programming" stuff. At least me and most of the hackers I know. So here are some hacks we learned during 2013 to make us better at "non-programming" tasks.
I stole this one from my friend Mike Taber: Every Monday the whole team works on nothing but marketing. The founders, developers, designers and support people stop their ongoing stuff (unless it's something critical) and turn to marketing. We brainstorm new ideas, come up with SEO-hacks, stare at our website metrics thinking about ways we could improve them, write guest-posts, reach-out for potential coverage or partnerships, write an awesome blog-post that could go viral on Reddit, come up with a simple email campaign etc. etc.
What do you do if some page in your web-app acts weirdly after you deploy an update? You go to your source control repository and review the latest changes to that page, right?
Now, what do you do if your website's position in Google for some keyword goes 3 positions down? Uh... Ahm...
You should log your SEO activity just like you log your source code commits. So you can review your changes and roll back in case something goes wrong. Built a link? Log it. Wrote a guest-post? Log it. Re-programmed your site's CMS so it shows properly optimized H1-tags or human-readable URLs? Log it. Changed your landing page copy? Log it. Changed your robots.txt? Log it. And next time your traffic goes up or down - you know exactly what happened.
Same for the non-SEO stuff. Changed your sign-up button text after A/B-testing it? Log it. Ran a PPC campaign? Log it. Bought an AD in some popular newsletter? Log it. Tweaked your funnel? Log it. Sent an email to your subscribers? Log it. In fact, we log the application's new features here as well (the major ones). Like "added a video-tutorial to the admin section"... Anything that has the potential to drive your conversions and revenue (or ruin it) should be logged here.
We simply keep a shared Google Spreadsheet for this. Two columns: one column is "Date" (and you can quickly insert current date by pressing "Ctrl + ;" on your keyboard, or even write a tiny JavaScript that does this for you), the second column is "what's done". That's it. No need to complicate. You can also "insert a chart" to draw a timeline with the changes displayed.
The first day of a month is the day we calculate and review our metrics for the previous month (for our flagship SaaS-app - the hosted helpdesk). We have a simple Google Spredsheet where we enter five (5) simple numbers - number of monthly visitors, number of trials, number of new customers, number of cancelled customers, monthly revenue. And then the formulas calculate everything: the churn rate, the conversion rates, average customer lifetime etc. Then we compare this with the previous periods, see which metrics have dropped, and which ones have grown, and why. We analyse this data along with the logs from the previous paragraph.
Every team member should write something every two weeks. This can be a blog post, a new page for our website that describes some new cool feature we added, a guest post or an interview, a new page in the manual etc. This helps develop good writing skills and create new content for our website to catch "the long tail of search" at the same time.
You might think this "obligation" may force people to come up with crappy ideas just to be left alone. So don't make it too obligatory. If someone's too busy to write an article - it's OK.
This "hack" is about hiring. Instead of asking tricky interview questions trying to understand if someone is a good fit - hire them for a task after a very basic interview. And "friendly-fire" them in case they fail.
Run at least one A/B-test every week. This job is carried mostly by the founders, but the whole team knows about the schedule, so people keep throwing ideas at us all the time. For instance, during marketing Mondays. Can't stress this enough. As Patrick McKenzie says, "A/B-testing is printing money". Go do it more often since most of your a/b-tests will fail.