As with most of these companies, user-facing feature development is only a small part of the engineering workload.
I would assume the majority of those engineers are working on less visible tasks: Devops, build systems, infrastructure monitoring, security, backups and data integrity, internal tooling for customer support, billing and accounts management, and other critical but otherwise invisible tasks.
Duplicating the core 80% of Asana's features as a one-off product wouldn't be extraordinarily difficult. Scaling it into something that can operate as a business with hardened security, reliable data storage, consistent uptime, and reasonable internal tooling for customer service is where things get difficult.
That said, companies often go overboard with hiring in the run-up to IPOs or acquisitions. Excessive R&D spends can be fixed on the road to profitability. Restoring a company's reputation after a major data loss disaster or a security breach is much more difficult, so it's safer to err on the side of throwing too many engineers at polishing everything. If they can't scale revenues to match, expect the engineering workforce to be cut down significantly.
How many of those jobs would be required if Asana was simply sold in a shrink-wrapped box that you installed on your desktop or the downstairs server run by the corporate IT guy.
In some ways SaaS is a big win because it offloads all those tasks to a centrally hosted service. No IT guy or tower server in the corporate mail room required. OTOH not everyone has the same ops requirements. Not every customer needs 99.999% reliabilty. Or ultra-hardened HIPAA-compliant security. Or heck, even remote access outside the office LAN.
By delivering Asana as SaaS instead of shrink-wrapped software, it means the Asana hosting team has to deliver to insanely tight operational requirements to every single customer. If one customer requires 5-9s of uptime, then basically every customer requires it. That certainly explodes the cost-of-goods-sold beyond selling shrink-wrapped software.
But, still a fair good comparison of the shrink-wrapped software startups of yesteryear to today's SaaS business model. Operating systems certainly seem inherently more complex, so that should handicap things in favor of Asana. Of course, Red Hat is just re-packaging what's mostly developed by external open source contributors. But still, if we're talking about the overhead of support/services/sales, if anything that should make things harder for Red Hat.
In terms of COGS (cost of goods sold), its amazing how close the two land together. 14% or revenue at Asana and 17% at Red Hat. Since COGS includes technical support, it doesn't really seem that shrink-wrapped software is significantly more costly to support than SaaS.
For both companies sales is a major expense item. Still Red Hat's model seems to have a handy advantage. Its "only" paying 32% of revenue to sales, whereas Asana is paying a whooping 76% of revenue to sales. To be fair Asana is achieving a much faster growth rate than 2005-era Red Hat. Still, there doesn't really seem to be any clear sign that shrink-wrapped software is more expensive to sell than SaaS. At least in the enterprise space.
However with R&D costs the discrepancy's pretty clear. In 2005, Red Hat was spending 16% of revenue on this line item. Asana triples this rate by spending nearly 50% of revenue on R&D. And again, ipso facto it certainly seems like Red Hat is developing a much more complex product.
Also, with SaaS you can get access to log files, if it's installed on prem that can be heavily restricted by regulation.
Also if stuff goes wrong in the node model, the customer will blame you even if it's mostly their fault. So it's also important for brand benefits.
I agree trade-offs, but I sometimes feel the gain has not been all that great.
That's not even taking into consideration the fact that you no longer quite know what's going on in those 70K instances, which leads to extremely rigorous tests or the need for a big support team.
It would be interesting to know what costs the Jira self hosted option has put on the product for comparison to Asana's running costs.
Individual companies don't benefit from low productivity, and neither does the economy as a whole.
As a simple example, watching a movie doesn't produce anything, but it does give people joy. Similarly, eating anything tastier than the bare minimum gruel to keep you alive and healthy mostly just gives you extra joy.
Orthodox economics is perfectly fine with that. They deal in 'utility'. Fun is a perfectly fine product to deliver.
So eg gambling or playing the lottery can be perfectly rational, as long as you are aware that you are doing it for the entertainment value, and not as a financial investment.
Now for our situation: I hold that the extra work here doesn't provide any net gain in utility. Not even for people who like programming: there's enough other programming work left that's not just churn and that's not any less enjoyable.
Of course, the humble agnostic choice of orthodox economics is not the only possible one. If you are some kind of puritan or a paperclip maximizer, you'll know for a fact that producing fun is not productive. Only paperclips count (or whatever puritans optimise for).
Not to mention that they didn't have the advantage of duplicating features. Developing an application from scratch requires significant experimentation, false starts, deprecated features, associated tech debt, reinvention, etc.
Just because you can drive across the US in four days, it doesn't mean the first explorers to make the journey were lazy.
However I am not sure how much is strictly necessary.
I honestly think a small team could achieve lot more . You loose the agility of smaller team at >50 have large company problems without the benefit of sheer manpower 500-1000 typically brings.
Scaling devops is not as hard as it sounds . There are plenty of cloud native services which scale pretty well more or less out of the box( you still domain knowledge I.e. need to know that service’s unique limitations)
scaling it for cheap is harder, still not as hard as it used to be, plenty of mature tech is available today. Ironically devops engineers with modern cloud skills generally are more expensive than the ones who know how to stand a server in a DC.
A lot of startups like WhatsApp , Instagram built great products at scale with less than < 50 so it not impossible to achieve
One interesting thing to note is that as these constraints relax (business stabilizes, growth slows) the engineering teams can make better decisions in the present, clean up the decisions of the past, and reduce their overall need for people. If the company has built a money-printing machine the redundant people are then moved to new lines of business funded by the money-printer. If there's no money-printing happening, margins are super thin, and there's an incentive for the company to cut costs... where do those people go?
It is easier to solve problems by adding more people, especially when financial resources is not a constraint. However like technical debt, process and people debt will keep growing. There are some methods to have handle on it like the Spotify pod model, but no method is the magic bullet.
Every resource you add is additional cost not just on the payroll but also on the work overhead. 2x sized company will not do 2x work after all. At some point the incremental value of new resource is not worth the incremental cost.
I am not sure many startups consciously think this through while scaling up.
Yet many companies invest in it because in the end, the client is happy to pay for all your additional expenses, knowing that they can trust your service.
Kik messenger had 300M users and a tiny team. Same with WhatsApp - and it's reliable.
Asana scales more or less horizontally, meaning that they don't do anything much at the scale of all of Asanas customers. No individual customer repo should be massive (unlike say Facebook, where a user search searches the entire world.)
SaaS services with easily replicatable software live or die by building barrier to entry, usually this is done by building up a wall of feature add ons and integrations, in the case of Asana, integrate with all the things and suddenly it's a pain in the arse to replicate it all.
I would hazard a guess most the development effort is based around building up that wall of features.
The reason reminded me of when I get quoted a large price for an hours work like dentist or plumber and they are like i have insurance and car expenses ;)
Most of these other things are absolutely useless.
Billing is easy until you have to serve 200 countries, each with their own regulation and tax systems. Sure, you can outsource that but it won't be much cheaper once you reach scale (as parts remain manual).
And I don't think many would agree that customer support is useless. As a developer, I wouldn't want every customer request to hit my desk. Having customer support that cannot only filter out requests but also respond in a less technical way than most developers is invaluable.
Eg backups and data integrity sound rather important.
Eg build systems are only useful as an enabler for the other things your company wants to do, true.
The answer is, unsurprisingly, not that they're terribly inefficient. Rather it's that running a popular service at scale is hard, the long tail of features is really a long tail, and a lot of effort goes into even simple things because small differences really add up when multiplied by large N.
* Small team of 5 devs and maybe 1 manager working on some large area of the product is very efficient
* Startup is growing users/revenue very fast, attracts big VC investment
* Major hiring, a year or two later that same area of the product has 30 devs, 5 product managers, 5 dev managers, 3 designers, a manager of the dev managers, a manager of the product managers/designers, and a manager of the dev and product managers
* There’s too many cooks in the kitchen, nobody feels empowered to make decisions, meetings multiply like crazy, every decision takes exponentially longer to make than before
* Instead of planning 1 sprint ahead, you start doing quarterly plans, 3 year visions, customer facing roadmaps, etc. “Predictability” becomes more important than productivity
* Teams know that only predictability matters, so they start making really conservative estimates, just to be safe
* If you have 2 months to do 1 month of work ... it’ll take 2 months. And this starts becoming the new norm
* Plus, you start spending more and more time planning, “scoping out epics”, etc., to get “better” estimates
You get the idea - pretty soon that 45 person team ships not much more than the 6 person team used to. Nobody is purposefully dogging it, or trying to go slow, but it happens when companies grow unless you’re really, REALLY good at fighting it. And few companies are. Everyone is BUSY, but they’re busy doing quarterly plans, “full potential analyses”, change management, meeting with stakeholders, working on all sorts of checkboxes to get all sorts of security certifications to sell to one or two big government buyers, working on “business development” projects that users don’t care about, etc.
As an example, supporting OAuth is easy. But making sure your software works with all kinds of on prem LDAP for authentication is much harder.
Remember there are businesses that do well writing no code at all! Code or features isn't what it is al about, but in a tech company it is somewhere between nothing and everything.
Adding an engineer to a team slows down the whole team a little. There comes a point where adding head count actually results in less productivity overall. This is typically countered by splitting up work into various teams with minimal interaction between them. Like Amazon's famous two-pizza team strategy. This is the main attraction of microservices, each team can own their own piece of the code and change it and deploy it without (ideally) having to consult with anyone else.
Tip for those of you with the same problem, if you can, try to sync both the data and the actions taken to produce the data (event sourcing) and try to eliminate sources of indeterminism.
Wow. Interesting.
There are definitely good reasons to build your own framework but performant and stable applications isn't one of them. Usually it's a solution looking for a problem.
When they built Luna stuff like react didn't exist.
Investing in developer tooling including frameworks is a fine use of time and often pays off hugely. There wasn't a better alternative 11 years ago.
Luna had some of the same concepts underpinning React, about 5 years earlier.
https://blog.asana.com/2010/02/lunascript-our-in-house-langu...
I understand (but not approve) 300 devs - they got a ton of integrations, enterprise client handling, lot of mobile, frontend and backend surface area to cover, lots of devops and support, teams to build new features, maintain tooling and so on... given time, any software team will slow down and scale up, unless it is specifically countered by the company. There's always stuff to be done (create, maintain, or both), pressure comes from the top and the usual response is "throw bodies at it". The less hackerish/the more corporate the company, the faster the engineering team blows up. Kinda inverse function of the red tape.
But the reason I believe Asana is going down is that their product is just what it sounds like - boring. It's a problem that's been solved a million times and they are just lucky they got on the ride in the early days. But they never evolved and the marked is getting new competition every day that is fighting to take their users away the moment they google asana alternatives. On one hand, they got Jira/YouTrack to fight on the enterprise side and Trello/Monday/Clubhouse/Notion to fight at the startup & SMB sides. If they don't evolve their product and bring something unique that will differentiate them and save their customers more time or mental context, they will remain the "boring" choice in a time where people are looking for the "fun" thing. And while it's good to be the boring choice, it's also a good way to haemorrhage users and profits.
If I was steering Asana, I'd look at stuff like Notion and JetBrains Space for inspiration and product evolution, focus on minimising users context burn rate, developer and general UX optimisation and visual noise reduction. If there is no large changes soon, grab some popcorn and watch it burn - I give it about a year before it starts tumbling downwards.
It's really hard to have a failed tech IPO at the moment with all the demand which is why they're all rushing the gates.
It'll take a large, broad recession to bring tech stocks back down
I'd expect Asana, Unity, Sumo and Snowflake to all pop and stay up in the short term
I'd add AirBNB to the list considering booking is only down 10% off it's high and Expedia is up 100%+ from it's covid-low
I was wondering who was going to hit the nail on the head
LIQUIDITY
-> looking for a return, ANY RETURN
That's why all large tech stocks are booming
that's why Tesla has 1,000 P/E
Anywhere that all this Feb Printing Press Money can park itself, that might be safe and/or give return
IT WILL RUSH TO
Anyone who can IPO, should IPO
It's more like we're in the equivalent of the first or second inning of the post great recession recovery now.
This recession isn't broad, it's unusual in its disjointed hit. It's primarily hammering lower income labor and specific types of small businesses. 40% of low income households lost jobs just in the March and April shutdown. That's where most of the job damage was at:
CNBC "Households with income below $40,000 were hit hardest by the coronavirus pandemic. Almost 40% were laid off or furloughed by early April, according to the Federal Reserve."
Jobs in the top 2/3 have largely been unscathed, which is why the broad housing market continues humming along in most regards (whereas housing got smashed in every way in the great recession). It's also why hiring has been so ferocious and unemployment has recovered dramatically faster than during the great recession; it's specifically because the context isn't all encompassing. The great recession didn't spare the middle class and higher income groups nearly so much, it was a very broad recession.
Which all makes sense, this wasn't a normal recession, it was a temporary forced shutdown of some parts of the economy due to a pandemic (further, not all of the economy was shuttered during the second quarter, the majority of the economy kept functioning throughout the pandemic).
Product innovation and quality represent very little of a company’s value. Distribution is where value is derived, and Asana’s distribution is incredible. And their product isn’t bad!
(Note: I worked at Asana when it was ~100-150 engineers, and it felt like we could use double that. Having since moved to a FB team, I find I can develop UI features at probably 3-4x the speed in comparison to my time working on Asana UI, simply due to using modern React code with jsx and functional components using hooks)
How would you distinguish that motivation from "Investors / boards feeling that the business is in a strong position, and the worldwide uncertainty from the pandemic has stabilized enough to feel confident about continued growth, so they're ready to go public"?
Why assume such a negative viewpoint without giving any reasoning or arguments for it?
One other conflicting thing about your view, is that if filing now investors are still probably a year out from being able to sell their shares. If they thought things were about to turn south, that's a long time to wait. Surely it would be better for them to sell on a secondary offering and get out sooner if they were sure of that?
People have been saying this for months now. Is there evidence that there are disproportionally more IPOs recently?
4 relatively large, well known companies filing IPO's today.
I don't know any hard evidence to say if overall IPOs increased but the examples named in this thread are very biased towards tech.
Wirecard laundered money over years and the FT reported on it, it still took a long time for it to collapse.
Asana is closer to Slack than other cloud stocks imo, and given Slack's mediocre performance could easily see the same thing happen with Asana.
Similarly, there is no iPhone or GoPro waiting for unleash Asana's potential.
Needful stuff.
Intercom?
Salesforce?
The stock market is not the economy.
What has changed since March, except a whole lot of small-business bankruptcies and closures, cities burning in mass protest, and an even-closer, tightly contested election with massive political consequences?
The reason the market looks so good right now is because tech stocks represent a significant portion of the indices. Many other stock are still way down (appropriately)
Is it possible to reach a S-1 with a decent valuation with just ~30 employees "market confidence"-wise?
It seems like there is more than usual IPOs this August compared to previous years: https://www.nasdaq.com/market-activity/ipos
My armchair guess would be, this is a win win market. Its booming, so you can ride it as it goes up. And if you don't do well, you can blame COVID. A lot of companies were on the cusp and this probably accelerates them all.
We do need a return to the regulatory environment where IPOs are non-news due to their frequency and prevalance
Aside from that, I'm surprised how much it costs Asana on engineering R&D, for essentially a ticket management system. How does a team grow to ~300+ developers ($89M R&D) to figure out how to attach PDFs and videos to tickets, and email people when there's a change in status? (ok yes I'm oversimplifying a bit, but not that much)
And (as with all such companies) how much they need to pour into Marketing/Sales to sell this thing. These above costs basically wipe out the gross profits by 2x.