Readit News logoReadit News
ang_cire · 2 years ago
> companies may stop naively believing engineers who say they can build what a vendor is offering in 2 weeks

I love to build tools out rather than buy tools, but it's not for the resume line item, and it's not for the love of development (I'm not actually a software dev, I'm infosec). I prefer to implement tools internally, when feasible, because it makes them more likely to be understood and utilized.

80% of the functionality in 90% of the tools we buy is un-utilized or under-utilized. We are constantly having vendors or tool owners offering training credits for us to learn the unnecessary bells and whistles of the tool they spent too much money on.

In contrast, the tools we build have no unnecessary features. No key functions that are *future roadmap items* for a vendor. No black-box processes that we can only shrug when asked what it's doing or how, because it's 'proprietary' secret sauce for the vendor.

Now, do most of those tools merit their own business? Not at all, and we don't try to sell them, but many of them would make great open-source projects.

Just because something would not generate money, does not mean it's not a good and worthwhile project.

rcxdude · 2 years ago
I do feel that often the cost of integration in the 'buy' solution is often overlooked: there are many fantastically expensive products you can buy which will do almost anything you can imagine, if you spend the time and effort to figure out the platform and 'configure it how you want ' (where configuring requires a software engineer because it's varying degrees of disguised programming) . It's very easy to spend more time and money doing this than an in-house solution would.
bostik · 2 years ago
I've been saying this for more than TWO DECADES: the entire "build vs. buy" is a false premise. There is no such thing as "buy".

There is "build", and then there is "buy and build". Without the proper integrations and customisations, any tool you have bought is just one more (possibly worse than) useless line item in your budget.

kageiit · 2 years ago
I was leading such a team at previous employer focused on building integrating various tools to turn this tool soup into something palatable.

The main challenge is the increasing complexity of software and processes that necessitate such tools as the engineering team grows. Usually teams building internal tools are seen as cost centers and don't get the same funding as product teams which eventually leads to teams buying more than build to save on future maintenance.

convolvatron · 2 years ago
don't forget maintenance. that's often a point made against internal tooling, but when was the last forced upgrade you had to do because an internal tool just doesn't support the old environment anymore?
mrweasel · 2 years ago
> because it makes them more likely to be understood and utilized

So my take is that this is mostly wrong, unless your organization is really good at maintenance, documentation and training.

Internal tools are terrible in the sense that there's no knowledge base to pull from, beyond internal. This limits the chance of the tools actually being use or even understood. Relying on internally developed tools put you at risk, because what frequently happens is that only a few people know how to maintain and develop for your internal thing. Maybe that's their job, but mostly it's not, it's something that happens on the side.

We have a series of home grown tools and most are terrible. Some of them could easily be written as plugins for an open source solution, saving us from having 10 small home grown and distinct solutions. Sure, there would be features we didn't need, but we'd get security updates and be able to throw out tons of boiler plate code. Some people just love coding and will see any problem as an excuse to write a new tool, only to abandon it once some new problem catches their eye and then the rest of us are stuck with their abomination.

Another tools of ours was developed to avoid providing training on a open source tool. So now we have a wrapper the ensures that "the process" is always done safely. No new features are added, so people spend unnecessary time fighting a tool, trying to make it do things it doesn't want to do. All because nobody wanted to create the required training material. Actual documentation on the wrapper is so severely limited that new hires have zero chance of actually using it to do anything remotely complex.

There can be really good reasons for developing an internal tool, but those better be damn good reasons and the organization must be able to bear the cost, most aren't.

ang_cire · 2 years ago
> We have a series of home grown tools and most are terrible. Some of them could easily be written as plugins for an open source solution

I would also consider self-hosted FOSS tools under the "build" category rather than "buy", so I would have no objection to using those versus re-building an available FOSS tool yourself. It's OSS, so you have the code, so you know what it's doing and how. It's self-hosted, so you aren't reliant on a vendor. It's (hopefully) free, so no vendor is trying to sell you on a module you don't need.

> Internal tools are terrible in the sense that there's no knowledge base to pull from, beyond internal. This limits the chance of the tools actually being use or even understood.

I think the key question here is, "who is using the internal tool?" To my mind, this is about teams building the tools THEY need, so it is nigh impossible to develop the tool but not understand it. You're not handing it off to another team, you built it because YOU need it. There can absolutely be abysmal documentation, but not having documentation and not looking at extant and extensive documentation is functionally equal, and the latter is by far the default state of tool use.

Your comment sounds as though in your mind some team is being mandated to build a tool for another team, against that other team's wishes. Is that internal to the company? Sure. Is it self-rolled? Not if the people using it didn't make it them*selves*. In that case it's really just a vendor tool, but the vendor is much less invested in the tool.

PH95VuimJjqBqy · 2 years ago
> Internal tools are terrible in the sense that there's no knowledge base to pull from, beyond internal. This limits the chance of the tools actually being use or even understood.

Not been my experience at all. The business people absolutely know that tool inside and out, just because your development teams have high turnover doesn't mean that tool hasn't been taught to everyone who uses the software.

In fact, my experience is that when a bug is introduced unknowingly the business side can describe you very concretely what it used to do and what they want it to do.

clwg · 2 years ago
Being able to contextualize your security tooling to the code level is such an underrated capability of an effective security program/team.

It also allows you to leverage open-source tooling much more effectively.

The biggest problem is your setting a bar for capabilities that allot of infosec people don't have, so you need to consider the ability to manage a custom security code base into the future, which can cause issues if it's not considered properly for the environment your doing it in.

mdorazio · 2 years ago
Do you also love to maintain the tools you build? That's at least half the reason you buy instead of build.
ang_cire · 2 years ago
Yes, of course. I know some people want to build something and then hand it off, but personally I love to actually use and improve the tools I make.

Even with my personal projects, I find myself going back to my old projects and adding stuff to them, much more often than I find myself starting brand new ones.

unlikelytomato · 2 years ago
As long as someone also accounts for the cost to maintain a business relationship with the vendor. This has not been my experience.
jpgvm · 2 years ago
Maintenance is easy if you don't suck at retention. As much as engineers like to build they also really enjoy gardening.

The only compelling argument I have heard for buy over build is "well, our engineers keep leaving". Yeah, because you are terrible at managing them - so no shit they leave.

A competently managed technical team has some natural attrition but the rates of turnover I see in a lot of companies that push this ethos is far beyond normal or healthy.

All software becomes "legacy" in short order if you are constantly hemorrhaging tribal knowledge and skills.

nitwit005 · 2 years ago
> 80% of the functionality in 90% of the tools we buy is un-utilized or under-utilized.

And they want you to pay for the unused parts. It's frequent that products seem brutally expensive as a result.

englishspot · 2 years ago
in addition, vendors tend to build things for a large variety of environments, and not just your specific use case. so new features would require more thought and consideration than an internal implementation for your company's specific environment.

that said, I think if what a vendor provides checks every box for your use case, buy is probably better than build.

lijok · 2 years ago
There are many counterexamples to this point. Temporal, Slack, Nango, Trello, GitHub, Jira, Intercom, AWS, basically every Terminal SaaS out there, Mailchimp, Asana, Zapier, Shopify, Hubspot, etc

Does anyone know how the failure rate of startups based on internal tools, stacks up against the failure rate of startups at large?

krallja · 2 years ago
Trello was built, from its inception, to make a marketing splash at TechCrunch Disrupt 2011. It didn’t start as an internal tool. Sure, we dogfooded (…dogfed?) it, but that was Fog Creek’s culture for every product we launched.

FogBugz DID start as an internal tool, which was more profitable than Trello (pre-Atlassian), but it’s going to turn 25 this year. Don’t make business decisions based on software that could register as an antique, if it were a car.

MajimasEyepatch · 2 years ago
AWS was never really an internal tool. The idea that Amazon had all this extra capacity and decided to open it up is a myth. AWS was always a deliberate strategy. Now, you could argue that it arose out of the expertise they acquired in building API-first infrastructure, but I think that’s different than a lot of these examples.
lijok · 2 years ago
SQS, S3 and EC2 were all internal systems that they decided to start offering publicly at some point. That’s the widely understood history. I’d love to read anything contrary to that, sounds very interesting
bsdpufferfish · 2 years ago
I think the software for managing servers was internal, not the massive build out of hardware.
lupire · 2 years ago
It was more of a symbiotic evolution with both goals mind.

On the business side, Amazon externalized every little piece of its retail business into a product, from the website itself (target.com), 3P sellers, FBA, etc.

akavi · 2 years ago
Pagerduty was explicitly modeled after an internal tool at Amazon

Deleted Comment

zumu · 2 years ago
> Temporal

They are well funded, but do they actually make money? Seems like the odd one out in your list.

kmdupree · 2 years ago
OP here with a friendly reminder that we should also look at the denominator when evaluating how useful the "internal tools make good startups" heuristic is.

Also note that I'm not claiming they are never good ideas, so pointing out instances where they've panned out isn't very interesting. It'd be more interesting if you could show that the hit rate among these types of startups is better than I'm suggesting (for that we need to consider the denominator).

tobr · 2 years ago
Could you give an example where “<category description> often make bad startup ideas” would be false?
lijok · 2 years ago
Apologies, I was actually going to finish my comment with “does anyone know how the fail rate of such startups stacks against the fail rate of startups at large?”

But I got carried away with trying to recall all the companies that started out as internal tools, that I forgot

NomDePlum · 2 years ago
Was Twitter not an internal tool?

Not sure hit rate is anywhere close to the statistic to measure startups by either. Successful ones are called Unicorns for a reason.

hiddencost · 2 years ago
Tailscale
marsissippi · 2 years ago
Good short post. Good short quote:

"You can also bet that a full stack js dev would rather buy your Kafka wrapper than learn Scala, which will do nothing for her career prospects."

The implicit point is that we often abstract to the level of the company, but we can (sometimes more profitably) abstract just to the level of the purchasing authority (and those are often different and have different incentives).

kmdupree · 2 years ago
OP here. Yes! Thank you for seeing this! I make this point explicitly in a previous post called "Conflicting employee vs. business incentives slow B2B SaaS growth rates"
preommr · 2 years ago
> "You can also bet that a full stack js dev would rather buy your Kafka wrapper than learn Scala, which will do nothing for her career prospects."

My reading comprehension is bad then because that's a very confusing sentence.

- There are lots of full stack devs that would rather learn scala than a kafka wrapper. In fact, I would say it's more likely because a full-stack dev is inclined to be more flexible and learn different tools.

- Not really sure that kafka and scala are one-to-one comparisons

- I am also not sure which one "which will do nothing for her career prospects" refers to. Is learning a wrapper for kafka useless, or is learning scala useless in that quote?

cyanydeez · 2 years ago
learning a Kafka wrapper is useless.
dvt · 2 years ago
For a philosophy professor, I really don't get the thesis of this post. Is the point that engineers like to build stuff and most stuff they build won't be a successful startup? This seems extremely trivial and doesn't solely apply to internal tools (in fact, it applies to everything one builds). Is the argument that the signal is worse when it comes to internal tools rather than non-internal ones? Could be true (I dunno'), but there's no supporting evidence.

