if JetBrains people are reading this, I want to say THANK YOU! You saved lots of developer time with IDE, then Kotlin language. I use Golang, Python and Database IDEs, and they are really nice and time saving, can't imagine how much time you guys saved to Java developers where everything is reflection based annotations and deep level of abstract class/interface implementations. (last time when I worked with Java in VSCode, it was almost useless for autocomplete, because too many things rely on annotation based code generation)
JetBrains is one of my favourite ever companies! A few years back I switched from Visual Studio + ReSharper to Rider, and haven't looked back - it's such a fantastic, fully-featured, stable product. I have a personal license that let's me use ReSharper, Rider, dotCover, dotMemory (love this!), dotTrace. Some of the best money I've ever spent, and I happily renew year on year. I also love the pricing model that reduces the cost after years 1 and 2 as a loyalty bonus.
And in the main, JetBrains actually seem to pay attention to what customers ask for in their online feedback site.
I'm looking to get into either Go or Rust soon, and I'll definitely be using GoLand/CLion.
Am I using a different IDE? I'm dealing with bugs in their refactoring engine almost every day (at least in Python and TypeScript); I need to invalidate the cache every other week because something something is not working; it's 2020 and I still can't configure my IDE deterministically through text files (which regularly results in situations where building the project works fine for colleague X but not for me, even though we seem to have the same config, so I end up having to delete the project and create it again). And don't even get me started about CPU usage…
That's not to say that Jetbrains IDEs don't provide incredible value. They do. But I still think they leave a lot to be desired when it comes to stability.
You’re working with dynamic languages; it’s a hard problem.
The jetbrains tools do a pretty great job with typescript and when you use annotations in pycharm.... or anything where the types can be rigorously determined; but, obviously, it’s not perfect when the type system says “anything is fine”.
As for building the project; Python just totally sucks at reproducible builds. I don’t think pycharm can fix the entire packaging ecosystem.
So, fair... it’s not perfect; but compared to what? Have you used tools with better support, better stability? Better tooling?
It’s a pretty high bar to clear to say the editor isn’t completely perfect.
Yeah yeah, it uses Java, it eats your ram and the cpu can go crazy, sometimes you need to reset the cache or delete your entire .idea folder.
Eh.
I also wish it was better at some things, but I still love it; what’s the alternative? Visual studio? Hahaha~~~~
> You’re working with dynamic languages; it’s a hard problem.
It's not that hard a problem. At least TypeScript is statically typed and in Python we're using type annotations everywhere. Besides, the bugs I was talking about mostly concern imports (I move file.py from A/ to B/ and PyCharm forgets to update `import A.file` to `import B.file`), and renamings (PyCharm suddenly renames some random variable deep inside dependencies like Tensorflow, too, so I end up having to re-setup my entire Python environment afterwards).
The thing is: Those auto-suggestions for imports work totally fine and code navigation via Ctrl+click works fine, too. So PyCharm does interpret the import statements correctly and I'm at a loss as to why the refactoring doesn't work then, too. Maybe auto-completion and refactoring are two completely separate systems?
I’m not gonna deny it’s frustrating to see quality of life stuff like “don’t refactor stuff from packages!” unaddressed year after year.
...but I think it is a tricky problem.
For example Black[1] is a very carefully crafted project that does an excellent job, but it fails at refactoring files just to apply lints with “inconsistent code generated” on some projects and files; and that’s just apply limiting rules.
...but, I for whatever reason, the JetBrains refactoring for static languages (c#, Java, kotlin) does seem significantly superior.
> can't configure my IDE deterministically through text files
Yes, you can[1]. It will even sync automatically with whatever git repo you store the settings in.
> regularly results in situations where building the project works fine for colleague X but not for me
This is a problem with relying on the IDE host to also be the host of your applications. Your repo should contain build settings, not your IDE.
You should switch to Docker or Pulumi or [insert declarative build tool here] -- something more deterministic and consistent across users.
> I'm dealing with bugs in their refactoring engine
As others have said, this is much more likely to be a problem with dynamic languages. I haven't done much with Python, but I've never had a TypeScript refactoring problem in 3+ years of using it as my primary language and IntelliJ as my primary IDE.
> And don't even get me started about CPU usage…
I have a much bigger issue with memory usage, but it's still not a big problem (and I think it's a memory leak in a single plugin anyway).
Also, JetBrains seems to have (correctly) assumed that dev time is much more expensive than dev hardware.
If I have someone whose slow IDE drains 1 hr of work per week and costs $75/hr, then it's only going to be a few weeks before it was more cost effective for me to upgrade her CPU than to worry about the IDE at all.
> Yes, you can[1]. It will even sync automatically with whatever git repo you store the settings in.
No you cannot. Note I was being very precise in my wording. While you can now export your Jetbrains IDE's config as a git repo (or zip file) of text files, you still cannot configure the IDE through text files (like in SublimeText) because 1) the text files' format is not documented anywhere and likely to change in the future without further warning and 2) Jetbrains also writes changes to the git repo automatically. I want to be in control of my config, though. (Sure, I could roll back any changes but I think that's very sub-optimal solution.)
> This is a problem with relying on the IDE host to also be the host of your applications. Your repo should contain build settings, not your IDE.
Well, yes, we do have all our build scripts etc. in our repo but that doesn't keep people (myself included) from running and debugging things from within their IDE because it's a lot more comfortable.
I noted your wording, which was not as narrow as your intention. You just said you wanted deterministic, text-based config, which JetBrains has.
I've used VS Code's text-file config, before there was a GUI for most of the config options, and I actually found it to be pretty frustrating. A good GUI is a lot better than editing text, even with the IDE helping you stay within the schema.
JetBrains IDE's probably fail the worst in that regard, I agree; but once you have a config you like, it's easy to keep it consistent.
> but that doesn't keep people (myself included) from running and debugging things from within their IDE because it's a lot more comfortable
Again, these aren't mutually exclusive. You can run/debug code in a Docker container[1][2]. The IDE experience is exactly the same (click the Debug icon or use the shortcut, set breakpoints, whatever), it's just that the VM is running your code instead of your dev environment.
I haven't used PyCharm or WebStorm (you mention Python & Typescript, so I guess you're using them), only Rider and peripheral products like dotMemory and dotTrace. I mainly use Rider on Windows, but occasionally use it on MacOS too.
I've encountered the odd issue with EAP versions of Rider (to be expected of course), but the release versions have been rock solid. Coming from Visual Studio, it's been a godsend!
You may just need to tweak your cache & RAM settings. I had similar issues here, and I just juiced the RAM to 4096 (that's 4 GB, a number I chose arbitrarily). Haven't had an issue since.
Rider is way snappier. With VS, I'm very used to slowdowns and even total freezes for several seconds (which people like to attribute to ReSharper, but IME they happen plenty even without ReSharper) - for a big, full-features IDE, once Rider has started, it feels really snappy, and puts to bed the long-held beliefs that Java is slow.
Just opened a big solution in both VS and Rider to confirm:
- VS was really laggy after opening, pinning all 8 Xeon E3 cores for 2 full minutes!
- VS memory sitting at 1.3GB, plus another 0.9GB for ReSharper
- Rider took 22 seconds to load the solution, then used a bit of CPU for 30s (but was totally responsive in that period)
- Rider memory sitting at 1.1GB
So assuming you use ReSharper, Rider uses a lot less memory, otherwise it's above the same. But still, for me Rider is way more responsive for editing, debugging, everything. And more stable too.
- Overall, Perf is better in Rider than VS w/Resharper
- Memory usage for a single solution might be higher than VS.
- There are scenarios where Rider may have much higher memory usage but -vastly- better performance. VS is only 32 bit, There's only so much process space it gets (2GB or 3GB, can't recall offhand) at which point it's gotta swap whether it wants to or not. Rider is 64 bit, so it will be less afraid to allocate if it makes sense on the hardware (and the JVM tuning deities.)
- You can load multiple solutions in Rider with much less penalty than you'd expect. Rider normally runs as a single Main process with Resharper/.Net/etc hosts for each open solution. This seems to give me lower memory usage than Visual Studio.
- With Akka.NET (53 projects, C# and F#) and Akka.Persistence.Linq2Db (6 projects) open, Rider sits at 1598MB nominally, goes between 1.2GB and 2GB, the Resharper subprocesses (already included in those totals) sit between 300-800MB and 60-200MB.
- Visual Studio 2019 with Resharper and Intellicode -DISABLED- shows up as 1363MB for Akka.Net, 653MB for Akka.Persistence.Linq2db, for a total of 2016MB.
Side note, Rider has been open for days with me doing all sorts of nasty things like switching between branches without unloading (Oh yeah, come for the lower memory usage, stay for the hot-reloading.) Those VS numbers were right after I opened, by comparison.
VS is much better today but it's still a 32-bit process that's limited to < 4GB of addressable memory. Jetbrains has been on a multiyear journey (documented with fantastic blog posts) to move Resharper out-of-process but there's still overhead in maintaining separate systems working on the same project space.
Rider bypasses all of the process limitations and syncing overhead by using the Resharper/C# logic exclusively, and is much faster and more responsive as a result.
Also VS has been slowly copying Resharper features but is still far behind. I mostly use VS today for heavy debugging where it still excels.
I've used it on a 250-projects solution, and performance is much better than VS+R# or VS alone. Still not recommended, obviously. On smaller projects, I find also it snappier. It uses as much CPU as VS, and eats up more RAM.
Yes! My JetBrains Ultimate renews every November and I get a little giddy in anticipation of paying them for another year. It’s just such an amazing value. JetBrains is so good it’s like finding money on the sidewalk.
JetBrains has a great product but if you are really serious about "giddy in anticipation of paying them for another year" why not buy another subscription every few months? Plan a party and invite the neighbours.
Agreed, and the education pack is so good. Perpetually free as long as you're a student has been a lifesaver—honestly can't live without CLion and PyCharm at this point.
At a time I'd purchase both JRebel and IntelliJ. JRebel had a really "aggressive" sales team that would call and email about renewals. Jetbrains has never had to call me, their product sells itself, for me. I no longer use JRebel.
I love Intellij and no longer use JRebel, and yeah I knew better than to pick up the phone when their sales team was calling.
But that's not why I stopped using JRebel, I stopped using JRebel because 10 years ago I worked on monolithic code bases that got deployed to application servers where a build and deploy cycle took 30 minutes, if I did the build with no unit tests. Even though it took constant fiddling to keep JRebel working and a hot deploy worked on maybe half the changes I made, it saved me many hours.
Now I work on microservices with embedded app servers where a build/deploy cycle is 30 seconds, no need for JRebel. Sorry sales guys!
Yup! Martin Fowler mentioned them because they were one of the first people making automated refactoring tools. That sold me on their IDE, and I've been a happy user ever since 2001. Thee days I have the personal version of their all-you-can-eat license and it has always been worth the money.
I'm delighted that their smarts and dedication in building a high-quality, user-focused product has paid off in a big way for them.
IntelliJ was crashing repeatedly for a few days and I was really sad I would have to use a different IDE until I found out I could change which VM was used. I've had IntelliJ even tho my company would have got my PHPStorm just so I could code during my free time in other languages in comfort.
Some people get a bit weirded out about the multiple IDE situation (mostly folks whose current day to day is VS Code with extensions).
Usually that goes away when you get them to try some of the IDEs, the experience is second to none (as far as IDEs that work extremely well out of the box go).
The amount of times I've got praised for writing neat C# code that was Resharper doing its magic :P
The comparison to the bad old days when the IDE answer was always "Install Eclipse and this set of poorly maintained language plugins" is night and day.
The dollar-a-day I spend on the Jetbrains all-products subscription more than pays for itself.
I was one of those people up until around a couple years ago. Now I don't even know what I thought was such a big deal. The Jetbrains Toolbox makes it really simple to launch and update the individual IDEs.
My employer pays for the ultimate license, but I will absolutely pay for it once I move on.
They're also one of the best IT employers in Moscow and St Petersburg, and guys working there create a lot of value for IT community both local, and russian-speaking in general. You don't even have to work there to feel the impact on the whole programming culture here.
Speaking as a russian, I have exactly the same prejudice. Our government has done a lot of completely awful stuff in the last 10-15 years and still has wide popular support, so it's only natural that we are held accountable for it.
Also, any company that has significant presence in Russia is subject to Russian influence. These people have ways to make you do what they want if you or your close ones are inside the borders, so you'd be wise to mistrust any software that comes from here.
Well, it is a Russian company (although not legally, for obvious reasons). Kotlin is named after an island just of the coast of St Petersburg, for example.
if JetBrains people are reading this, I love your products, but waaaay more code navigation and pane splitting/management features need to have keyboard shortcuts.
VS Code gets this very right. It's generally not as powerful or friendly as JetBrains products, but the far superior keyboard navigation experience gets me to attempt to switch once a month or so.
Not a JetBrains employee, but which features are you specifically looking for? I've never found a single option in the IDE that's available through a menu that cannot be assigned a shortcut.
You can use only the merge functionality - it can be launched from git (via mergetool).
I tried to convert from VS Code to PyCharm a while back - I didn't (too familiar with VSC), but I stuck with the merge view for some time - it's absolutely amazing!
I think its a step down from Beyond Compare, I've set that up as the diff tool in Intellij before, I might have to do that again in my current environment.
Java in VSCode works completely fine even with annotations, its the Eclipse language server. You should really give it another shot.
In fact for all of my use cases it performs better than IntelliJ because it isn't trying to be 200 different tools at one time. With JDK 15 and ZGC my project only uses 250mb of ram for the language server where IntelliJ pushes over 4GB.
Jetbrains products are amazing if you _need_ and IDE. Otherwise you're much better off using VIM or Emacs as they are open source, have tons of customization and plugins available and also they are simply lighter, faster and are available on all unix platforms.
Since I've been testing both on linux on an older laptop (Core i5-3317U, 10GB RAM, Sata SSD): Emacs + lsp (Omnisharp) is not noticably faster than JetBrains Rider. Both are slow and at times lagging on this hardware. In the end I just use Rider on that laptop since if it's lagging either way, Rider is still a more complete C# ide for me.
My laptop from work is a Dell Precision (Core i7-7820HQ, 32GB RAM, NVMe SSD) and is more powerful: it's a pleasure to use Rider on that machine.
PyCharm is a no-nonsense, straightforward IDE, that's a pleasure to use. They somehow manage to avoid annoying feature bloat and crapware. No nagging, no bullshit, they are actually creating features that improve workflows instead of features to tick boxes on corporate purchasing department meeting room flipcharts or buzzword bingo. Remarkable and I really hope they don't get bought-and-killed by one of the giants. Or VCs wanting to "make it more $marketing_buzzword".
I've used NetBeans, Eclipse, Visual Studio, QtCreator etc. over the years and always used to pull my hair out over the mess. JetBrains IDEs are way ahead in UX, usability and working day-to-day, minute-to-minute. Nothing flashy, nothing overly marketed, just rock solid and great value.
Free educational license, no-brainer update management with the JetBrains toolbox, everything fits, doesn't demand attention to itself and lets you concentrate on the work.
I'm a big fan and user of PyCharm for many years, but we all know that when my fan starts going and the laptop wants to take off, we can guarantee that PyCharm is indexing ;)
My only complaint is with the remote features, now with covid. I want to seamlessly work as if I was sitting in the office (I can ssh to the machine).
My current setup is to sshfs mount my remote code, install a conda env on my laptop mirroring the office one, and execute things in a terminal window. PyCharm then becomes an editor, autocompleter, refactoring tool, code navigation tool etc, but I don't do debugging within it.
There is some SSH and remote interpreter options but it's limited and hard to use. You can't directly work on the remote files, it uses a model of publishing your changes to the remote and keeps multiple copies etc. Several of us spent quite some time trying to come up with a good workflows for this but some rather use remote desktops or X forwarding because it's not straightforward.
They seem to releasing Code With Me soon (it's currently in EAP, I understood it should come with 2020.3). I haven't tried it yet, but it seems like it could be used a bit like VS Code's remote development mode. It does have some restrictions, but hopefully those will end up being fixed (e.g. currently you need to accept the sessions via GUI instead of being able to let it do automatically via SSH & some tool windows don't work thru it (like Maven)).
In my team we have actually managed to have it working like I am in the office, but with a VPN.
With the remote interpreter, we use Docker, I can debug code that is running on our servers.
And if you set up deployment any changes on your files are automatically uploaded to the remote files, without multiple copies it just overwrites them.
Its a pleasure to work with, I can debug GPU-cuda issues on my macbook with PyCharm GUI!! It was a little bit convoluted to set up, we followed this guide: https://youtrack.jetbrains.com/issue/PY-33489
There is stuff like projector that lets you make a remote machine a dev machine that does all the building, indexing, etc. Have a beefy 80 core machine be your dev machine while you work on your lightweight laptop, or have it live in the data center so debugging connections are not so 'remote', etc.
My workflow now involves running syncthing to synchronize repos between local and remote server and then run instances of IntelliJ locally and over VNC. I get the speed of local editing and running unit tests, but can switch over to VNC remote instance to run and debug. VNC has been much more performant and easier to use than X forwarding or remote debugging.
PyCharm is fine for me. IntelliJ, on the other hand, will periodically freeze my work Macbook when trying to reindex parts of our monorepo[1]. Makes me wish I wasn't forced to use a laptop... or a monorepo.
[1] Note, just a handful of top-level targets comprising 2%-3% of the whole repo. Indexing the entire monorepo at once is a non-starter.
This sounds very debuggable - PyCharm is basically the same product as IntelliJ + Python plugin. There's no difference in how it handles project indexing, so it's probably a specific IntelliJ plugin or functionality causing the freezes.
There's a built-in CPU profiler, but given that you're a paying customer, just contact their support and they'll help you figure it out.
That and laggy keystrokes are really a productivity killer, but maybe for some people it's a worthwhile tradeoff. Not for me. I'm of the opinion that tools should get out of the way and be almost invisible.
Interestingly thats what intellij is for me. RAM is cheap, give a bit more to the editor and it will not get in the way. Indexing saves me so much time that it payed for the extra GBs the first week of use.
Indexing is required by so much of their software, even listening for XDebug connections with PHPStorm is not available while indexing. Can’t they let us set the indexing on a lower priority and let stuff work without the index too? (Even if we can’t jump to a specific function, XDebug protocol already has the file and line indicated.)
Find the biggest directory in your project which doesn't contain relevant code (usually /build, /docs, /.git or /thirdparty) and right click: mark as excluded. Problem solved.
I've used Jetbrains products for five years. Updates are consistently an improvement. Even performance improvements from time to time, which is fantastic since it is a heavy java application. They were quick on the take with Docker integration, latest Cmake updates, even some Go2 generics support already.
Same with WebStorm editing JavaScript & TypeScript!
I'm so impressed that JetBrains can put a reliable pseudo-type system on top of dynamic languages like Python and JavaScript.
My co-workers wonder why I don't just use VSCode like everybody else. I mean it's not _bad_, but it's not JetBrains. You will have to pry my all-tools JetBrains license out of my cold dead hands.
If you're going to use more than 3 of their offerings, it starts to get cheaper going with the all products pack or IntelliJ ultimate is cheaper than going with 2 tools. But you should note that IntelliJ doesn't include every other products as plugins such as AppCode.
Thank the gods for JetBrains. I love their software.
Excellent business model, I get to keep the software I bought when the license expires. Never forced to continually pay for something you don't see value in updating. I think that's one of the key factors which drives them to continue to improve their products. If future version of their products wasn't vastly improved over the previous then people wouldn't upgrade because their current version serves them perfectly fine. And if you don't like this years update, maybe you'll like next years. No downsides whatsoever.
Never used any of their TeamCity/Spaces stuff but it looks cool. I can definitely say I'm a fan of their IDEs though. Use them every day.
I ran (self-hosted) TeamCity at a division of Disney for years with hundreds of projects across teams with lots of complex dependencies. To this day (though I haven't kept up as much in recent years), it's far and away the most powerful CI system I've ever used. Rock solid stability, to boot. And it's only become better and better over the years.
Does that mean it's right for every job? Not at all. Sometimes you just need simple and accessible. Things like CircleCI or Travis or Heroku's CI. But not Jenkins. I put Jenkins into the same category as TeamCity, and it falls far short.
If you've outgrown some of the other options and need really powerful CI, I can't recommend TeamCity enough.
It is interesting that they initially offered subscription model without unexpirable license. But because of community backlash they changed it and people seem to be happy with the outcome.
I feel like you are understating the backlash they faced. I came back from a vacation the day after they announced it and checked here, /r/programming, and a few other developer-focused forums including their own site and it was like the world was on fire. There were very few people who supported the change or were even indifferent. It seemed like the entire community united against it. JetBrains really didn't have a choice but to listen. And thankfully they did; their products are invaluable to us at this point.
Forums in general have been dying out for a while now, unfortunately. I think this was back in August 2015 and at the time, I was an active member of some now-dead forums on the ProBoards network and I distinctly remember looking at either laravel.io or the Laracasts forums to gauge reaction.
I see. All I have left is this and the programming subreddit. The latter suffers a lot from new programmers and unrelated content (something like „I wrote my first HTML Tag today). Programming language specific subreddits suffer from a low number of subscribers. YC suffers from elite mindsets and arrogance (most notably on topics like modern javascript)
Current model still isn't perfect as you only get the version that existed when your sub starts not when it ends. So if your sub expires you actually have to downgrade the product to an old version.
Before if you bought a major point release you would get all minor point releases as upgrades. Now you don't even get any bug fixes that occurred since your sub started.
Well, I think it's fair. If there was no subscription model, this would be the same as buying the version that was available at the time of your purchase. Everything that gets released after that is only a teaser that nags you to continue your subscription. You don't need to update.
Before the licensing change if you purchased a major version such as 5.0 you would get all upgrades for free until 6.0. This was the change that caused the uproar because that was no longer the case.
> Never used any of their TeamCity/Spaces stuff but it looks cool. I can definitely say I'm a fan of their IDEs though. Use them every day.
I looked into the cloud offerings they have, the CI system is way more powerful than what I am using (bitbucket pipelines) and I'm actually pushing the limits of what I can sanely do there, so I may actually move over soon.
I'm a big fan of teamcity - might be because it's the first CI system I used professionally, but compared to Jenkins it just works (batteries included) and compared to circleci I find the configuration much less repeatitive and UI richer in terms of reporting / feedback.
Yet to try the cloud hosted version, but it's on my list as the only downside for my personal usage is the minimum ram requirement (I try to keep my hobby projects Infrastructure as close to $0 cost / month as possible)
> Never forced to continually pay for something you don't see value in updating.
I'm glad they dialed back to this reasonable compromise. I am a big fan and was a paying subscriber (personally, in addition to a work license) when they changed licensing terms to brick the software when your yearly subscription was up. There was a predictable outrage, but they fortunately listened and changed to the present arrangement.
> The Prague-based startup, whose programming language last year became Google’s preferred development tool for Android, is worth about $7 billion,
Am I the only one bothered by articles describing companies like Jetbrains as a startup?
The definition that Google gives from Oxford Languages is: "a newly established business." Investopedia says "The term startup refers to a company in the first stages of operations."
This is a well-established company (founded 20 years ago, according to Wikipedia!) that has grown organically for years by offering products their users love (I'm a GoLand user myself!). Why use the "startup" term where it really doesn't belong?
Jetbrains is one of the few tool vendors that do not have to aggressively market their way into our tech stacks. That alone is a key indication of how good and useful their products are. Great that this is rewarded. I really hope that they will stay this way and grow organically rather than with force.
(Long-term user/customer here. I am using IntelliJ since like version 2 (with some gaps).)
This is a great point. Every time a new tool comes out (Atom, VSCode, etc.) I find myself eventually going back to IntelliJ because 1) it just works 2) the customer service is great 3) reasonably priced and 4) it works _with everything_ and _on everything_.
And not to forget that their strongest competitors were Eclipse, backed by IBM, and NetBeans, backed by Sun Microsystems. To stand your ground against two enterprise backed open source alternatives as a startup without outside money is quite impressive.
Yes, it's sad but true; IBM ran eclipse into the ground over the last ten years and they gradually lost the mindshare they had 15-20 years ago when they were best in class and Intellij was a new kid on the block. That's on IBM. They completely mismanaged this project for a decade plus. They failed to keep up with a changing market and instead focused on irrelevant stuff not related to the core use case of, you know, developing stuff on the JVM. I was able to get away with using it doing Java until about 2016. Then I joined a bog standard Spring Boot + gradle project and it just couldn't do anything with it. I had no choice but to switch to Intellij.
Eclipse is still there but I can't use it for the vast majority of projects I work on these days. Kotlin support is a joke. Gradle support never worked properly for me (though in fairness, I stopped trying 3 years ago).
But Eclipse was a great IDE once upon a time. I still miss incremental compilation that actually works consistently and is actually incremental & fast. That's a trick that Intellij never even came close to doing. Intellij fakes it with inconsistent & super flaky caching (hence the top level menu item with the name: "invalidate caches"). And then they still manage being about 2 orders of magnitudes slower (about 100x: 10s vs 50-100ms). Anything over a second would be an order of magnitude already because the Eclipse incremental java compiler really is that fast. I've never seen intellij launch a test faster than 5 seconds; even for a 1 line change in a class that is not depended on by anything (i.e. the work is: compile 1 class), like a test. Incremental in Eclipse used to mean: it's compiled & ready to run by the time your finger reaches the next key on the keyboard: you can't type faster than it compiles incrementally and the test runs in process so there is no jvm startup overhead. Error markers would update in real time and be typically gone within a second or so of fixing the problem.
Even today, Intellij never gets even remotely close to that. But it works and does the job and Eclipse just stopped even being able to make sense of the projects I threw at it a few years ago which makes the whole performance argument irrelevant. My biggest gripe with Intellij is actually just the endless amount of time I seem to wait for it to index, rebuild, and stop lying about the compilation state of my projects. I just can't trust it either way. It says it's fine and it's not or the other way around. Either way, I always have to double and triple check it more or less continuously and it is sucking up non trivial amounts of my day.
Agreed, they’re definitely a “stand on the strength of our products” company. IntelliJ IDEA is not just the best IDE I’ve ever used, it’s one of the best software products I’ve used, period.
Hopping on the IntelliJ love train. I've been using it for the last five years. It is the one piece of software I still get excited about. Heck they've even made fonts interesting.
I strongly believe their single user license was responsible for a lot of their success.
One of the dynamics that has made open source such a juggernaut is a consequence of the 'give a man a little power': Those with the purse strings making strategic decisions for the company without considering the benefits of buying a piece of software.
"I won't pay for that." could be answered with "That's okay, it's free!"
Jetbrains isn't free, but the license explicitly binds the copy to your person, not your location or computer. I can have my private copy running at work and left open on my personal computer at home.
You won't pay for my IDE? That's okay, I already have a license.
Seconded. Love the fact that they don’t get petty about different machines etc.
I started using their free versions for non-commercial projects and have paid for commercial use.
It’s really worth trying JetBrains, even if you’re a vim/emacs devotee... I’d say I’m at least 10x productive in IntelliJ compared to other editors, for example, after coding Java for 20+ years. I’ve watched programmers I consider way above me in ability move so slowly compared to hopping around / refactoring / debugging in JBs.
The thing that most impresses me about JetBrains' products, after the very real "This was made by developers" feel to them, and the excellent community interaction, and the regular and plentiful updates.. is the price. They don't price gouge their users. They could double their prices and still have plenty of sales (but I guess they'd probably lose a lot of personal licenses.)
I'm sure they have actually done the numbers and perhaps even determined they are making more money this way, but from an outside/ignorant perspective it sure feels nice for a company to not have some MBA pushing that profit curve for all its worth and delivering damn good value for money for once.
Probably want to stick to 4.2.1 GPL [1] (there are GPL versions on 5.x and 6.x but only minor point releases)
I think it's great for enterprise form-fill-in applications. It's a complete widget set for doing in the browser what GUI apps from 20 years ago had in Java (for example)
I have no interest whatsoever in writing web applications by using multiple components from multiple sources. I want to use a single toolkit. ExtJS satisfies my requirements. The tooling is awkward, but I've learned how to use it.
Exactly, that's how I started using JetBrains products, I was working in a shop where everyone used Eclipse, and one developer kept telling everyone that if they tried Intellij for 30 days they wouldn't go back. I think there was only one developer that tried it and then went back to Eclipse.
Does IntelliJ Ultimate include their C# functionality from Rider, as well? I used to use IntelliJ Ultimate, but I don't remember it including C# support.
No, you have to use Rider for that. That said Rider is fantastic and their Unity support is top notch. Going between Rider for game code and IntelliJ for the backend was a godsend when it happened. Makes my day to day workload manageable.
It’s rare these to read stories of software billionaires and think it’s well deserved. This is one of those rare cases.
Also, IntelliJ runs on Java, for all the bashing that Java gets on HN, it’s an example of how “what technology you pick is less important than your focus on user experience”. It’s amazing that their products are so performant on Java
Folks who still think that Java is a bad language either from the perspective of developer ergonomics or performance probably haven't programmed in it since the Java 4 days and still think of the language as the language of Enterprise Java Beans, Java Applets and hundreds of lines of XML. It is not that language anymore. Modern Java is blisteringly fast(and has been for a while) and almost the same level as C# in terms of developers ergonomics
Modern Java has nowhere near the developer ergonomics of C#, I can tell you that much. You are still manually writing tons of boilerplate, you still cannot express something as simple as List<int> (and the JSR for that is on its, what, 8th iteration? for a problem that existed since before C# existed?), there is no async/await in 2020 when even C++ has figured it out, the new module management system is a joke that solves zero problems and almost seems like it was only invented to modularize the JRE...
It's got a few bells and whistles, although I can't think of a single one that wasn't stolen syntax and all from C# at least two years after the fact, except for the aforementioned modules. But 'var' is the only thing I can think of that's actually improved the Java experience since lambdas. They've committed to a six month rolling release cycle without actually having anything to put in the releases.
That said, Java devs think C# is slow, C# devs think Java is slow, and people who are neither think both are slow. It is no longer 1995 where bytecode is interpreted; the slowdown relative to C++ is 2.5x-3x for both. Any leftover 'slow' opinions are bordering on superstition at this point.
I’m a huge fan of C# and how Microsoft has been improving .NET recently but as a C# fan I think you’re being a little unfair to Java. It has a slightly different perspective on language evolution than C#, in that they try to keep the language core smaller. I was overwhelmed by syntax when I first started programming C#, from all the different kinds of parameters (optional, named, ref, out, in) to all the different kinds of properties, to the actual difference between properties and fields. To this day I think it’s silly that certain tools and style guides will suggest you replace public fields with public auto-properties, when there is no difference in encapsulation in practice. In this sense C# is closer to the culture of C++, where the bar for adding features is quite low.
Java just moves a lot slower, and has a different philosophy for adding features, and the core team seems averse to introducing new forms. An example I ran into the other day is applying first-class functions in Java: in C#, this looks like
lambda(arg1, arg2)
while in Java it’s
lambda.apply(arg1, arg2)
This is definitely more verbose and arguably uglier, but it hews closer to the object-oriented style because it’s visibly falling a method on an object. Of course this is happening in C# as well, but it’s hidden by syntactic sugar.
> This is definitely more verbose and arguably uglier, but it hews closer to the object-oriented style because it’s visibly falling a method on an object. Of course this is happening in C# as well, but it’s hidden by syntactic sugar.
It's hard to appreciate how addictive the sugar is if you never had it.
Frankly, language level auto properties -alone- would get rid of 25-33% of the pain I feel writing Java.
Of course, there is always Scala on the JVM Side; which gives you all sorts of sugar, but in some ways -too much-.
I think from an object-oriented design perspective that it's quite easy to overuse public field members and that a lot of getters and setters is generally a code smell. Nonetheless, properties are a very sharp tool and having them in the toolkit is wonderful.
I've never used Scala but it seems to go much further in the syntactic sugar and semantic complexity direction, more akin to F# than C# (though with less elegant syntax, to my eye).
There have been many iterations of 'Java except it doesn't suck', but which all were extremely similar to Java - Xtend, Groovy, etc. So when Scala came onto the scene, even though it was a serious functional language and encouraged a very different style of programming than Java, it was seized on as a 'Java except it doesn't suck' language because it was much more different than previous ones and so felt more like a fresh start. The sentiment hasn't died yet, although Kotlin should at this point be treated as the official 'Java except it doesn't suck' language, since it's designed directly for it, is different enough, and has mainstream adoption.
However bad the Java situation is, Lombok as a solution is worse. It uses unsupported and undocumented APIs of the compiler, it autogenerates code that is in some cases flat wrong (like the infamous enum @ToString), and it does this through a mechanism of the language specifically designed for pure metadata - code that compiles with annotations should not cease compiling without them. And, because of the way it does what it does, IDEs must have explicit Lombok support built into them. It is, effectively, a different language that's a superset of Java; at that point, you may as well actually use a superset of Java like Groovy, and then you don't have tools prone to breaking.
I’m not a huge fan of libraries that use attributes as a hook for code generation in C# either, though thankfully there’s less need for something like Lombok.
I am not saying Java's model of never adding important things is better or worse. I might now say it is worse, but that wasn't the point I was making - I was simply responding to a comment saying Java has added important things, when it hasn't.
Also, auto-properties are binary compatible with computed properties, whereas public fields aren't, and you can use 'ref' on a public field whereas you can't make a ref to a property.
I realize there are differences between fields and auto-props when using certain other features, but from a design perspective, these are identical within an assembly:
public int Foo { get; set; }
public int Bar;
Java has absolutely made important improvements, and there are even more impressive ones on the horizon. In particular you should look at Project Loom, which is Java’s answer to async/await. It’s not finished yet because the design is much more general and novel, and it avoids the “function color” problem that async/await has. It’s inspired in part by Erlang/BEAM’s green threading system.
You might also look at the JDK flight recorder, which is an amazing feature that .NET doesn't have. The Java perspective is adding complexity to the runtime fiest instead of the language.
Having primitive int as opposed just using Integer in the first place was the original sin of Java. I am perfectly fine with not proliferating that further, List<Integer> with autoboxing pretty much allows you to use primitives when working with List<Integer> and the workflow is seamless. await would definitely be nice, it's a shame Java doesn't have it. It's a bit weird to call the features they have added as "stolen from C#", these features have existed in other languages for decades- ML had type inference in the 70s, lambdas have been there since the 60s. They are not "C# features".
There have been many useful improvements between Java 8 (the lambda release) and Java 11, I haven't looked beyond 11 as I haven't worked in Java in over a year and that was the last version I wrote code with. I don't even consider var to be that useful of an improvement, the biggest pains of lack of type inference were solved in the Java 7 era with the diamond operator which eliminated the need to specify often times deep nested generic arguments on both sides. Now var was basically a bikeshed problem. Between 8 and 11, they improved Strings under the hood to move away from being backed by char arrays. This has huge implications on web services and data processing apps in reducing the memory foot print as most of them wrangle a large amount of json. Also they added an HttpClient to standard library somewhere between 8 and 11 greatly eliminating the need to depend on 3rd parties. They also added the FlightRecorder (although I haven't had a chance to personally use it yet) which improves the the instrumentation story. Not every release is going to have sexy language features but they do contain improvements with direct impact on production software- the String class compaction improvement is the best example, it is not sexy, I doubt it even had a thread on HN but in the real world it measurably improved the performance profile of a large category of applications for free. Release cycles are just numbers, most people in the real world are not keeping up with latest release and instead opting to upgrade to just the LTS releases which are on a much slower cadence of 3-4 year cycles.
Admittedly, Java suffers from the same issue as C#; those ergonomics come from a bad case of kitchen-sink-itis. In your own code it's fine, but it's a hassle going through 8 different paradigms in one legacy codebase.
These days, though, I feel like Java the language should die in favor of Kotlin (also invented by Jetbrains). I feel like with Kotlin you get all of the goodness of Java (and especially the JVM) without so much of the verbose "cruftiness" that is a result of Java the language being 25 years old (wow now I feel old!)
I haven't programmed in Java since around 6 - when Spring was just about to cement its dominance. The ergonomics then were bad too. It seems lots of quality-of-life features borrowed from other languages went into subsequent versions
TBF, Jetbrains IDEs do feel sluggish at least on macOS compared to the alternatives (like Xcode or VSCode) on my mid-2014 13" MBP. I don't know if the JVM has performance problems specific to macOS which would explain why big UI applications feel so laggy, or whether other systems with more recent CPUs simply have more reserves to hide the lower UI performance though (the latter is probably more likely).
Almost always when a JB IDE is being reported as sluggish the problem is you're running out of heap space. Go to Help | Change Memory Settings and give it some more, see if that helps.
As a counterpoint, for a project of decently large size on my 2019 MBP, IntelliJ is snappy and a delight to work with, while Xcode takes up 30 GB of space, takes minutes to boot up, and gives me syntax highlighting and autocompletion about as reliably as a broken clock tells time.
Xcode opens in seconds for me, and my projects are massive. Sure, it can be slow to do certain things, but its startup time is generally ahead of every Java-based IDE I have every used.
Android Studio (which I understand is a Jetbrains IDE) has always been laggy to be too. I suspect it's because I'm only using it for personal projects on older consumer machines (one Linux, one Windows) with ~16 gigs of RAM (which also has to fit an Android VM); the people who are having no issues are probably running on newer machines with a lot more resources.
JetBrains IDEs always takes ages to start and index my code (especially compared to Sublime), but the jump to def, symbol and other search features are fast after the initial index.
Performance got worse on Linux, too. A year ago, JavaDoc would be displayed instantly. Now I have to wait 5-8 seconds for the IDE to display information about a class / method.
It may be a kernel related bug from what I have found on the net, but it seems strange that some operations are still fast, while others take several seconds (like opening a menu).
I have a MBP of about the same vintage, but I retired it from hard tasks a couple years ago. It is a 6 year old machine, we can't expect it to perform well.
That is actually a misconception. You may have this mental classification of Java as a slow language if you looked at its performance 20 years ago. Now it's actually really fast, it goes neck to neck with C++. Sure, Rust or Go or C (or definitely assembler) might be faster in some workloads, but Java is definitely very very fast nowadays. It uses a lot of memory because of the way Garbage Collection works, but it is fast. It's definitely faster than Python, Ruby, PHP and many other kids on the block...
> It's definitely faster than Python, Ruby, PHP and many other kids on the block...
I don't know why, but I got a good laugh from that statement. Those "kids" are all the same age or older than Java; PHP, Ruby, and Java were introduced within a few months of each other in 95 and Python dates back to 91.
Yeah, I assumed as much. I doubt anyone is calling those languages "kids" at this point, even with PHP's reputation. I just found it funny to word it like that.
> it goes neck to neck with C++. Sure, Rust or Go or C
I hate to be that guy but 1) java does not go neck to neck with c++ unless you mean it can be in the same order of magnitude and 2) C++ is not slower than C or Go or Rust
Note: by c++ I mean c++ compiled by a decent compiler e.g. gcc/clang/msvc
Java is fast enough for most things, but try working with an array of a million objects in C++ vs Java and you will see the difference.
In Java you will have to deal with an array with a million pointers to a million objects and in C++ you will deal with a sequential segment of memory that is a million times the size of your object - and mostly in your CPUs cache. That alone will be much, much faster.
I think in this case you’re holding the tool wrong.
When you want, for example, an array of (float x, float y) “objects” in Java, you just keep them as two arrays (float[] x, float[] y) — and I guarantee it will use the same amount of memory and will have nearly the same speed as C++ (depends on what cache locality you need for a specific task, it might even be faster to have two separate arrays for some tasks).
So yeah, depending on the language, a slightly different implementation is more efficient, so one has to know its tools.
Also, as far as I know, when project Valhalla extension goes live, you will have an option to do packed structs the same way as C++ or C# does.
Edit: Oops, there was another reply about the same in the thread. I should remember to refresh the threads before answering in the morning.
That would be a workaround, but it annoys me when you have to make a workaround for something that is available in the language it set out to replace.
And if you are doing something like nearest cluster mapping, or anything else where you process your data in linear order you are not going to get the optimized cache locality. Plus you can't read the file with mmap if your data is from there.
I agree that Java is not the best tool for things like analyzing mmap'ed data. Java replaces C++ by being better in some things, not all.
I would go further and say that if your job is analyzing terabytes of memory-mapped binary files, maybe C++ is not optimal either, and investing in specialized languages like Shakti/K would pay off quickly.
You typically wouldn't use an array with a million objects in Java if you cared about performance though (for exactly that reason), you'd architect it some other way. Using SoA style when appropriate, for example.
>It's definitely faster than Python, Ruby, PHP and many other kids on the block...
I would seriously contest the speed of Java compared to modern PHP. The JIT puts PHP at near-C performance levels with competently written code. Which shouldn't be surprising if you realize PHP is largely a "wrapper" around C.
I think you've proved your second point by getting your first wrong. The benchmarks posted are for a stack including PHP, not PHP itself (and not the fastest stack with e.g. pgsql).
Also, I don't think thosd benchmarks use php 8, which is the first version with the jit that the post above referred to.
Once it's finished indexing things it feels darn instant to me. What hardware do you use? Also which programming language? I've used IntelliJ with Java, Scala, Kotlin, Groovy, Markdown, and many file types and it's really snappy.
I have an i7 6900k and 64 GB of ram. Indexing on the project I work on takes something like 3 hours. But I'm not even talking about that - just the basic user interaction, opening a menu, switching tabs... It's notslow but it drags its feet a bit.
Absolutely agree. The amount of value that Jetbrains software provides far exceeds its price. Their existence is a net benefit to the whole software development field.
I used to share the "Java is bad" mindset, but now I realize Java (at least the JVM) is actually really good.
The main issues people assume with Java are that it has slow runtime and it's verbose.
But the JVM is actually rather fast. Especially compared to JavaScript and Python, which aren't even compiled (and which I still agree with the "it's crap" hivemind). Anything that needs real performance you should be outsourcing to C/C++ FFI calls, and as long as you do that your Java app's performance should be OK. And a key cause of Java's big slowdown are checks e.g. for null-pointers and casts, which are much better than C++/Rust's approach of being unsafe-by-default.
Java is verbose, but JetBrain's awesome IDE single-handedly fixes this problem - writing POJOs and using long-named functions and classes is fast, and IntelliJ will hide excess boilerplate so that even reading code is easier. And if verbosity is still too much of an issue, there are JVM alternatives like Kotlin.
> which are much better than C++/Rust's approach of being unsafe-by-default.
Nitpick: Rust is safer than Java by default. You can't ever dereference a null pointer (only raw pointers can be null, not references) or make a cast without dipping into unsafe code.
Even though the specs says nothing about it, modern JavaScript is almost always JITted, i.e. V8 that powers Node and Chrome, the rest of the browser js engines
Back in the 90s Java was slower and used a load more memory. But the competition was C/C++ apps with native GUIs. Nowadays with the likes of Electron as competition Java apps are fast with low memory usage.
A billion dollars is a ludicrous sum of money. No one on the face of the earth deserves that level wealth.
If you ever seen an actual billion dollar product or even a product hundreds of millions of dollars (in cost, not revenue generation) it is always built by hundreds of people. Your physical two hands, strength and intelligence limits you to a lifetime gdp output of well less than 1 billion. Therefore whenever you see a billionaire, the billionaire achieved his wealth off the backs of others.
A more fair distribution of wealth for jetbrains is one where the wealth is more evenly distributed among everyone who works at the company. There is a term for this... it's called communism/socialism and it has a set of downsides but I don't want to walk to far down that road.
Suffice to say capitalism works, but it works because it's not fair. No billionaire ever deserves to be a billionaire because he simply does not have the physical or mental ability to produce that much wealth. It always must be taken from the hard work of others.
Ever played a video game like X3 where you can set up robot space traders to haul for you? You can only make $x flying between ports, but now you can make $5x or $10x. It's not that you're stealing from the robots, you're just making use of a resource that can be put to profitable use.
People are the same -- just another kind of resource, a black box that lets you make $5x. And the thing is, you deserve the $5x -- you took a system where nothing was being put to its best use, and now it is.
What I'm trying to say is I've worked on many projects that sucked because no one had the vision and hiring skills the IntelliJ people do, and if society could give someone a billion dollars to make every project work that well, it would be a good deal.
Happy for Jetbrains, I have been using their products for years and they did increase my productivity.
Lately most of their producuts are suffering of atrocious performance issues, both on osx and linux [1], I hope that they manage to sort them out, because lots of people are now reverting to older versions.
I don't think it's a coincidence that Jetbrains has created a beloved product without the help of VC money.
The longer I work in tech the more I see VC money as poison to good products. Because VC funded startups are forced to grow fast or die a lot of good, profitable, user focused ideas are trashed because they won't lead to rapid enough expansion.
Virtually every VC startup I've worked closely with or learned about in detail is doing something nearly everyone would agree is unethical, and a fairly large amount are doing things that are down right illegal spared only by the fact that they aren't big enough to warrant prosecution or even investigation.
Perpetual lip service is always paid to the notion that "we're a user focused company". While the mental gymnastics performed to convince everyone onboard that this is the case are fun to watch, it tragic to see nearly all good projects slowly devolving into ways of tricking the users... and in most cases still losing money.
All of the private money companies with no plans of acquisition I've worked for are all amazingly sane by contrast, and create genuinely good products. They have to, because they need to make more money then they spend to survive and are fine if the happy place for that to happen is 30 employees.
In some cases, if that product is really amazing, they become companies like Jetbrains.
I have seen this firsthand. I was a finance major fifteen years ago and for the last ten years I have run a completely bootstrapped agency.
If you have to live off your own revenues, it means you don't do any premature scaling... You have to focus on the needs of your customers to reach the next level. VC backed companies have to reach the VC exit goals which means they are forced to scale immediately even if things are broken.
Your business idea could work really well if you were given a few extra months or years to work on it, but with the VC fuse burning you can't wait.
VC's generally don't care about your passion, they care about maximizing returns over the shortest time period possible. If you don't do it their way, you will be forced to leave. I have been a member of a tech Vistage group and have seen over half of the VC backed CEO's forced out by their investors. It's really sad.
From first-hand experience, however, bootstrapped companies often don't have a ton of cash in the bank. They can quickly fail if there's an adverse event (COVID, for example).
You can also get crushed by well-funded competitors who can innovate faster than you due to larger team sizes, salaries, etc.
The best small companies operate in their direct competitor's blindspot.
Stupid example: Tesla. Toyota reverse engineered their car. Can't make a competing product. Not because it is impossible, but because it is not how the entire supply chain / development is set up. It'd take Toyota a major restructuring of the company to be able to compete.
That's the idea. It doesn't matter how much cash the other side throws at you, you're working where they can't go. Time and time again I see our company out-maneuvering our competitors with less money. Not because we got some super geniuses on the team (okay we got some smart people), but because we started from the ground up working in a spot where our competitor could not go. And so we have years of experience more than our competitor in the thing that our competitor needs to get better at.
In real electric car markets, other brands than Tesla run the show. In Norway, one of the biggest western electric car markets, Tesla is way at the bottom of sales. Only 95 Teslas were sold in November, while single models of other manufacturers had multitudes of that number in sales.
I think Tesla's main contribution lies in the past, by being an early pioneer of EVs and pushing them in an environment where nobody considered EVs viable. This definitely deserves an entry in the history books. But competitors have waken up.
Tesla's monthly sales in any specific (non-US) market are completely meaningless, because total demand greatly exceeds supply, and supply is not evenly distributed. That is, there are months where individual European markets get thousands of Model 3's, and there are months where those same markets get a handful, if any. This means that both the "OMG Tesla sales grew 15005% in market X!" and "LOL Tesla only sold 3 cars in market X!" are completely meaningless non-news from which you cannot derive any information.
Just to drive the point home, new registrations of Tesla cars in Norway by month in the past 8 months:
April: 44
May: 8
June: 568
July: 348
August: 33
September: 1439
October: 95
November: 326
No, Teslas did not suddenly become hugely more popular during September and then immediately lose a lot of their popularity in the month after. It's just that in September, a lot more cars were allocated to Norway, and so a lot of the people on the waiting list finally got theirs. During the other months, those cars went to other European countries.
Tesla is still ridiculously supply-limited compared to the amount of cars they could sell, if they only had the cars. Whether they succeed or not depends mostly on how fast they can scale their production.
Good point about the data being noisy, wasn't aware of that. If we take an entire year the core of my statement still holds, although more weakly. Tesla is a competitor, but not market leader. Other cars sell way better. Check the image at the bottom of this article: https://insideevs.com/news/452441/norway-plugin-car-sales-oc...
3.2k Tesla model 3's sold in 2020, but it's only at #6, with #1 to #5 each selling more than that, like e.g. ID.3 with 4.4k vehicles.
> Surprisingly, disappointing results are seen from the two best-selling BEVs in Europe - Renault ZOE (119) and Tesla Model 3 (74).
I found this article [1] with sales figures for Europe. For H1 2020, it was 37k Renault Zoe, 32k Tesla Model 3, 18k VW e-Golf, then 4 in the 11-13k range, and 3 in the 7-8k range.
If you look at the greater european statistics it's not a real electric car market any more, as most vehicles sold have ICE components (either hybrid or solely ICE). Norway is special because of their large market share of BEV cars. They make up 56% of new car sales in Norway while only 7.2% in all of the EU.
So all the EU stat is saying is that Teslas are sold well in the niche of the market that's interested in buying EVs over more established brands. The Norway stat is more representative of what happens when 56% of all newly sold EU cars are purely electric.
Tesla had like 3-5 years head start on any competitor. Just like the iPhone had a few years head start with the iPod. They got into people's mind, built a brand, and by the time the iPhone came out, and by the time the iPhone became a beast everyone else was playing catch up.
Remember how blackberry was so desperate to make an app store, and it was an absolute heap of shit?
Well Apple basically created an ecosystem where engineers were running apple hardware with a decent development environment. By the time anyone else could compete a few years passed, apple was a clear market winner, and all competitors were just trying to not get decimated. Took android a while before it was a real good apple competitor, and still playing catch up in many ways.
Tesla is in the same boat. Eventually there will be better EVs for less money for specific needs. But Tesla will always be synonymous with EVs. First thing you think about. The thing you judge everything against. Not to fanboy Tesla. That company has many many problems.
One can perhaps think of this as Teslas blind spot. People living with California wages don’t necessarily see the difference in prices mattering that much.
This is not a blind spot, it's explicitly part of their company's long-term strategy; Musk's plan from the beginning was to start with a luxury-tier offering (Roadster), and gradually work their way down the price-points as they achieved greater economies of scale.
> Almost any new technology initially has high unit cost before it can be optimized and this is no less true for electric cars. The strategy of Tesla is to enter at the high end of the market, where customers are prepared to pay a premium, and then drive down market as fast as possible to higher unit volume and lower prices with each successive model.
You might criticize their execution for failing to reach the mass-market sedan price-point fast enough (though I think that they have done an impressive job of starting a car company from scratch), but I don't think the "blind spot" claim really holds water.
Good point. So they simply were not able to ramp up faster than it took for the existing manufacturers to start catching up and leveraging their scale better.
Yep, it's a classic "new market entrant is racing to become the incumbent before the incumbent(s) can copy their innovations" situation.
It's a good illustration of why software is such a different paradigm than traditional physical economies; VCs can pour funding into a software company and since the marginal costs are close to zero, the innovator can blitz-scale and take over the market before the incumbent has time to react. However when "scaling" means building global logistics infrastructure, including factories for batteries and factories for cars, it's a lot harder to get the drop on the incumbents.
I think the GP's comment is spot on though, if Tesla fails to win this race, they will still have been the driving force in bringing EV adoption forward by 5-10 years (perhaps more), which is an incredible achievement.
However they are not selling more EVs than everyone else in every market, which isn't a bad thing IMO. A smaller piece of a bigger pie is what they seem to be shooting for.
Also Musk's response during this pandemic has changed the tone around Tesla I think. Plus he has moved out of the bay area. I wonder how it will impact sales in the long run given California is their main market.
It's not more relevant, because disposable income ignores things Norwegians get 'free' (because it is already deducted).
Part of that 'deduction' pays for heavy tax-breaks and subsidies for electric cars in Norway.
But then GDP is also an abhorrent metric to use for basically anything.
If you use either GDP or 'disposable income' as a proxy metric to compare anything between countries, you should seriously re-evaluate what you're doing.
Teslas cost more (after those tax-breaks and subsidies) in Norway than in California. You're lacing the conversation with a lot of value judgements, but those aren't particularly relevant to the question of whether the people of California or Norway are more able to buy Teslas.
Maybe, but we went on a cruise to Norway last summer and every single time we were on the streets we saw at least a few Teslas. It was a game to see who could spot the most Teslas first.
VCs are a slightly less evil version of PE IMO. Don't get me wrong, they're still evil. Anyone who makes money from money should really question their place in the world.
My personal and vicarious experiences with VC's have been that they are very much a mixed bag, and choosing to work with them in general is a necessary evil depending on the type of company you want to build. For my future startup attempts, if I can help it I will not work with VC's.
And if I have to work with VC's, then I will have a strong preference for working with VC partners who are former operators. The investor having substantial experience in the trenches (such as former founders) makes a massive difference in the productivity of the founder/investor working relationship.
Very expensive. It's only worth it if you have over 50k a month in profit. At that level it is good for a year or two of training and then it gets repetitive.
> Because VC funded startups are forced to grow fast or die a lot of good, profitable, user focused ideas are trashed because they won't lead to rapid enough expansion.
I have noticed that, to some people, "VC startup" is almost considered redundant. That is, if your company is not seeking outside investors, not seeking rapid growth, not seeking an "exit", then it isn't a real "startup". So, in addition to what you mention about user focus (or lack thereof), I feel that this hurts ambitious entrepreneurs by making them think the VC/outside investment/grow-or-die treadmill is the only way to get big and escape the "lifestyle business" stigma. Many of them likely could succeed, albeit more slowly, without the treadmill.
Completely agree and I experienced much of that on my own journey. Customers would ask whether I'm interested in taking VC or if I wanted to keep it as a "lifestyle business" - not realizing that we were doing more than fine without requiring outside funding. After a while though it nags at you and makes you wonder whether you should take VC because doing so makes building a business formulaic. Bootstrapping a company can feel like you're in uncharted waters in comparison because a lot of articles assume you've taken or want to take VC. And they assume that you want to exit. I wish there were more publicly shared success stories of bootstrapped companies that didn't take funding because there are more of them out there than people realize. And taking things slower can help you validate use cases, flesh out the product and build the type of company that you want. I'm very happy that we never took VC.
> if your company is … not seeking rapid growth, … then it isn't a real "startup"
Isn't that the definition of a "startup"? If you're not seeking/expecting rapid growth, isn't it just a "small business". There's nothing wrong with that, not everything has to be a "startup".
(Wiktionary tells me "A new company or organization or business venture designed for rapid growth", but Merriam-Webster Collegiate 11th ed tells me "a fledgling business enterprise". Of course, the Merriam-Webster only recognizes "start-up" not "startup", so how much could they know?)
Just because it's the official definition of a start-up doesn't mean it's a good definition.
There's been a steady stream of bootstrapped companies providing legally and morally uncontroversial, high quality products to satisfied customers, and growing steadily until they become much bigger than "small businesses".
IMO there's something deranged about the need to operate on the basis of explosive growth from day zero. Not only does it create pointless stress and drama, but it isn't even a particularly reliable way to grow a business - never mind an uncontroversial one with satisfied customers.
I would distinguish between growth-at-all-costs and a scalable business. Both are startups, but VCs only invest in the former. Jetbrains is a good example of the latter.
Is this lifestyle business stigma a real thing? Or just something the VC lobby put out there? Personally I think anyone leading a business should deserve respect, as running one is hard.
It is, at least in the Valley amongst the get-rich-fast crowd, which is not a small portion of the people working here.
There are a lot of things I don't like about the tech culture in the bay area, and this everything-but-unicorns-is-trash attitude is close to the top of the list.
It's certainly part of the culture but when you make 6-figures a month as a bootstrapped founder, those arrogant a-holes quickly quiet themselves. Most of the fellow bootstrapped founders I've met are pretty decent people and there are a lot of them. I found the old money east coast elite to be much more annoying and far less interesting.
I think there are cases that are clearly "a new small business" vs "a startup". In between there is some fuzziness.
Obviously you don't need to have or be pursuing VC money to be called a startup, but there is probably truth in the idea that startups are inherently unstable. You may not be growing exponentially, but you are spending down money in pursuit or definition of a stable business model that doesn't currently quite work yet, or a different way to exit that unstable phase.
> I don't think it's a coincidence that Jetbrains has created a beloved product without the help of VC money
I don't think the surprise is that they made a good product without VC, I think the surprise is that they made ten figures off the back of nothing but a good product
...which should tell us something about the industry
Profitability isn't necessarily important to the strategy of a VC company. Everything is about the exit, and most exits are either acquisitions or IPOs. Neither type of exit mandates profitability, and both care capable of offloading to a greater fool.
A strong trend I've personally noticed with VC backed companies and something I'm highly wary of for our own company is the way it inevitably turns companies evil. I would highlight Google and Cloudflare as two examples, but the general trend seems to be that VC pressure inevitably forces you to hire 'better' people who invariably steer the company to being more focused on profit and power rather than on some intrinsic mission.
Actual mission focused companies like Mozilla only seem to succeed if they stay private and stay away from VC.
Google had limited VC investment - a 25m round before IPO. Arguably they turned evil much later so to me the link to “VC corruption” is more specious.
Re cloudflare, can you please help me understand what they’ve been doing that you see as evil?
Given how Mozilla constantly struggles to stay afloat (and effectively depends on the generosity of Google as the single revenue source), I don’t know that’s an example to point to, especially since they’ve had their own share of “user-hostile” steps (albeit fewer since it’s a smaller company).
I would argue that being a public company has the same pressure as being VC funded only much stronger.
Cloudflare is increasingly pushing their position as the world's biggest man-in-the-middle, and things like their new secure DNS are making the situation worse.
They've started taking opinionated stances and making deplatforming decisions instead of being neutral infrastructure and I think this is going to get a lot worse.
VC is like visiting sports clubs, finding the best candidates, and overdosing them on steroids. VC hopes the ones that survive will become profitable enough to pay for the ones that it killed.
>>>
Virtually every VC startup I've worked closely with or learned about in detail is doing something nearly everyone would agree is unethical, and a fairly large amount are doing things that are down right illegal spared only by the fact that they aren't big enough to warrant prosecution or even investigation.
Perpetual lip service is always paid to the notion that "we're a user focused company". While the mental gymnastics performed to convince everyone onboard that this is the case are fun to watch, it tragic to see nearly all good projects slowly devolving into ways of tricking the users... and in most cases still losing money.
<<<
As an anecdotal point of one, I can confirm that literally none of that is true for the startup I am working for, and we are doing quite well.
Of course, it probably helps that our founders have actual industry and startup experience, and are not pushover adult children like you might find on the Silicon Valley hbo show.
A company that makes it to a few dozen employees without much financing is already extremely successful. You're very unlikely to ever work for a poorly run company without financing - they can't hire.
Some SMB's that I have met over the years are great at pretending they don't have money when hiring but are very profitable. I think that fits the "bad company, no financing" and is worth mentioning.
This thread is interesting because we're talking about success for different people. Success for the founder? The money? The employees? The answers are relative to the stakeholder we're talking about.
Success as a product company relative to others. I'm talking about simple selection bias.
A no-financing company with a decent head count is probably in the top 1 percentile among peers. Chances are they're delivering real value.
A VC backed startup hiring a bunch of people is perfectly average. The top 1% for startups would probably be post-IPO/exit/very-late-stage.
So it seems perfectly normal to me a VC backed startup in most cases will look like a total trainwreck compared to a bootstrapped company of the same size.
The vast majority of bootstrapped companies die before they even had a chance to hire anybody. Unlikely you'd ever have to deal with them.
I will go further on VC funded companies. The Culture of Success is simple: If you are a founder, you have to be Perfect Fit, you have to design your idea around what VC's want to hear and this is working model.
One of the reasons that I never work with or for startups. Founders are rarely competent to select the right people, in most cases they lack experience in HR or Product Design, etc.
Bootstrapping is a detector for true products, you scale on a merit of real customer base not on some Valuable Idea for VC investment.
I can really relate to the parent comment. I have worked at two VC-funded startups, one which was an "uber of x" and the other is a IoT consumer electronics startup.
The former was unethical in the way it treated the workers (I mean independent contractors). The higher ups treated the app/company as a beautiful product that would save the world (or the yuppies at least), but rarely acknowledged the actual workers who made the cogs spin, and was more focused on Growth and branding than actually treating people well.
Something I always think about is the dark pattern they had in the app which would only ask you to rate/review on Yelp/app stores if you had given a 5 star rating to the job. They also hacked Yelp to show the Yelp option to people they determined were most likely to leave a good Yelp review. If you have a good product/service that you believe in, you shouldn't need to do this type of thing. Oh, and of course the company was not following the labor/insurance laws in the states where it worked and had several cease and desist orders they ignored.
The hardware startup had like 20% RMA rates because of components would fail over and over. They used VC money to subsidize the returns/repairs instead of fixing the problem. They would prefer to ship more crappy products instead of fewer good products. Not so much illegal (hard to be when selling electronics, yay regulations), but unethical in that they would ship so much garbage despite being "customer obsessed." They operated more like a software company than a hardware company. It's easy to remotely fix software, but hardware is a very different beast and that was something they didn't want to admit.
Compared to my current company, a 30 person electronics firm that has already been acquired and never did too much VC nonsense. We are profitable and sell a good product (1% RMA) that customers enjoy. Instead of "moving fast and breaking things" (a slogan I feel the first two companies embody), we work hard to get things just right before shipping the product so that we never get any returned merchandise but get lots of return customers.
I wonder if this shady/unethical behavior is more focused in consumer startups. In enterprise SaaS, for example, unethical behavior is a low-EV move because your customers will have standing to cancel their contracts or pursue you for damages. It's also harder to be shady under the scrutiny of 500 large recurring-revenue customers than 500,000 tiny ones.
The article seems to be only about what the best way of selling your company is (whether or not you technically sell).
There isn't even anything in it about just running your own company indefinitely.
And the article does not mention "user" or "good software" once, staying only within an economical framework ("how to get rich") - which is literally the point of GP.
Also as humans we are myopic and can only understand everything as a relation to us. His tweet (https://twitter.com/paulg/status/1129897694984646657) about how you don't need to be rich to run a startup invariably shows that as humans we are poor at judging almost anything out of our current circle of understanding.
The major major thing that makes a startup successful in almost all cases is money. With enough wind even chickens can fly.
There are millions of brilliant people all over the world whose ideas we never see because they never had their opportunity or funding to bring their ideas to life.
Off topic: I'm not familiar with this turn of phrase, but as anyone who has ever chased after free range chickens as a child knows - chickens fly fine with no wind at all. The can only fly a short distance though.
> Why is it that this argument only seems to apply to software?
Maybe because software has a unique property: a practically zero marginal ("reproduction") cost. Hence software, and services that depend only on software are suitable for the rocket-fuel injection strategy VCs so heavily rely on.
Make no mistake - good software is damn expensive to create, but once it's ready for delivery, creating and selling additional copies (or serving more clients) costs practically nothing.
the distribution costs nothing but six months old software is still six months old software. Pushing half finished products on the entire world is another 'feature' hailed by people like PG. I thought we had all learned how great "move fast and break things" and "when it works you're shipping too late" is for us at this point.
There was a good article on HN recently about 500 year old Japanese family owned businesses. Most hypergrowth software probably doesn't live five. Isn't it interesting that most of the software that actually has lived decades looks more like it's made by people like that rather than VC fuelled companies?
200 years ago, railway was the big thing. Everyone was interested in building railways, steam engines, etc. Companies sprung up, many people got rich. Nowadays, the railways are already built and transport many goods. Building new railways is extremely expensive now because we have lost the know how, workforce, have higher labour standards, bureaucracy etc. Nowadays we are mainly considering how to operate railway tracks instead of building new ones.
Nowadays, software is the new economic frontier and enjoys explosive growth. The land that software embarks into is still virgin, and it's comparatively easy to build a new software company. It's a growth market.
In such an environment, bootstrapped companies are generally at a disadvantage to VC started companies, as bootstrapped ones can focus on capturing the market before becoming profitable, while bootstrapped ones have to keep both in mind. So people turn to VCs.
This situation of explosive growth is kinda unique to software, and VCs aren't the only solution to the problem, but the dot com bubble has shown what happens when companies go public more early on in the process.
That's a bit like saying "This person won the lottery, so therefore..."
Sure, it's possible. But having met a few founders, their lifestyle from taking VC money seems far preferable to the bootstrap approach. It's true that you have to grow, but if you have growth, then nothing else matters. And if you don't, then you're one of the most employable people in the entire world.
A shocking number of people, somehow, end up in insane amounts of debt by trying to start their own companies. And you're sort of forced to. An example: one of our family members had a lucrative pole barn business. (Apparently in the midwest, lots of people wanted pole barns built, or something.) But in order to pay his employees to go construct the pole barns, he needed loans, leveraged against the future income from the construction project.
Then 2008 hit. Poof! Contracts all went poof. And he was left holding the bag.
So, if you need employees, and you're bootstrapped, how exactly are you going to pay an engineer roughly $130k per year? (Remember, the fully-loaded cost of an employee is much higher than their salary.) Loans must be so quite tempting.
And sure, LLCs are designed to mitigate personal risk. But that implies you can find someone willing to risk loaning to you.
I'm not saying that VC is great, just that it fills a need.
Yeah but all the successful VC funded startup stories are a form of survivorship bias too. The whole idea of venture capital is to fund many companies that will fail with the hope of finding the one unicorn that will make up for all the losses. A lottery just the same.
It's true that if you're taking out loans to fund your bootstrapped company you could be left holding the bag. But it's also true that you can build an IT startup without taking a lot of big loans for capital expenditures. You only grow when you're making money, so it's a slower path, but for some businesses it may make more sense.
> But in order to pay his employees to go construct the pole barns, he needed loans, leveraged against the future income from the construction project.
Rather than collateralized loans, a better financial instrument might have been factoring (selling the receivable outright, typically for 90-95¢ on the dollar), plus having a reasonable penalty clause in the contract.
This isn't a criticism. Hardly anyone outside of the fashion industry (that has long waits, like net-90, for payment after eventual delivery) or heavy industry (that has expensive equipment that can be amortized long-term) seems to know about factoring.
> That's a bit like saying "This person won the lottery, so therefore..."
Caveat: I love Jetbrains, and am a happy subscriber.
However, as the parent commenter says, it's important to realise that Jetbrains has been lucky as well. Java dev tools suffered from poor performance and poor UX for the longest time.
Eclipse, despite its early promise (SWT and native widgets) has much 'rougher' UX compared to IDEA. But I remain surprised how much better even simply typing feels on IDEA, and how good the refactoring tools are. (The latest Eclipse has improved a lot in the refactoring dept, though.)
Java's combination of openness and poor dev tools definitely helped Jetbrains a lot and gave them a cachet in the marketplace that helped them as they expanded into other languages. That said, I've also used their Microsoft VS addins and those were very good too, but they likely would have made much less money if they were a Microsoft-only shop.
Or, don't start a business with a loan. If you're gonna bootstrap (the "right" way) then step zero is have 12mo runway of your own capital and step one is start a business
> $130k to pay a single employee for one year. I don't know about you, but it's extremely difficult for most people to save up that kind of runway.
I think the idea is that step one isn't hiring a subordinate employee; it's having secure enough finances that you (or you and your co-founders) can work for yourself for a time.
Step two is actually working on the business, and step three is growing is revenues to the point where it can sustain you, four is growing them further to the point where they can support an employee, and five is actually hiring that employee and paying them $130k a year.
Co-founders? Why are they co-founding? Profit sharing?
That's an excellent way to devolve into squabbling about who gets what. VC also protects against that: the money is for the company, and it's illegal to siphon it out of the company.
Unfortunately in practice your suggestion tends to become "You're working for yourself, alone." And sure, I love the idea of a one-person company. Lots of talented devs can sell, if they try. But lots of talented devs are also trying to get rich on the iOS app store; few do.
I am a cofounder of a non-VC backed startup. We work together because (1) we're friends (2) like working together (3) have complimentary skillsets. We split the equity 50/50 and receive the same salary. We've been doing it several years and we've never had even a single conversation on the topic, we just assumed from the beginning it was an even split and that's how we went about it.
> Co-founders? Why are they co-founding? Profit sharing?
Because they had an idea with you and want to work together to make it happen? Or all kinds of other things like that?
And yeah, if you're going to do that, you're going to have to be careful make sure you're not the kind of people who will need adult supervision to avoid squabbling.
VC might have its uses, or provide some service, but that shouldn't be misunderstood to mean that it's essential or alternatives aren't worth considering.
The other thing to note is that one of the things VCs do is sell the VC paradigm, so they're going to try their hardest to make it seem like it's essential or at least the best product out there.
Hmm. You're dodging the question: Why would a cofounder want to start a company with you? No handwaving.
People cofound to get rich. Can your company offer that to your cofounder?
If you focus on that question, the rest falls into place. Unfortunately a lot of people don't want to focus on that question, because it's at the heart of why bootstrapping rarely works.
"Not needing adult supervision" indicates that you probably haven't done what you're saying. It's not a matter of supervision. It's managing expectations. You are legally required to lay out what you offer, in clear terms, and what you expect in return. That's the basis of a business arrangement.
So, we're going into business together. How will your company make me rich? Why should I work as hard as I possibly can to make the company succeed?
The model happens to be aligned with how and why people actually start companies. It's not my model.
You have to come up with a persuasive answer to "Why should I work as hard as I can on this company, rather than go work for Google?" That question is in fact so hard that it (possibly) almost killed YC in the crib, back in '08. No one wants to work for a startup when they can get paid far more and live an easier life.
What you're proposing, if I understand you correctly, is that someone works extremely hard, for no concrete gain other than perhaps intellectual curiosity. Sure, you can argue that the usual benefits apply: you're free to do as you please, and to self-manage. But that's not a very convincing argument in the face of $RIDICULOUS_SALARY at a bigco.
It's cliche to say "Don't hate the player, hate the game," but I believe it applies here. Neither of us chose to live in a capitalistic society. We were born into one. Why not make the optimal decisions, all else being equal?
> The model happens to be aligned with how and why people actually start companies. It's not my model.
That someone else created the model and you believe it doesn't mean it's true.
> You have to come up with a persuasive answer to "Why should I work as hard as I can on this company, rather than go work for Google?" That question is in fact so hard that it (possibly) almost killed YC in the crib, back in '08. No one wants to work for a startup when they can get paid far more and live an easier life.
Actually, I don't. Honestly, you seem kind of set in your thinking, and I don't think it's worth the effort to try to figure out how to persuade you out of your misconceptions. There are counterexamples even in this subthread that falsify your model. It's up to you to either be open to them or not.
Statistically you are right that big tech currently provides the best expected value for a programmer, but in practice people's decisions aren't based on a single criteria. A lot of people find working for Google soul crushing and would happily take a $100k job that gives them more control and impact versus trying to navigate the path to promotion and relevance in a sea of stillborn products at Google.
I also agree founders want to get rich, I mean who doesn't? It's a nice fantasy. However if they don't have a deeper motivation to solve a problem for its own sake they will fail. If you're super smart and just want to get rich, the right move is to go into finance because you'll never cross the chasm of building something people actually want. Even the language you use to describe the premise indicates you don't really get what makes successful founders tick. Founders don't "work for a startup" and they don't need to be convinced—the whole point is these are people who have decided for one reason or another that they are passionate about building a company. You might think them fools because 25yo engineers are making $500k at FAANG and that is a high bar to clear for any startup (it is), but consider that all SWEs under 35 have never known a recession, and they may have come to believe that a programmer is inherently worth $500k even though this is just market rate given todays demand. If there is another dot-com style correction, a bunch of folks might find out real quick what the value of knowing how to make your own dollar is.
They co-found to make money. It's just not as fast paced as the VC option but it's the same thing as any business. The founder thinks that with more than 1 person, each person would make more money than if only the founder worked.
No one will loan to an LLC without a personal guarantee from the founder. LLCs protect against legal liability, not against financial liability for debt.
This is probably it. There are some companies that just can't be bootstrapped, the up-front cost is too high. There are some that would suffer from the high-growth demands of VC.
If you've got a plan that starts with high-fixed costs that over time becomes low-fixed cost at scale, then VC is probably the best way to go.
If you've identified low-hanging fruit to solve problems for people, bootstrapping makes the most sense.
Any arguments for or against seem to imply either way is a one-sized fits all solution. It's not.
Their open source free pack is so great, many many thanks to them!
And they kill two birds with one stone. First, they support open source, which is great. Second, they increase conversion and loyal userbase. At my job I had a choice between Visual Studio + Resharper vs Rider, and I was reluctant to move from VS to IntelliJ IDEA based IDE, thinking R# is good enough and gives the same benefits inside a familiar IDE. I was so wrong, after trying Rider at home occasionally and pair coding at job, I gradually migrated. The IDE itself is much better, faster, nicer is big and very small details. Now there is no way back to VS, but that may not have happenned without the access at home. Other tools from the Toolbox are doing the same for other languages. Very smart of them to be so generous. Now even if my free pack is not renewed, I will pay for myself. And for foreseeable future I will generate at least one license at work for them.
It's also pretty consumer-friendly. Every year I get an email from them around November reminding me my subscription will renew in February, and then a couple more reminders along the way.
The “subscription but keep forever on cancel, sans updates" licence model is just so much more honest than pretending that purchases would be one-time investments and so much less of a risk for the buyer than a hard-stop subscription.
I think it's also good for the product, the right balance between the failure modes of being able to milk existing subscribers even without maintenance for the hard subscription and change for the sake of change that you see with classic one-time licencing where reasons for paid updates have to be invented even when there is nothing to improve (edit: how many great products have been ruined by this?).
The perpetual license fallback saved me when my license expired. Due to the US holidays it took our purchasing department a week or two to renew my license. In the mean time I was able to fall back to an older version, and upgrade once my new license came through. It was very easy and straightforward to do in both directions.
Congratulations to them and to all Jetbrains employees. They managed to do two really hard things which most developers flirt with at some time or another.
1. Create a new editor/IDE that's actually better not just different. I think everyone has had shower thoughts about making a better IDE and many have tried and failed. Jetbrains succeeded.
2. Creating a useful abstraction. IntelliJ was a great Java IDE but what's truly impressive is how they've been able to repeat the formula for almost any language out there. Everything from Go to JavaScript has a great Jetbrains IDE. They seem to have somewhat solved the general problem, which is normally a folly but in this case the key to a multibillion dollar company.
On Earth 2 where Jetbrains took VC money there's an ambitious product manager pushing his team to finish a built-in music player (along with 2 gigs of royalty-free lofi beats) as the issue logs backs up with angry customer complaints about poor language server integrations, crashing, and general slowness.
FWIW I once had a VC tell me to use a certain IDE because it “automatically generates unit tests for you” I nodded politely and said “right, always nice to have test stubs laid out..” and was promptly corrected that it does in fact generate the whole test for you
$7B valuation on only $200M in EBITDA, let alone profits?
If they aren’t thinking of selling now in this silly market for that ridiculous valuation I admire how centered they are on things more important than money, such as building and owning your own ideas.
I suppose the obvious answer to that is - and what do you think the second best IDEs for Java, Python, and JavaScript are? Because the longevity of SaaS defines its value and JetBrains has zero rivals and a very big moat (a polished product beyond any other IDE I’ve used).
You’d assume surviving 10 years is guaranteed and a sale is almost certain. Whoever buys JetBrains (ms, Amazon, google, one of the three for certain) will pay through the nose.
Doesn't surprise me. I switched from TextMate to WebStorm 10 years ago. It was like I suddenly had a superpower. I don't code as much nowadays but I still live in DataGrip to do product analytics. I talked to the JetBrains team recently about how I used their to build open source software, and how we use their tools to build America's newest stock exchange at LTSE.
It reads that they raised no external funding whatsoever? Is that true? If so, how? Did they just code an app and start immediately selling it, working another jobs until it become enough profitable to support them full-time? It sounds quite implausible that they did not receive any funding, but I guess it could be true. Very impressive achievement nonetheless.
> It reads that they raised no external funding whatsoever?
It sounds strange now but I suspect for most of history this was true of businesses large and small. I wonder when external funding became "the rule" for successful companies rather than the exception?
Bank loans used to be more significant and commonplace though.
And probably historically it would be (even) more likely to be significantly self-funded as opposed to being all but unfunded and 'bootstrapping', that's my impression anyway.
Absolutely; I didn't say 'banks used to give loans', just that they used to be more significant (number and magnitude) lenders to businesses; not just high street butchers and the like, but what we would today call a 'start-up' too.
This is false. How could the common person have possibly had the capital to start their own business without external funding prior to the 20th century? No, they all had to rely on bank loans, which were arbitrary and capricious, as well as required collateral that made it a very risky proposition to start a company. Venture Capital by comparison is a miracle of the modern world, allowing you to start businesses risk-free.
And this is what the modern VC fueled world has brought us to.
Why is it impossible to believe that a company can start small, become profitable and grow without VC funding? This is how the vast majority of businesses become successful.
It looks like they started by selling a Java tool called IntelliJ Renamer. Likely just bootstrapped that and then reinvested the profits.
They only switched over to the SaaS model maybe five or six years ago, before that you'd buy one copy the application and then buy a newer version when you felt like it. Now you're basically buying a new copy every year no matter what, just like everything else.
I've been paying for it for a while and I didn't actually know that. I thought after I stopped paying it would be unlicensed and bricked. Either way though I think the upgrades are probably worth paying for.
I wouldn't say it is SaaS model. You own a licensed copy pinned at version forever without extra pay and also for offline use. I would rather call it annual upgrade subscription software.
The company I currently work for also started this way to my knowledge, and I think we're better off for it. It may be harder than getting funding right from the start, but I wouldn't say it's implausible.
I'm surprised that I don't see more of the HN typical anti-Java stance where the wisdom on here is that you can't build UI applications in Java. Here is a $7B company built entirely with Java Swing providing (IMHO) the best developer tools across almost all languages. Recently, JetBrains gave me an unlimited lifetime license for all their software because I have been a loyal customer for 17 years - very generous. And yes, I would have loved to invest in them anytime along the way but their low burn rate being headquartered in eastern europe makes that pretty unnecessary. They have probably been profitable from the beginning.
Another thing missing from the discussion is whether they are sharing equity (or profits) with their employees. That is also a hallmark of VC funded businesses and one that is often not present in bootstrapped companies. Generally all the economics are consumed by the owners.
I did not realize that it was Swing, since they're not using the Metal L&F. I always wanted to like Swing, but the look and feel were never very good. IntelliJ feels great.
as a PHP developer, PhpStorm is fantastic, and knowing that JetBrains hired one of the most active and prominent PHP Core developers to let him continue working on the language is fantastic. Happy to pay for these apps because of that.
It's not exactly clear to me why they hired Nikita Popov, but I'm glad he gets such free rein. I was involved with PHP runtime development in the beginning of the 2010s and saw as he, as a teenager in high-school, progressed so quickly from fixing some bugs to being arguably the person most advancing the language and the implementation (the other being Zeev, who's been around forever, but he's more focused on the implementation).
Wish I could figure out how to set up Xdebug properly on MacOs. Most PHPStorm and Xdebug tutorials are geared for Vagrant set ups but not straight forward localhost on main machine.
Huge fan, couldn't be happier for their success based on delivering untold dev productivity & joy. Great example of a customer focused Co's achieving success through relentless product focus.
All their products are amazing, I'm on the all products pack subscription which is insane value - by far the best value commercial software I've ever used that's always ahead of the competition and gets smarter with every release.
Based on Wikipedia it was founded in the Czech Republic by three Russians in 2000 which makes it a Czech company just as much as Tesla is an American company (rather than South African).
edit: Fixed founding date, coffee hasn't kicked in yet
> Tesla was founded (as Tesla Motors) on July 1, 2003 by Martin Eberhard and Marc Tarpenning in San Carlos, California ... A lawsuit settlement agreed to by Eberhard and Tesla in September 2009 allows all five (Eberhard, Tarpenning, Wright, Musk and Straubel) to call themselves co-founders
No, not due to fear. It's just somewhat easier to sell their products using a EU based legal entity. Another example would be Yandex, registered in the Nethelands.
JetBrains main dev offices are in St Petersburg, Moscow, Novosibirsk.
It is so well deserved. I have switched a few different languages in the last few years and everytime I start working on a new project in a new language, the first thing I do is lookup the IDE that JetBrains is vending for that language and get my manager to expense it. An amazing product.
Well deserved. Their products are just genius, and they help everyone get 5x more productive.
With the Community Edition range of IDEs that they have, I already feel they're doing charity.
I was using Intellij (usually referred to as IDEA back then) after Visual Cafe, JBuilder had died and Netbeans was shit (and/or still to arrive). Was worried they would be killed by mega-corp sponsored Eclipse. Didn't happen. They really succeeded with a straight-forward pay model (and now subscription model). Congrats to them.
Yes! I have been using Jetbrains since college in 99 and have sold hundreds of copies by converting dev teams to it over the years. Its simply, hands down, the best IDE! Stay pure guys!
IntelliJ (and the rest of the JetBrains editors) is the only editor I've found with legitimately good emacs keybindings. They're not perfect but they're so much better than the VSCode or Sublime ones. They feel like bindings written by someone who actually uses and likes emacs.
JetBrains genuinely feels like a company run by people who love programming languages and love tooling. How many companies would actively fund a homotopy type theory group^[1]?
Some people are calling Jetbrains a startup. Hell no, this is just a normal company which builds great products. Making me realize that the shortest definition of startup is VC-backed-product or even worse, VC-backed-potential-product.
IntelliJ is great, PyCharm is good. But RubyMine is the one I’ve used daily for years and it’s a bit of a dog’s dinner and I think getting progressively worse over the years.
I recently stumbled upon the Jetbrains TV youtube channel specifically this one about Go [1]. I don't have Goland specifically but it's really nice that if you have a licensed Ultimate edition of the IDE, you get all that. I have been using IntelliJ for many years now (on a personal license)but pleasantly surprised how many nice/useful features are a key stroke away. Would recommend a quick watch.
I had my own personal license for Resharper across three jobs because it was much easier just to pay for it myself than try to justify my company to expense it.
I would hate going to another developer’s computer trying to show them something and then realize the feature I was using was part of R# instead of Visual Studio. It was painful.
Now that I have left the C# world for Node, Python and AWS, VSCode with plug-ins are more than adequate.
JetBrains and Hashicorp are definitely two of my favorite companies in the Dev/Devops space.
I haven't seen anyone here mention DataGrip, so here goes:
If you work with a database you should try DataGrip. It is the best client I've ever used, for every single database I've tried it with (mostly Postgres, some SQLite and Redshift as well). Autocomplete just works, it will create schema diagrams for you that are accurate and useful, it's data export tools are obvious and fast. I pay for a license personally for use on side projects, and use it at work on a daily basis.
But I did come here to note that Jetbrains are as much billionaires (on paper) as the Theranos founders were when the press was fawning over Elizabeth Holmes as the youngest "self-made" billionaire. I'm not comparing the companies. Just there's a big difference between paper billionaire and hard asset billionaire.
My company’s codebase is rapidly becoming too much to compile or even index locally. The official solution is to develop in cloud VMs. I expect I will be on of the last holdouts using my MacBook Pro as a space heater: you will pry the Jetbrains IDEs out of my cold dead hands.
I just hope they get strong client/server support at some point.
Started using jetbrains ide around 7-8 years back. Couldn't leave. Tried vscode, netbeans, Atom, eclipse(2nd chance), online ide's, just nothing comes even distant close to jetbrains ide. Can't even think of coding in java without this. This thing just works. Very well deserved valuations.
I remember the time I noticed the UK price was significantly more expensive than the $ price for a piece of their software. I contacted their sales and they let me pay in dollars.
That, plus the fact their tools are really good and really help me mean that I'm very happy about this news.
Love the idea, but could never get into their software. It always felt very alien, especially on OS X. I figured it was due to whatever Java UI framework they were using.
Has that changed it recent years? Does it feel more native? I just set up a new machine, maybe I'll give it a whirl.
I love these guys. My team adopted IntelliJ when it was still 1.0... 2000, 2001 maybe? Far and away the best Java IDE. I even got to talk them at their Booth at JavaOne in 2008... wonderful people. Very happy to see they have stuck it out and made it on their own.
Very, very well deserved! Great software at very reasonable prices. I had the ultimate collection (or whatever the package including all IDEs is called) for 3 or 4 years and it even encourages me to try out new languages once in a while. Its an excellent offering!
Sometimes I used to think that the rich used to lobby governments to create more regulation, so that creating any new business in a space they have their own players would be extremely expensive and thus warrant the need of VC capital to even start. On the other hand when I see how companies abuse their position I can see that the regulation is very much needed. Now there seems to be a disconnect between how smaller businesses are regulated and how big business is essentially left to do as they please as they become too big to fail. How or what is at fault? Is it possible to have a level playing field so that smaller businesses can compete on the same level as big guys and gals?
Honestly I've found it to over-promise in terms of its capabilities. When working on code with a complex type hierarchy, features like click-through definitions show the wrong thing, which has resulted in lost productivity for me.
I'm very happy for the team at Jetbrains, they make a solid product.
Back in college in 2002, I was taking a java for programmers class in college, and the teacher was using BlueJ. I had taken programming classes in C++, and had to use Visual Studio for that. I declined to use BlueJ, and decided to find something like Visual Studio. I looked at Netbeans and the predecessor of Eclipse, and eventually found out about Intellij IDEA. I was very happy and used it on a trial basis.
Whenever I've had to use program Java, I've always gravitated towards using Intellij IDEA.
If I were programming Java full-time, I'd definitely buy a license for it.
Huge fan, have the all products subscription for years and use multiple of their IDE's simultanously and try to convince anyone who will listen why these are just better IDEs, which is why they should pay for it.
However, please please, bring back the old "local changes" view. It is a huge part of the workflow when coding. I don't know of a single person who thought it needed to be changed, but everyone i've discussed it with wishes it was returned to the previous style.
For the record, you can revert it (for now) by going to: Settings > Version Control > Commit > "Use non-modal commit interface"
I'm really glad for these guys, they made a phenomenal product that made life easier for me to develop on. I'm glad Google picked them for Android, it's a dream come true for a hacker.
Heh, their app was the only IDE I went in and added support for when it came to porting macOS keybinds over to Windows and Linux lol. I had no idea they have grown to be so popular and are fully owned still by the original founders.
I have support for VSCode and Sublime Text 3 as well of course, but they're not IDEs.
I always disliked the name IntelliJ IDEA by JetBrains. It has a product name, a comany name, and something else that until today (15 years after I used it for the first time) is still unclear to me. I mean wouldn't IntelliJ not have been enough? Or IntelliJ IDEA by IntelliJ? It is a fantastic product, but the name?
Agreed. Never felt that their own bug tracker is impressive compared to other online services.
It's just messy and not easy on the eyes. Maybe a different team is working on it?
I honestly still cannot understand why their database product does not show the encoding/collation for fields in mysql (and has no way to do it either).
I disagree. I use it daily as my tool to manage data in MySQL, Postgress, Sql server and Db2 databases, and it's probably one of my favorite JetBrains tools. As a Linux user there aren't that many good options available, and I am very grateful that they added this product to their line.
The Database plugin from IntelliJ and Datagrip is essentially the same. My guess is people like to have separate tools based on their purpose and Datagrip serves that need.
I haven't been convinced by WebStorm (for Angular and Gatsby/React projects EDIT: with TypeScript). It doesn't feel as magical as IntelliJ or Rider/R#.
I'm always impressed by how strong the WebStorm intellisense is on pure javascript projects. Somehow it mostly gets jump-to-definition right, even in AngularJS tarpits that are full of ngInject magic.
I cannot be as magical due to Javascript's dynamic typing. In Java/Kotlin, the IDE can know all about your classes, types, etc., but with Javascript is has to make some guesses.
I am using Webstorm for my side project and have to use Visual Studio Code for company work. Webstorm is so much better IMO. Everything feels to well integrated, while Visual Studio Code always feels like a toy to me.
I've used it with TypeScript exclusively. My qualms are more about debugging (VS Code creates a temporary Firefox profile in seconds and that's it; in WebStorm you need to configure Firefox to launch a certain way and then setup the debugger), the absence of refactoring options, framework support, etc.
Saying that TeamCity is their worst product sounds like a back-handed compliment to me. It's certainly not a perfect product, but I've been in multiple jobs where they migrated the CI system (including one that did ~25k builds/day) to TeamCity and it was a significant improvement in scalability and manageability over Jenkins, Travis, and some other Windows-only CI system.
I tend to run into performance regressions maybe once year after upgrading one of their non-Intellij products. I suppose this is because they mostly use Intellij internally so less dog fooding for other products.
I'd like to understand how these guys make money, I've used the free version of IntelliJ for years and never required anymore than this! Does people actually buy licenses ?
Some of the language specific IDEs do not have a free (community) version like CLion for C/C++ or Rider for C#/.NET/Unity (and Unreal Engine in the near future) and bring a lot to the table for those languages.
I am a heavy user of CLion and enjoyed my education license while I was in engineering school, I will happily buy a personal license when it expires !
I do Java, Ruby, Go, Clojure, Python, k8s gigs or side projects. For 150EUR/yr I get solid always current workbench with many specialized flavours (IDEA, RubyMine, GoLand, PyCharm) and consistent UX. Moreover there are quality 3rd party plugins available for K8s yamls or Clojure (Cursive).
Yeah, they are cheap (for US professionals, at least). I've subscribed to their products for over half a decade now and have it on auto-renew without thinking.
I've had a personal all tool license since they switched to the licensing model. 150 / yr is reasonable for me to be able to use their tools on my personal projects, and also not having to pester my bosses about getting a license whenever I change jobs.
A year using IntelliJ for React/Node and still trying to find my way around the IDE (IntelliJ).
It seems powerful as is, but I feel like I'm not using it to the full extent
I can't find it right now, but there's a video from a conference where one of the IntelliJ developers show how to work with it productively... it really changed how I use it and made me much better at it.
One of the things that struck me the most was that you shouldn't use tabs... They are very inefficient at navigating between files... Use the file switcher (Cmd+E on Mac) to switch between recent files, or type search (Cmd+O on Mac, followed by initial letters of the words, e.g. to find FooBarClass type 'fbc') for anything else... and disable tabs in preferences.
Another good one is to use `Cmd+Shift+A` to search by action (e.g. Cmd+shift+A > "show bytecode")... with time you either start remembering the shortcut which is shown when you select the action, or you just get used to searching it this way which takes just a second anyway. One more hint: navigate between implementation/definition using Cmd+B on Mac (don't remember the Windows/Linux shortcut) which alternates between the two things, so you can go back and forward using just that! Talking about moving back/forwards, on Mac, use Cmd+[ to go back to previous lines you were editing, and Cmd+] to go forwards again (very handy to look back at what you had been doing before then moving back where you stopped).... oh, there's so much more... just watch some videos on YouTube and practice the hints you like the most.
Try some of the refactoring options. It’s the only IDE I know that automatically takes care of all the references if I move files, but especially functions and classes around.
We had a huge file with tons of functions inside, and using Intellij it was a simple matter to move them all to their own files (and not have to update any imports anywhere).
My personal way of learning about any IDE/etc is when i see something interesting in the options/settings/shortcuts or if i accidentally do something odd i think "huh, what is that?" - i try it, and if i like what it does, i try to remember it for next time.
one at a time you build up an insane amount of muscle memory. you can't memorize all the things. it's also one of the reasons i use eclipse shortcuts in pycharms (don't want to rewire muscle memory)
edit: this is ~5 years in to pycharms and i still occasionally learn new things.
I'd say, don't disable the tips that show at startup and try to incorporate them into your workflow. Maybe make some notes of the ones that seem most useful and try to refer back to them, before long you'll find your fingers remember the shortcuts.
I don't want to seem like a complainer, but AppCode is still not working as good as I'd like (indexing is really slow, misses out of a lot features that other Jetbrains products have, and also extra bugs). But it's still 5x better than XCode. And thats the point, they're making a better iOS development environment than Apple
They miss out on some features where you have to XCode, but this is Apple's fault.
This is a huge achievement because "without VC help" literally means "All VCs and all their corporate friends actively working to destroy you".
Maybe they succeeded because they got things going a long time ago. I doubt they would succeed if they started only a couple of years ago. They would have been crushed by the VC-corporate complex.
I tried to use their CLion IDE for C++ development but had numerous problem preventing me from working. The company was responsive and tried to help me, no complaints in this department, but I lost my patience pretty fast as I was not willing to invest significant time into making things work that should've worked right out of the box.
Do you mind sharing your experience? My experience with Clion has been great so far, but I understand that Clion is somewhat opinionated on the project structure (for example, only CMake support), so it might not work well with existing projects.
Problems with crashing while debugging, inability to debug, etc. Do not remember details as it was more than a year ago and as I've said I was not willing to spend much time on that.
Well deserved. I love PyCharm Professional Edition. I remember I got their "startup discount" which is 50% for one year, even though I was just starting a limited company to freelance.
They make the best IDE, they actually invented many of the features that we take for granted.
I remember the first time I used IDEA (I think it was version 2.5), it was a truly magical experience. The little idea lamp popping up and almost reading your mind.
I was hooked, learned the refactors and most shortcuts and I could fly. They earned every cent.
From my understanding, it's mostly Intellij and GoLand, and some PyCharm. At least two of the three are languages that are every difficult to be productive in with Sublime or Vim alone.
I guess PyCharm allows you to stop thinking about whitespace? In seriousness, not trying to start another holy war.
Rider is great. You do have VsCode competing in that space, but I still like Rider better as an actual IDE. Though VsCode with vim mode is my default lightweight editor now.
That said, I hate their nonsensical keybindings for (my) most common uses (looking at you function keys). I also wish their plugin API was more stable. A lot of great plugins seem to require a lot of maintenance work release to release.
This is Czech company as much as Luxsoft is Swiss or Telegram is from UAE.
Using JetBrains tools you potentially give Russia/FSB access to your source code and open yourself to a possibility of getting backdoor inserted into binaries during compilation.
I wish Jetbrains would lower the personal license price. I use my compnay license all the time but still pay Jetbrains $89 every year (don't know why I've been doing that for a few years already, should give it a second thought).
I didn't even apply for a license from my company because I use it on my personal laptop too. Jetbrains is so good that I actually feel happy paying for it. Its quite ironical that I started my career as an Eclipse RCP developer and up until 2016 I considered it the best IDE in the world.
Personal license is already low...
You'd be paying in the range of $10/mo.
I'd rather complain to companies like Adobe to ask for $50/mo with their domination because of their proprietary file format.
I will develop on any OS you force me to as long as you pay for my IntelliJ license. But seriously, I consider IntelliJ more important than the underlying OS to be productive as a developer.
Love them. I would pay for them myself, if I had to even though pricing would translate to a considerable amount in my country, its worth it. Hope their new venture, Spaces, take off.
Happy to see this, it’s well earned. I’ve used their products since IDEA v3 back in 2003 and it’s consistently been excellent.
Hard to believe IDEA is 20 years old next month!
Vim is a way of editing. I use IdeaVim inside jetbrains IDEs and it is awesome. Many popular vim plugins are also supported.
I still try to keep vim as close as possible as an open source alternative. Thankfully, a lot of editor features have been abstracted enough that the same software runs in vscode and terminal vim. e.g. ternjs for intelligent autocomplete in JavaScript, and the vim keybindings itself. Still, open source code intelligence isn't as good as the proprietary intelligence of jetbrains, so I bring vim inside jetbrains.
I am glad my personal site license enables such awesome. Jetbrains is a wonderful company and I hope they continue to retain agency over their customer focus.
i keep going back to emacs/vim for coding, but jetbrains in one of the few bigger vendors about whom i’ve got nothing bad to say, ever. i love their tools, just prefer the terminal. one of my teammates did get me to convert from psql to datagrip for most of my data work. that alone is a testament to the quality of the tools!
Fair play to them. They are in a bit of a bubble here in Prague as noone from my Czech/EU network has worked for them, but still the product is great, their treatment of community - excellent and I wish them best of luck in the future as well.
P.S. I am currently shilling for Jetbrains Spaces to the leadership :D
One of the best purchases I ever made was JetBrain's all products package about 6 or 7 years ago. The prices for their products keep going up, but I was grandfathered in at about $150.
Since their HQ is in Russia is no one else concerned that their IDE may be subject to Russian spying?
I mean, I'm currently reading the book Sandworm. And it is known in the cybersecurity world that Russia coerces or intimidates companies and devs to work for them as spies.
It says on jetbrains.com that their HQ is in Prague, Czech Republic.
On wikipedia it says they're a Czech company with headquarters in Prague, Czech Republic.
edit: Looks like they're maybe not entirely transparent about that.
I don’t get it though, why not just go public now and get tons of money? The IPO may never fetch as high of a price as it would now, even if the company gets more valuable in the future.
The cool part is, they don't need to. The founders are in control, not the VCs or other investors, so the company isn't obliged to put generating money over all other concerns. And being billionaires, the founders are probably doing fine. They'd apparently prefer to keep the good thing they've got going than to ruin it by selling it off.
There's more in life than getting even more money.
Long term that should net them a lot more money. Having and keeping a true mission will allow them to leave all competitors behind. Because even if competitors can seem strong from time to time (VS Code and Atom recently) they will end up dying because of de-prioritization and leadership without vision (Atom).
I think they aren't technically billionaires. Rather, JetBrains is valued at over a billion dollars. So if they sold their entire stake, then they'd be billionaires.
I'm sure they pay themselves well but I don't think they will be sitting on a billion dollars in either cash or shares.
Well, there's values that differ by countries. I've seen a few old family run businesses being sold off to US VCs and things didnt turn out well often:
- customers got screwed over
- same with employees
- quality "optimizations"
- financial engineering
- founder's longterm values abondoned for quarterly gains
Not taking VC cash is a more traditional take on things elsewhere.
Not taking VC cash is a more traditional take on things here in the US, too. The VC cash/investment money chase is really only a thing in tech circles, and a few other niche areas. The vast majority of businesses simply build "organically" (and most die doing it).
Sometimes it's not all about money. Having shareholders can make the company head in a direction different to the direction that the current founders want it to go.
"Obtain as much money as possible" isn't the goal of everyone at every time, especially when one already has all the money and resources they need.
Not everyone believes life is a game where the goal is to die with the highest score, above all else. Some do, but not everyone.
You're able to control pretty much every aspect within a private company with no shareholders to answer to and no public disclosures. You're free to use the assets of your company to implement your personal values.
Why would anybody need tons of money? They have a working company, happy customers and perhaps happy enough employees too. And I'm sure they have salary big enough to pay the rent... and drive a Porsche if they want to.
But only in the sense of having a company that "is worth about $7 billion" according to some estimates. The point of the discussion is that they could convert that to real money that could be used to buy other assets (but no-one is forcing them to do so, so they really have the choice).
I don’t see why they need to. They are incredibly successful already plus pretty sure enjoying what they do. An IPO would probably put much of that at risk so why bother? I’ve always understood them to be driven more by the desire to help make software development more pleasant.
If they lose control and starts putting profit up front as their primary objective than developer spirits, I'm sure many will move to vs code and vs code may speed up its development with more eyes and hands.
Why does it have to be in the USA? You can IPO at other stock exchanges. For example, CD Projekt Red, the game studio that developed the Witcher series and Cyberpunk 2077, is listed on the Warsaw Stock Exchange (Poland) and valued at ~$10bln (although the stock price has been really volatile recently).
I canceled all my personal jetbrains products a few years ago after meeting some of their team at GopherCon.
I vote with my money and I was a 5+ year subscriber up until that point. I visited their booth with same enthusiasm as other posters here and lavished praise on their tooling and talked about how excited I was for their Go IDE and they just stared at me and said “Ok, thanks”.
Something so empty and almost a pretentious kind of tone when it was said was a massive turnoff. Why even come to a conference if you don’t want to engage with your users?
I don’t expect my story to change any hearts or minds and I still use their tools when a company provides them for Java work but I’ve replaced my usage of their other tools with VS Code and plug-ins for my personal projects.
I'm sorry to hear that. We really strive to talk to everyone we can, and we are happy to hear all the stories from subscribers, or otherwise. Feedback, and more importantly, meeting with people is why we go to conferences.
Can you please remember at which GopherCon / year this happened?
I'm usually part of all the conferences teams and I can say that at conferences such as GopherCon US 2019, I speak daily with 200-300 people easily at the booth.
All of our booth staff is developers + myself (Developer Advocate) and from time to time we are joined by our Product Marketing Manager.
It's not an excuse for this type of reply, and I believe that nobody should be treated like this.
Not to invalidate the way you feel about that interaction, but putting myself in their shoes- I’m not sure my response would be much better.
Running a booth at a conference is EXHAUSTING. Also, that was your first interaction with them and you were at peak excitement. That might’ve been the thousandth time they had heard similar and their spark may have faded by the time you got there.
I get it though, we feel the way we feel. It sucks when your enthusiasm goes un-matched. I’ve written off companies for interactions a more objective bystander might charitably forgive.
BTW- I’ve got no relation to the company or product. I’m just a happy customer who’s run a booth or two in my day and also felt the same way as you about other companies too.
Maybe is a culture/language thing. Because I am not a native English speaker and I almost never have to speak (only read and write) when we have a video conference I always express myself with few words because I am aware how terrible I sound so I will use a lot of OK,Yes, Sure ...
Yes, those Russians can be quite blunt. I once found a great library maintained by a Russian guy that had zero issues on Github. I created an issue for a feature request and was brushed off with unexpected rudeness. Later I looked at this again and found that he was absolutely correct with his argument and his communication was just very efficient and I am sure he did not mean to be rude.
Could be possibly because they were Czech? The culture is very different from what Americans are used to. Very reserved, very matter-of-fact, no smalltalk.
Jetbrains is mostly Russian. Their main development center is in St. Petersburg (Kotlin is actually a name of the island in St. Petersburg archipelago).
Perhaps it was run by some introverted developer-types? Or there were some cultural differences at play?
The reaction seems a bit excessive and I'm not sure if it characterizes the company as a whole.
I was asking a genuine question, I've seen some sassy marketing people, but when I talk to developers at booth is a whole different attitude (positive) when they see other developers.