Stress of Software Product: Bugs, Features and Business

Povilas Korop
Successful IT projects
6 min readMay 23, 2017

--

Hey guys, I want to cry on your shoulder. Since I started the idea of Laravel admin panel generator for developers a year ago, I’ve silently suffered from stress, some kind of depression and just plain burn-out a few times. That’s how actual business looks like, if you’re a developer and you try to launch and sell your own product. I hope this article will help you (and myself) to stay sane and be prepared for things to come. So here’s the story.

Exciting start, yay

Don’t get me wrong. Our project is successful. It actually exceeded my expectations in terms of customer amount.

Current numbers for our QuickAdminPanel

But those numbers are both good and bad news — with more customers comes bigger responsibility.

When QuickAdminPanel was officially launched, we had a few dozens of interested users who were mostly just playing around, and all we needed at that point was a proof that we’ve built something usable. So that milestone was successfully achieved, and we started building a proper business/pricing plan out of it. And then the fun started…

First growth pains

When we started getting traction and grew our customer base, more and more new unplanned things started to appear:

  • UX Issues and bugs, some of them severe and required big refactoring of the code
  • Clients demanding new features (“I would pay for this if you have X”)
  • Clients demanding “slightly” different versions of current features
  • Clients blaming us “Why you don’t have feature X, your competitors Y have it!!!”
  • Support old and new clients: we had to make sure the code worked in online and downloaded version, for old and new clients, and with Laravel versions 5.2/5.3/5.4, including all packages we use. That made new feature building painfully slow.
  • Scaling issues: since we store generated code on our servers, we quickly ran out of storage, having thousands of users
Pain of growing too fast

And many more. And that was just about “keeping it all running”. For some moments in time we had to forget about building something new, we have to run faster just to stay up. It’s mentally hard. And financially, too.

Software business is a Business, not software

Speaking about finances — did I mention we were not operationally profitable? (still aren’t). QuickAdmin is still a side project, supported by us doing client work, sometimes fighting fires on both sides on the same day.

Again, numbers are growing, and it’s a typical bootstrapped startup story with plan/hope that at some point revenue will surpass expenses.

But still — it’s mentally hard. Knowing that we need to get sustainable and profitable, trying to come up with new features, marketing messages (I openly admit this article is one of them) and pricing strategy. And when some of those ideas don’t bring any results in Stripe dashboard, you get sad. You challenge yourself with philosophical questions and get demotivated.

So much to do, so little time

So here’s my current reality: there are always 3x more of things to do than our time. If we try to categorize it, here are options of “what to work on”:

  • New features
  • Bug fixes and UX issues
  • Infrastructure improvements for performance/scaling
  • Marketing and sales
  • Customer support

If I needed to choose it myself, here’s how I would plan:

  • New features: 40%
  • Marketing and sales: 30%
  • Bug fixes and UX issues: 10%
  • Infrastructure improvements for performance/scaling: 10%
  • Customer support: 10%

Reality is different — we need to fight the fires. So it looks more like this:

  • Bug fixes and UX issues: 40%
  • Customer support: 30%
  • New features: 20%
  • Marketing and sales: 5%
  • Infrastructure improvements for performance/scaling: 5%

The paradox is that the activity which should drive the business forward — marketing and sales — falls into “when I have time” area. Sad.

Now, we can blame ourselves for this reality, cause some bad architectural decisions for MVP now give us quite a lot of bugs and untested scenarios, but I still stand by it — without the speed of releasing new features, we wouldn’t have any traction at all.

Be careful what customers you attract

Our mission is to save time for developers and provide a tool to generate code from online UI, so our tagline is “Your Laravel admin panel. Without coding”. And that’s our main differentiator in the market with quite a lot of competitors. But here’s a caveat — people expect code generator to work without ANY coding knowledge. By magic.

We’re actively offering help via email/live-chat/Slack, that’s part of our strategy. But what we didn’t expect is the amount of customers who require development/deployment help, which is (kind of) outside of our tool area.

We envisioned our typical as a Laravel developer who wants to save hours/days and chooses to generate the code instead of writing it from scratch.

In reality quite a lot of people purchase the license and then ask questions like “How do I install it on shared hosting”, “I get error with PHP version on my XAMPP server, help”, “How can I add this feature without any coding”, “Can you help me, I’m just learning Laravel” etc.

At first those questions were driving me mad, like:

No, really, how can you purchase a tool for coders, not being a coder yourself?!! Arrrrgh!

But hold on. Only recently I realized that it’s our fault. Remember tagline “… without coding”? Exactly.

So the result of this — we have a bunch of wannabe-developers customers who demand our support and are basically standing in the way of us actually moving the product/business further. Cause we need to spend time to support them. Sigh.

How to still move ahead

So, I’m ending my rant on how hard is life of a software developer trying to make money from their own product. Maybe I’ve convinced one or two of you to not even start. Or at least take it as a serious business and not just a piece of code.

Now, let’s get a little positive. There’s always a way forward. In our case — we need to always think ahead, change priorities, pivot here and there, and experiment with both features and pricing. This is exactly what we’re doing right now, and some changes are already showing results, and I see the light at the end of the tunnel.

To summarize this train of random thoughts, these are tips I would give for those who start software product business:

  • The game is long. You have to think both about long-term goals and short-term quick wins. Yes, it’s hard.
  • You will get demotivated a bunch of times, be prepared mentally, don’t take it too deep, it’s “just” business.
  • Look for small victories: a happy customer, a successfully launched bigger feature, your tool mentioned on Twitter etc. Constantly get your morale up.
  • Constantly experiment. Adapt to the market and to what your customers actually need, it may be different from what you initially planned.
  • On the other hand, be careful about what feedback to listen to. Some customers may unwillingly drag you to a totally wrong direction, just to achieve their own goals.
  • Finally. Try to have fun! Think about it, isn’t it cool to try creating something you’re actually passionate about, with people paying you money for it? I guess a lot of people would only dream about it!

One of my colleagues keeps telling me that I’m over-thinking stuff, including this project and its strategy. But for me it’s the only way to drive myself forward and achieve goals. And those burn-outs, I guess, are a part of the “job” of entrepreneur. Would you agree?

--

--