Genuinely confused.

altdataseller · 2 years ago
To be fair his bio says wannabe philosoph professor, so I don’t think he actually is one?
jolt42 · 2 years ago
Yeah, also confused. I will say that when I look at off-the-shelf stuff often I'll find something that is %80 of what is needed, and that other %20 is more difficult to retrofit than something from built internally that can grow with the company.
adamsilkey · 2 years ago
I think the point is that engineers are capable of rebuilding internal tools, so internal tools as a product to sell to other companies may not be a great startup idea.

It'd be different if you were building internal tools for a group that couldn't replicate your work, like accountants or HR.

At least, that's what I got from it. (And I'm not saying I agree with the thesis.)

kromem · 2 years ago
I think this notion can be more generalized: "most ideas are bad startup ideas."

An industry with a 90% 10yr failure rate isn't one where the majority of its members embody wisdom and foresight.

So there's counterexamples to internal tools being good products. But most are bad, just as most external tools are also bad startups.

zztop44 · 2 years ago
There’s a difference between bad startup ideas and bad startups. Execution is critical; a 90% failure rate doesn’t tell you anything about the quality of ideas.

Internal tools sound like they should be good startup ideas (see the YC call for startups on today’s front page). Arguing they’re not is making a specific point and different to “most startups will fail.”

