26 ms·
YC Software Startups: Value and Initial Programming Language Used
- jedberg 6y agoThis is a really good time to remember correlation does not equal causation. :)
- dstick 6y agoThe title seems to insinuate there’s a correlation between a startup’s value and dev language. While I think our “inner geek“ all likes to think so - is that really the case?
- MidnightRaver 6y agoThe table very clearly shows the correlation.
- jacobwilliamroy 6y agoNope. Sample size too small to draw correlation.
- wwn_se 6y agoyep absolutely and there is also the fact that its a list of VC backed (successful)startups we would need to see the failed ones at least. I would say sound development practices (code review, platform design, testing etc) is orders of magnitude more important. Facebook started out using PHP and it was so bad they had to almost rewrite the language from scratch. PHP is now pretty decent and Facebook is doing pretty OK.
- gms 6y agoAbsolutely not. You will find winners and losers for every language.
- danielheath 6y agoThere is an attitude some programmers have that business outcomes are not their department/problem and they should focus on the tech. They will (for instance) avoid certain tech stacks, regardless of how useful the software being written is (eg “I wouldn't work for Wikipedia, they use PHP”). I suspect any tech stack that they refuse to work with is at a systematic advantage when it comes to producing useful work, because engineers who don’t want to think about fiscal outcomes can readily lead you to ruin.
- cryptica 6y agoThere is no correlation. Success is 100% business connections. Even if the CTO was terrible, it wouldn't matter because the most talented devs would be applying to work for this hot new startup and would be able to work around all of the CTO's silly constraints. I have seen this over and over in my career. The CTO imposes pointless arbitrary rules, tools and languages and then talented developers figure out a way to deliver value within those arbitrary constraints. Developers will use whatever language their boss tells them, then later when the project succeeds, they will praise that language, those tools and their bosses. People will always praise the leaders of a successful company, no matter how incompetent they are. People who succeed always think that it was because of good decision making across the board. They don't admit to themselves that the only decisions that actually matter are who the CEO is and who their friends are. Our system is crony-capitalism, no doubt about it. Nothing to do with value creation; the evidence is everywhere. Any good developer who analyzes cryptocurrency projects, for example, will realize that there is no correlation between quality (or scalability) of the technology and ranking/market cap of the project. The top, most valuable project is Bitcoin and consumes the same amount of electricity as the nation of Ireland to process a measly 4 transactions per second. Anyone who thinks that Bitcoin is the most valuable project due to technical merit is an idiot. It's 100% network effects. I can say from experience across different tech industries that the current market selection process works the same way across the entire tech sector, not just cryptocurrency. Every time a project succeeds, the people who built it will try to claim credit for that success. The people who are actually responsible for that success (through their personal connections) will happily let the technical people claim the credit because it diverts attention away from the much more cynical and unjust reality. Any attempt to insinuate that success has anything to do with choice of tech is either misguided or deeply corrupt as the dogma harms real people (who will be forced to use tools they don't like) and causes real loss in productivity.
- dyeje 6y agoNo correlation is a bold claim. It seems obvious that a web based startup built using Rails is far more likely to succeed than one using bash scripts, if all else is roughly equal.
- deleted 6y ago[deleted]
- johnny_reilly 6y agoFascinating to see how heavily Ruby and Python feature. The things that surprised me by their absence and near absence were languages I love: JS and C# That said, this is taking now well established startups that will have begun their lives 5+ years ago in general. If I was picking a back end stack then I'd probably hesitate before picking the .NET Framework. But these days I'd easily pick .NET Core. Likewise, I'd want a statically typed back end and 5 years ago I'd probably have hesitated before using TypeScript and node together. Now I do it regularly. Would be super interesting to see the same chart in 5 years with companies starting now.
- brainless 6y agoI use Python by choice and the more there is growing need for Natural Language Processing, Machine Learning, Data Mining, the more I can not leave Python. I try Rust, Ruby and others on the side. But Python is just so heavily fortified now that I constantly suggest startups who are going to build non-trivial tech to select Python. Also the whole Linux, deployment, etc. space is filled with Python. Biology, Physics, Math folks also use more Python than any other language.
- davedx 6y agoHmm. If you believe in microservices then I think it's fine to use python for your ML pipelines and API's, and some other language for the rest of your application software.
- throw1234651234 6y ago.NET Core can deploy to Linux now. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-3.1 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy... It's also faster than Node. Significantly faster. I was troubleshooting a connection issue to a db from a .NET Core API so I set up a NodeJS API hitting the same db to isolate it to the connection. After I was done fixing things, I compared the API response speeds for the same thing. .NET Core outperformed Node dramatically just like in benchmarks.
- gumby 6y agoSeems like age is a factor: ruby had its day and companies of that vintage have been around long enough for some of them to be worth bucks. Python is more perennial (over the lifetime of YC itself).
- jamil7 6y agoIn my annecdotal experience (could be completely wrong) Python and Django are much more common for the same vintage of startups in Europe as when Ruby and Rails were popular in the USA, I don't exactly know what drove it's adoption here.
- hboon 6y agoMaybe related: One of Django's creators, Simon Willison is British. I think he worked at Guardian. He's on HN too.
- pacificmint 6y agoThe page doesn’t list the year the startups were founded. I wonder if you’d see a good correlation to the founding year. More startups on the list use Ruby than any other language, and it accounts for over fifty percent of the valuation. It was very popular with startups ten, twelve years ago, but may since have slipped? On the other hand among younger companions es one might expect to see more Go, Node and maybe Rust? Still, an interesting analysis.
- pcr910303 6y agoYeah, I'm guessing that more recent startups will have much less Ruby usage.
- wronghorse 6y agoI'm curious about this too. I'm working on collecting that data for these companies. Hopefully that sheds more insight into this.
- nelsonic 6y agoYeah, Ruby and specifically Ruby-on-Rails was (and still) is very popular in SV startups. Only one mention of Elixir, I'd expect this to change in the future as Phoenix replaces Rails as the easiest framework to build MVPs.
- deleted 6y ago[deleted]
- alienfunk 6y agoI know that PagerDuty also uses Elixir for some of their backend services. See https://www.pagerduty.com/blog/elixir-at-pagerduty/ https://www.pagerduty.com/blog/elixir-at-pagerduty/
- inopinatus 6y agoIf you're talking about survivorship bias, I can well believe it. Ruby is still popular with startups, and there's no falloff in Rails usage, if the gem download graph is anything to go by.
- jamil7 6y agoArchive link: https://web.archive.org/web/20200826060913/https://charliereese.ca/article/top-50-y-combinator-tech-startups https://web.archive.org/web/20200826060913/https://charliere... Looks like HN brought it down.
- m0zg 6y agoClearly they should have used a higher performance programming language. :-)
- AlchemistCamp 6y agoNah, getting their MVP up quickly let them validate. Now they know it's worth the effort to scale ;)
- charliereese 6y agoHahaha clearly!
- hardwaregeek 6y agoReddit was Lisp for a rather short time before being rewritten in Python. Isn't the story that HN was written in Arc as a response to Reddit's Python rewrite?
- reikonomusha 6y agoI think it still definitely counts. Reddit 1.0 was Lisp, and deployed as a Lisp service. It wasn’t as if it was some hokey prototype then finally converted for showtime.
- jedberg 6y agoHN was written in Arc because Paul liked Lisp and made Arc and wanted a real project to try it. It really had nothing to do with reddit's switch to Python (which as you correctly point out was in it's second year). HN was more a response to PG wanting more moderation control over the content.
- hntestacc 6y agotest
- jacobwilliamroy 6y agoI bet there's at least one company on this list who says they use a flash programming language because they're too embarrassed to tell the world they're running autohotkey scripts over an excel spreadsheet.
- ackbar03 6y agono way, is that actually possible?
- jacobwilliamroy 6y agoExcel is extremely well optimized and can easily handle GB size CSVs
- mlnj 6y agoAt a company I used to work for there were tales of an early admin guy handling all of payroll, employee directory, and tonnes of admin task data for multiple hundreds of employees in Excel. Guy was an Excel god. It worked perfectly fine until it was move into a proper database with in house built portals to handle the tasks.
- davio 6y agoWe used to have a prophecy that when the IT apocalypse hits, we'll be pushing our shopping carts around like in Cormac McCarthy's The Road; moving from company to company to fix the VLookups in their Excel spreadmarts
- patrickk 6y agohttps://www.the-automator.com/excel-autohotkey/ https://www.the-automator.com/excel-autohotkey/
- johnisgood 6y agoIs there a list of what they have changed their programming language to? Like... Reddit indeed used to have their initial implementation in Lisp, but it is now Python.
- mlkmt 6y agoSome of these are wrong: Rappi used PHP exclusively for it's first year, for instance
- charliereese 6y agoIf you can send me a source for that (on Twitter @charlieinthe6), I'm happy to make that change!
- treis 6y agoYou have Go listed for Twitch, but justin.tv launched in 2007 and Go didn't exist until 2009.
- charliereese 6y agoGreat point! Will make the change now.
- nomacrospls 6y agoCan we also submit it via HN? If so, my understanding is that Pagerduty is running and long-term invested in Elixir (https://www.pagerduty.com/blog/elixir-at-pagerduty/ https://www.pagerduty.com/blog/elixir-at-pagerduty/) and Podium has migrated from Ruby to Elixir as the main stack (https://medium.com/podium-engineering/two-years-of-elixir-at-podium-thoughts-9f30defedb7d https://medium.com/podium-engineering/two-years-of-elixir-at...). Thanks! Edit: oops, I see now it is the initial language. Indeed PagerDuty started using Elixir only later on. Although one could argue Elixir was part of Podium in its initial growth.
- charliereese 6y agoExactly - trying to capture what language they started with. It was by no means a perfect science - was a lot of digging around on the internet for the oldest reference I could find!
- ezekiel68 6y agoInteresting that all of them which have "Y" for category "LowLv" incorporated one or more of c++, go, or rust[0]. Many which have "Y" for "DataSci" similarly use strongly typed/compiled languages (including Java). However, for general ecommerce / service-oriented offerings, there can be no dispute, given this list, whether ruby or python by themselves are up to the task. [0] Dropbox is listed as python only, but it is well known (and documented) they have re-written key elements of their back end in rust. https://dropbox.tech/infrastructure/rewriting-the-heart-of-our-sync-engine https://dropbox.tech/infrastructure/rewriting-the-heart-of-o...
- praveen9920 6y agoRuby certainly seems to have advantage in terms of spinning up a basic working product, which matters more than developing a well engineered solution.
- donw 6y agoWhy does using Ruby or Python preclude having a well-engineered solution?
- inopinatus 6y agoWell, that's the best part; in a very wide gamut of cases, they don't, and since both play nice with compiled languages a scaling up can benefit from both worlds.
- donw 6y agoI would argue that "engineering" and "scale" are different concerns. Engineering is about building and maintaining things fit for their purpose. A bridge that only needs to last for one year is designed very differently than a bridge intended to be used for twenty years. In the case of software, that means (a) building what your users and business need; (b) designing software that is easy to change; and (c) delivering enough scale to meet your expected needs for the current business cycle. For a new startup, you can probably get by with a Rails app on a single Digital Ocean droplet, with plans to scale horizontally. For an established business, you might have a large data warehousing operation running custom C++ code across multiple datacenters, of which the web frontend is a tiny (but important) part. Good software engineering makes the steps between "New Startup" and "Established Business" as painless as possible, with a minimum of additional overhead.
- tluyben2 6y ago> A bridge that only needs to last for one year is designed very differently than a bridge intended to be used for twenty years. Yes, but in software, the usual case ends up that the 1 year bridge actually has to become an interstellar spaceship and has to last basically forever. This happens in other disciplines as well but I have not seen it as extreme as many software projects I saw.
- onion2k 6y agoThe fact that JS barely makes the list indicates to me that YC companies tend to have entirely separate frontend and backend codebases. That either indicates separate teams of frontend and backend developers, which I think is unlikely in a young company, or that there's an expectation that developers in early YC companies are expected to use (at least) two languages. Something to think about if you're starting out as a dev and thinking of looking for a role in a YC startup.
- hntestacc 6y agotest
- pcr910303 6y agoTwo devs, each frontend and backend will work out pretty well even in a super-small startup I guess?
- capableweb 6y agoDepends entirely on the dynamic of the two people since backend and frontend has to work well together. When you're in a early startup, you want everyone to be on the same page, so you want people to collaborate closely. If they are people who like to work in silos without talking with each other, you'll have bunch of impedance mismatches at that stage. So you'll want a close team early on and if you can find someone who is good with both frontend and backend and could build it as one person, that'll be better for the early stages. Or two people who can collaborate closely.
- spullara 6y agoJust depends entirely on what you are doing. If you are ecommerce you can basically stick to really slow languages forever as the request volume is so small it should be a small fraction of your application. For consumer scale you end up scaling with caching and eventually migrate or severely optimize - like writing your own language runtime like FB. None of this accounts for all the analytics they are doing which is mostly written in Java and C++.
- donw 6y agoEven outside of e-commerce -- I would say anything on the web. Run something like Ruby/Python for the majority of your web services, and deploy Elixir/Go/Kotlin/C++/Swift whenever you hit a data-munching need that Ruby/Python can't handle. This doesn't fly if you're doing games, or augmented reality (AR), or mobile apps, or embedded stuff... but the web is still a pretty big place to build.
- Cthulhu_ 6y agoPretty much. Solve the problem first, then measure where the bottlenecks are and focus on those. The premature optimization adage has been touted around since forever but it can be widely applied.
- iamsb 6y agoThe only thing that stands out for me, not a single one of these startups use Microsoft tech, even though DOT NET apparently is quite good to work with, from what I hear.
- donw 6y agoI think that this article[1] is still relevant. In short, if you go Microsoft, you know you're locking yourself into an expensive ecosystem, one with no viable open-source escape hatch. Moreover, you need to find developers that want to work on the .NET platform. Most of those people work in banking or in large organizations, and are unlikely to want to jump ship to a startup. [1] https://blog.jonathanoliver.com/why-i-left-dot-net/ https://blog.jonathanoliver.com/why-i-left-dot-net/
- csmattryder 6y agoAn article from 2014? You should know things have changed since then, with .NET Core and the open-sourcing of most .NET tech (Roselyn, OmniSharp and the .NET Core tooling). No more lock-in with Windows Server, no more SQL Server. Bring your favourite Linux distro and open-source RDBMS. I left .NET for Ruby in 2013, and in the last two years, I've come sprinting back to .NET Core. Microsoft is definitely hot again.
- Cthulhu_ 6y agoBut I'm sure you can recognise that .NET has a lot of err, negative inertia; it is becoming a more viable solution, but it's not there yet. I did end up in a project a little while ago where they picked .net and azure as their technology of choice. Not sure what factors were in play there.
- donw 6y agoMicrosoft Research certainly does a lot of interesting stuff, but I think the bigger point is inertia -- Microsoft doesn't have any in the startup space. Ruby, and to a large extent Python, started from zero, and gained a ton of traction during the whole Web 2.0 rumble. Microsoft is starting from a negative perception amongst a lot of engineers, and unless they can provide some sort of killer reason to use .NET technologies -- one that doesn't lock you into their ecosystem -- then I don't see them unseating the established players. Swift and its descendants will be around as long as Apple is, same story for Java and Android. Ruby/Python/Node will continue on in the Web space, with Go/Rust/C++ duking it out for backend services. This game changes should Microsoft blow a new market open, though, like Apple and Google did with smartphones.
- zelly 6y agoThis is a lagging indicator. If you did this in 2010, the top companies would all be PHP.
- abop 6y agoThe biggest example of this I can think of is Facebook
- codesections 6y agoThis serves as an interesting counterpoint to Paul Graham's Beating the Averages[0] essay (which argues for using a powerful programming language as a secret weapon to allow a startup to outperform its competitors). Reading this list, I'm struck by just how mainstream the languages are. I don't have anything against Python or Ruby, but it'd be hard to describe either as a secret weapon — indeed, about the only "secret weapon" languages on that list are Lisp and Elixir, each of which shows up only once. [0]: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- chii 6y agothe language isn't the secret weapon - it's the person wielding it. It's just that if the wielder is using a less common language, it makes the news.
- zumachase 6y agoAlso there's a large selection bias: people using less common or more esoteric/demanding languages tend to be better engineers who have invested the time in learning something off the beaten path. That absolutely does not mean it's the right decision since most employees will statistically be average and you want to have a stack that appeals to a large enough talent pool.
- nlitened 6y agoTop-50 billion dollar unicorns are hardly _mainstream_. We might be witnessing the fact that these non-mainstream languages help beating the odds.
- onion2k 6y agoThere's a tendency to optimize for development speed in startups these days, which usually means gluing together lots of dependencies rather than writing things yourself. That pushes developers towards languages with well-established ecosystems.
- AlchemistCamp 6y agoWhen he wrote that, he considered Python and especially Ruby as outside of the mainstream and a bit more powerful, too. The mainstream he was comparing against was Java. I'd say the ecosystem has move considerably in the direction he advocated. Even Java has moved considerably from 2001 Java.
- 1ba9115454 6y agoI know a little about Coinbase. The CEO did the initial MVC with ruby on rails. He was somewhat technical so it was a natural choice. Then they moved forward with ruby for the whole platform, maybe as that's what he understood and what was the alternative back in the day. However for any of these businesses the language of choice if starting today for me would be rust. I really feel you get a much more maintainable codebase than a ruby project,
- maxehmookau 6y ago> I really feel you get a much more maintainable codebase than a ruby project, As I'm sure you're aware, this is entirely subjective. I really feel the opposite.
- ronanyeah 6y agoLanguage comparison is not subjective if the person has experience using both. Otherwise it is guessing.
- btmcnellis 6y agoRust is a great language, but how do you scale a Rust team? It’s a hard language to learn without a ton of developers out there. I suppose you could hire C/C++ devs, but if you’re just making a fairly standard SAAS Web app, it might be hard to pull those people over. Rust feels like overkill for your typical Web service to me.
- bhouston 6y agoStart up year likely correlates. But also it would be nice to know how many startups failed and what languages they used? Did using Node.JS or Typescript correlate with business failure or is it just more recent? I'm also particularly interested if trying to use Kubernetes correlates with failure. Kubernetes, for all its good, is a rats nest of complexity.
- ChicagoDave 6y agoSo the use of C# dooms my startup? I feel really out of touch having never used python or ruby.
- inapis 6y agoI don't think language has got anything to do with it. It's more about the instincts. I'm purely talking in terms of probabilities but the odds of a C# programmer coming with an enterprise background are high. As such they bring certain instincts with them which are very useful in enterprise but not useful at all in startups. At worst, those instincts might do more damage than good. So it's more of background/instincts things than language. C# technically has nothing which makes it a bad choice for startups.
- aggieben 6y agoNot at all. Keep in mind that YC startups are birthed from a very narrow slice of the tech world. .NET Core is very, very good tech and unless you need something super niche, there's no reason to doubt your choice. Press on.
- zubairshams 6y agoAlso keep in mind, just because .NET does not show up in the top 50 YC Tech startup list, does not mean there aren't many startups using it. I am working on one such YC company. The entire server side stack is .NET based with F# and C# being the dominant language.
- webmaven 6y ago> So the use of C# dooms my startup? I feel really out of touch having never used python or ruby. No. It may even be an advantage for some verticals such as finance, and some business/deployment models like on-prem enterprise software, especially if being able to fit seamlessly into a customer's existing Microsoft setup would be a major selling point. That said, if you find yourself contemplating how to scale your Active Directory and SQL Server deployment[0] to accommodate your growing user base of personalized emoji GIF makers, consider that your prior experience with your chosen platform may have led you astray somewhere. [0] Apologies if the metaphor lacks punch, my experience with the MS stack is a decade or two out of date at this point.
- mumblemumble 6y agoI'm curious what's going on with the languages that seem to harm a company's value. Adding PHP or Java to your stack appears, from these data, to be a poison pill for company valuation. It could just be a statistical fluke, given this sample size and all the selection effects at play, but I still have to wonder.
- aggieben 6y agoThis would be more interesting if YC didn't have a strong inherent bias toward these particular languages. In other words: these are the results because this is what YC picks and filters for, not because of any inherent meaningfulness about choosing these languages, or qualities of the languages.
- dustingetz 6y agoIt's true that investors filter for easy to see signals, so therefore it is also likely true that 130 IQ startups get funded but 140 IQ startups are not recognized (or even outright ostracized), but this is the same for customers, executives, and humans generally. So it's not clear that this could be any other way. In this way humanity is a tragedy. Look around. Everything is mush.
- swyx 6y agoi've always wondered why the Whatsapp acquisition didn't spawn a bunch of startups using Elixir, since a lot of noise was made about how Elixir helped Whatsapp scale with so few people. isnt that how tech cargo culting starts?
- ergl 6y agoWhatsApp used Erlang, not Elixir. There was an uptick in popularity (at least here on HN) after the acquisition. Elixir wasn't as popular in 2014 as it is today, but it was starting to grow.
- Scarbutt 6y agoErlang VM was a great fit whatsapp, doesn't mean is well suited for everything. Even with Elixir, I argue its use case is still niche.
- malisper 6y agoEven though it says "initial back-end language(s)" it looks like the information is often pulled from the startup's current career pages. Mixpanel is listed as using Go as one of their initial back-end languages, even though Mixpanel was founded in June 2009, several months before the first version of Go was released.
- charliereese 6y agoThank you for pointing this out! Fixed and updated the article.
- mLuby 6y agoI'd be more interested in failed startups vs programming language.
- plesiv 6y agoExactly. Successful startups are analogous to surprising research results in academia, in the sense that we have much more information on them and therefore we can draw better conclusions about these entrepreneurial/academic successes. Today, every good scientist is aware that having plentiful information on unsurprising research is almost as equally important, for many obvious and non-obvious reasons. This has resulted in journals created exclusively for publishing unsurprising research. [1] If the most rigorous among us w/r to taking care of our collective body of knowledge are only starting to do it seriously, we can have hope that the industry might ramp up its capacities in this regard at some point - I wouldn't hold my breath that's it's going to happen soon though. [1]: https://news.ycombinator.com/item?id=24229269 https://news.ycombinator.com/item?id=24229269
- dudeinhawaii 6y agoThere's a correlation but I don't think it's the one drawn from the article (programming language). I think that you have to consider the background of the person who would typically opt for these languages to start a new business/project. This might inform you of their thinking and perhaps a language like Java, where the developer is likely an Enterprise developer, leads to more brittle thought and execution. "Move fast and break" vs "thoughtful OOP and architecture" -- It's possible to do that in both languages but you'd rarely encounter a "move fast" Java developer while you'd probably quickly encounter "move fast" Ruby developers. That's perhaps down to experience having the effect of hardening oneself. You've made the mistakes, you don't want to make them again, so you create solutions that are more robust and by definition "better code" and "better designed". Unfortunately, this can cause you take longer to get to market and if you do have to pivot, can be a harder effort pivoting off of a larger, purpose-built codebase.