Building a Developer Tools Business
manifold.co
manifold.co
1.) Developers love to build things.
2.) Developers hate spending money.
3.) Developers undervalue their time.
If your product looks like it would have been fun to build, you'll lose the entire "insufficiently supervised developer" demographic. Those guys will happily spend tens of thousands of dollars of billable hours implementing an in-house version of your thing to avoid the possibility of outgrowing your Free Tier.
I've seen this play out with S3stat customers (which costs $10/month, or three minutes twenty seconds of fully loaded engineer cost), where somebody will spend a week building an in-house version of the service and standing up a server to run it. Nicely done. You'll break even on your investment in 21 years.
I've had moderate success with my latest API product pointing to a "Boss Page" that outlines things like build-vs-buy costs, and why you really would be better off paying us for this thing rather than dedicating an in-house guy to building and maintaining it.
It's a tough one.
Our developers are far from profligate but they'll certainly kick and scream at me if we can't spend money on a tool or service that's going to make their jobs easier and allow them to deliver value more quickly.
To be coarsely mercantile about it, I want our teams to invest the vast majority of their time building systems and services we can sell. In turn, they've mostly come from backgrounds where the software they've built is widely used outside of the business they've been employed by, so again that pushes in the direction of doing things that add maximum value for customers, rather than NIH.
- The product won't do things exactly the way you want. If you build it yourself, you get it the way that you wish it had been built.
- You're investing in someone else's product. Everything you invest in training and customization is wasted if you have to move to something else. You no longer have to worry about tech support either.
- You're locking yourself into someone else's product, and you're stuck if suddenly there's a big increase in price, the product shuts down (very common), or changes in some way (even more common).
- The "developer cost" is tricky. Salespeople like to pretend that you can calculate that using someone's salary. If you have an $80/hour developer spending five hours on something like this, you don't literally write a check for $400. Instead, that developer might have been doing something useful, but might also have been in a meeting or responding to email or just sitting around. One argument for 20% time is that the 20% spent on that work wouldn't have been used productively anyway.
For example, I worked at a 30ish person startup that was a little less than half engineers. Our product had a ton of traffic, and our growth/sales teams had outgrown the small bundle of cheap/free marketing tools we'd cobbled together. But marketing automation is expensive—so a couple engineers spent time trying to build our own version, insisting it was doable and that it would fit our use cases much better because it was built for them.
The reality is they spent two months working on a marketing automation solution that kind of worked, but was missing the robustness of a normal product that had been built by a dedicated team of engineers over years. The other issue was that those engineers now owned their solution—bugs, feature requests, etc. they were essentially running a second product now.
Eventually, for the sake of their time and our productivity, we just bought software. We could have done it months earlier and saved everyone time and frustration.
I realize this post is specifically about dev tools, but I think the logic is more or less transferrable.
Far more likely you will prove to have underestimated part of it or overestimated yourself, and will make something less capable and even farther from your personal ideal than the off-the-shelf version. And that's to say nothing of the bugs and maintenance burden. And even if you surmount those obstacles, you'll probably have to make huge sacrifices in functionality or reliability because, unlike the vendors of the off-the-shelf version, you have other things to do as well (or your boss has other things for you to do).
This is actually a lower bound on the opportunity cost of having your developer work on purchasable items.
- If the dev is making $80/hr they should be adding more value to the organization than $80/hr.
- If 20% of your devs are working on purchasable items you'll need to hire another ~20% to replace them, but then you'll need 20% more managers, QA, etc..
- Developer productivity isn't linear, if you hire twice as many devs you don't get twice as much code written.
or if you do, that could be a bad thing ;P
IMO developers want fun when they build something and many of them have fun only for very specific tasks i.e. where they think they are good at. So, yes, it is not easy, but points 2. and 3. are partly wrong.
Often times it's not about the money on its own. It's just that I don't trust a critical part of my business to a $10 / month service that I'm not 100% convinced will be around for the long run or has an impeccable track record.
For example, I trust Stripe a lot and have no problem basing my business on them but not so much that company I never heard of who is offering a useful service. It might be good, but without concrete proof or dozens or hundreds of success stories then I feel a lot more confident just rolling my own solution because I know it will work in the way I designed it (with or without bugs but if it's buggy, I know where to go to fix it).
I must admit that this made me pause and contemplate my relationship with time at work.
We are developers ourself. 4 years ago we built a great tool (a remote logger for mobile apps)[1] internally for ourselves. We had such a huge benefit from it when developing mobile apps, we thought this tool must be very useful to other developers as well. It was a no brainer to turn it into a SaaS product. But we had no clue about how to market it to people.
So we started reading every book on marketing out there (e.g. "Traction") and listened to a tons of product marketing related podcasts (e.g. "Smart Passive Income", "The Art of Product"). We tried many things over a period of 2 years. Nothing worked. After investing 100k€ in development and marketing money plus a lot of our own hours we were almost about to kill it. When suddenly, after the summer break, sales slowly started to ramp up. Without doing anything, but gaining traction on some of our blog posts about technology and development.
Now almost 5 years since inception we have a nice and stable business with 20k€ MRR and constantly growing. We stopped doing any marketing as you'd learn it from the books and focused entirely on creating value for developers through generating content that is also interesting for ourselves. And to be honest, it also makes you feel a lot better, not having to trick people into buying something.
There's probably still a lot we can learn and do better in order to "sell more", but we're quite happy with the current situation (financially) and really appreciate the feedback and praise we get from the developer community valuing our product.
Without wanting to self-promote our product too much, if you're interested in getting more details about our "failed marketing story" we've just published a blog post[2] on Indie Hackers about exactly this.
- 2: https://bugfender.com/blog/bugfender-growth-from-side-projec...
So all of our traffic is now organic.
1. Developers love to build things that they want to or are paid to. If you had to develop every tool you used for work and bootstrap a complete system you would learn a ton, but not get much done on whatever the original task was.
2. Developers hate using up mental space more than they hate spending money. If I subscribe to your subscription only development tool then I have this little ping in the back of my head whenever I use it or whenever I get an email from you. "Hmm, when does this renew? Is it still worth it? What does this do again?" This is the reason I don't like subscription models. If you're constantly changing and breaking things then that's even worse. The big reason I don't buy things besides the above is that I just get tired of having to justify it and possibly expense it or wait for approval so if it's not something I personally want enough to spend my own money on, I won't' buy it.
3. I mean, maybe someone right out of college or someone with no other constraints besides work on their time. But I covet my time and guard it as my most precious resource.
Once that's done, the service has to be integrated with their Single-sign on platform. If they are lucky. Otherwise they will have to use a shared password manager, which is likely an excel sheet in the shared drive.
Or they can develop a quick hack, spin up a few servers on AWS that cost much more per month than the service. But they can do it on their own schedule. That's the big difference once you are setup as an approved vendor in a big organization.
I don't think this one is true at all. In my experience, developers tend to spend far more than most on education, gadgets, health supplements, memberships, and even food than non-devs.
As a digital nomad, I've seen a lot of devs in a lot of places and it's not uncommon to see them spend more on pure consumption than the average person in their home county earns in total!
However, I often encounter these roadblocks :
1) The product is not opensource and I can't tweak the 2 line of code I need to make it work with - for example - a different OIDC provider without opening a feature request that will take forever to ship.
2) The product is a SAAS one. Company policies, network security and common sense prohibit me from sending any data to an external provider that is not vetted. Sorry.
3) It's difficult to ship (enterprise) software that would require acquisition of a commercial license from a dependency in order to work as expected. It's doable for a critical piece that you can't replace, but it's really cumbersome when every single piece start asking for a license in order to work. As someone setting up some infrastructure, I don't like to depend on batches of commercial software either because renewals are a pain.
All the points you made ring true, making every sale a slog, even if its a relatively low LTV.
Additionally, support was relatively not fun -- mostly "I didn't even attempt to read the docs, and it is your fault".
I always try to point this out when it happens, and advise them to just pay for it, unless they want to create a competing product.
Bonus points for such requests when that feature/other-person's-product is probably more lucrative than the entire actual product they're trying to build. Which does happen, and never fails to be funny.
So setting up and using the thing needs to be not just easier than doing it yourself, but significantly easier than doing it yourself.
We (Sourcegraph) have started our own company handbook (https://about.sourcegraph.com/handbook), inspired by GitLab. So far it has helped new teammates onboard more quickly and (along with other efforts to diligently document internal practices) helped us work efficiently on a growing team spanning many timezones.
Take a look at DigitalOcean's articles and compare to this one: night and day.
> Take a look at DigitalOcean's articles and compare to this one: night and day.
DigitalOcean's SEO articles are also for self-promotion and improving search result position. IIRC they pay some of the volunteer authors in DO credits.
I totally get that it's on me, but things [like this](https://hackernoon.com/how-we-spent-30k-usd-in-firebase-in-l...) happen, and I'm way more apprehensive of services that make that a possibility. E.g. I'd love to use Auth0 for everything, but the risk of spending way too much on something I can roll myself is always on my mind.
We went through the same process around Auth0, and eventually built our own solution for handling authentication because even with our current user volume all Auth0 would tell us on pricing was "contact sales", which tends to be the case with every product we look at these days.
It seems we might use Amazon Cognito, which seems a bit rough / neglected when it comes to aws products but the difference is basically free up to 50K MAU.
Couldn't find a nice middle ground, Okta and the others were all prohibitively expensive as well.
That and having to keep up with a bunch of different bills.
It slightly depends where your price point is, but the issue is there are plenty of good devs and plenty of really bad devs. The bad ones pay you the annual maintenance and transform into help vampires. The problem is the issues are technical and complex and it sucks up developer time supporting them.
It happens in the end user market, sure, but it's easier to find non-technical first line support to clear out the noise.
- Part 2: https://manifold.co/blog/founders-guide-developer-tools-mark...
- Part 3: https://manifold.co/blog/founders-guide-developer-tools-go-t...
But aside from all the examples and tutorials, please don't forget about a proper manual and full API docs. I've seen too many different tools and tech that have spent a lot of money on writing up the happy path, but then completely left me on my own when I encountered some weird error code.
Just follow the structure of the whole API you have, and make sure that each member, each function argument and each possible return value is documented. It's not as glamorous as "one button integration" - but that one button integration usually turns into nightmare when you want to wire it up to your automatic builds anyway.
* Free tier - essential
* Documentation - essential
* Stack overflow tag - desirable
Some things, Money can't buy. For everything else there's... :P
Geocod.io has a free tier and we used it at work until we bought the full thing. Google Cloud has a trial and I activated it and then didn't use it so I didn't actually get to try it.
So not quite equivalent, I suppose, since the lock-in is tighter with free tier. You never put anything critical on trial but you do on free tier.
I much prefer when the trial counts down some other finite resource that I have some control over, rather than wall time. For desktop software, number of days of actual use are a good option, for SaaS that's often difficult to measure sensibly. (Was the app open in a background tab somewhere? Oops, time's up.) So I'm much more likely to give a trial period with a fixed number of events/tickets/jobs/whatever a go.
For a new product would you think it odd if there was a load of questions and answers by the company - faqs sort of thing?
It would be a monitored tag so questions would get answered
I experimented with a "pay as you go" plan that starts at $0 and includes some free PDFs, but so far I've earned close $0 from all of these customers. But this might just be because the people who asked about alternative pricing are much more price-sensitive and early-stage, while bigger companies don't think twice about $49/mo.
I'm not going to get my boss to pay for something that is made out of duct tape. If you want to sell something to people who probably know how to build it themselves, you need to impress them with something shiny. While it should work perfectly most of the time, it should also come with helpful error messages when it doesn't like the input. If I come across some cryptic, ungooglable internal error or access violation or assertion where I'd have to contact support to even understand what's wrong, I'd rather delete your tool immediately.
«If you want to sell something make features the customer wants to buy and tell them about it»
- Don't be a solo founder, no body is going to fund you. Your idea may be crappy, you can pivot. But solo founder is a big no no, unless you are successful founder with a new venture.
- Either you or your co-founder is "the" person in your product area or you are able to hire someone who is. Developer tools companies always try to do this to become #1 (at least in twitter).
- You probably should make a new database or a security tool if you are in the B2B space. Otherwise you will have a very hard time making money.
This gives space to new entrants.