Etheryte · 2 years ago
Arguing over whether an idea is good or not is in general pretty pointless. Anyone can come up with the idea of flying cars, it's the execution that counts. If you manage to build a team with great execution, you will figure out something that sticks eventually.
brettv2 · 2 years ago
Right, but the important difference between an internal tool and {any other start up idea} is that the internal tool, in theory, has "traction" - i.e. it is being used by people. By definition, you can't pose the same perceived value on something that _isn't_ an internal tool.
carloslfu · 2 years ago
Banger! This is it!
tqi · 2 years ago
Reflecting on this, I kind of feel like the opposite has actually been true for the last 10+ years?

Early in my career, I saw many examples of homegrown AB test frameworks, event tracking frameworks, alerting tools, monitoring tools, etc. Now it seems like everyone just buys LaunchDarkly, Segment, DataDog, etc. Other than admin panels, I have a hard time thinking of any truly "internal" tools at my last few companies (FAANG was the exception, but they are big enough that I think it genuinely makes sense for them to build their own tools for things like applicant tracking, meeting booking, etc).

Maybe I'm just forgetting something - do other ppl have examples "internal tools"?

jamesfinlayson · 2 years ago
There are a few at companies that I've worked at. - Two previous companies have had hand-rolled timesheet tools (I'm sure there are plenty of alternatives now but both were probably built in the mid 2000s when there were't many alternatives) - A previous company had a integration environment booking tool - not sure why a custom solution was needed as any calendar tool should work but maybe there were some specific requirements (I was never a user of the tool) - A previous company had a tool for release management that pull in a bunch of items from Jira and marry them up with items in version control to generate a set of release notes in a specific format - no idea if there are any alternatives for this one but I think it had a pretty specific set of requirements None of the above would have been worth trying to monetise in my opinion.
mgummelt · 2 years ago
There are lots of examples in the use cases section of any low-code vendor, but in short, most internal tools are not in the horizontal categories you listed. They're in vertical, industry-specific categories at SES (Software-Enabled Services) companies.

A quick commerce startup, for instance, is unlikely to find an inventory tracking app off-the-shelf that fits their workflow, since existing ERPs are not going to fit their workflow.

OkayPhysicist · 2 years ago
My company's got a handful of internal tools, but they're universally not useful to anybody else. We made a license creation tool that our manufacturing/sales teams use to make licenses for the hardware we sell, we have a stack of powershell scripts that create a bunch of required documentation from our bug tracker, and I made some custom tooling that made building our (nightmarish proprietary-language software) project easier to build.
insane_dreamer · 2 years ago
build tools, often because they're so specific to the particular sw product

timesheet and similar types of tracking (often using Excel), again very specific to the particular org (it's more hassle to try to adapt some external tool)

jagged-chisel · 2 years ago
Author says “often” and the comments here are all “no! See $COMPANY!”

Folks, there’s nuance here. They didn’t say “…always make bad startup ideas.”

There could be much more interesting meat here: how many startups are based on “internal tools”? How many of those succeed (for some definition of success)?

The problem with even answering that question is that I think the numbers parallel how-many-startups-launched vs how-many-startups-succeed. And if they track pretty closely, then the headline thesis isn’t novel.

In any case, shouting “nuh uh! Slack!” doesn’t really contribute to the conversation.

caesil · 2 years ago
Yeah, almost any category you can name "often" makes a bad startup. YC-funded companies "often" fail. Building a venture-backed startup is the wrong career path if you're not willing to risk an unusually extreme chance of failure; everyone knows that going in.
elevaet · 2 years ago
As a counterexample, Slack started as in internal tool (from what I've heard), and turned out to be a very successful startup. And it wasn't the kind of thing engineers don't want to build, nor an integration of a legacy system.

Maybe all of the low hanging startup fruit of that variety has been plucked.

karamanolev · 2 years ago
> Maybe all of the low hanging startup fruit of that variety has been plucked.

I felt that I agreed, but then I would have equally agreed right before Slack got so popular, so ... maybe not? We often don't see the long hanging fruit until it gets plucked.

Or rather, it's not as low hanging - just that the difficulty is not technical, it's that building something nice that works well together is just not easy, regardless of the vertical.

BadHumans · 2 years ago
I'm of the opinion that engineers just don't understand how much ease of use is worth. The infamous Dropbox comment for example. Countless number of successful companies make tools that are not technically amazing but they just work and are designed well.
romanhn · 2 years ago
Not quite. Slack's roots are in a video game called Glitch. The game never made it out of the gate, but its messaging system found new life as Slack. Fun fact - this was Stewart Butterfield's second attempt at making a game. The first one ended up pivoting to Flickr.