沒有拿一分錢融資,三個俄羅斯程式設計師如何打造百億美金獨角獸公司JetBrains

思否編輯部發表於2021-12-10

原標題:

《9000字拆解JetBrains:屢次拒絕融資的Geek創業成功之路》

作者 :

阿法兔,文科轉計算機,連續創業者,技術生活進化論創始人。

19世紀下半期,俄國科學技術有了很大發展,也出現了很多傑出的科學家。比較知名的有數學家契貝舍夫,北歐第一位女教授科瓦列夫斯卡婭,化學家門捷列夫,數學家吉米多維奇等。但是,到了近現代,卻很少在新聞裡看到俄羅斯人的創業公司。

但本文中的JetBrains公司,三名創始人都是寫程式碼的俄羅斯Geek出身,畢業於聖彼得堡國立大學,這家公司創立於2000年網際網路泡沫破滅之際,從來沒有拿過任何外部的資金,但是卻走出了屬於自己的一條路。2021年11月29日,JetBrains 在官方部落格宣佈,推出輕量級編輯器 Fleet,並稱其為“下一代 IDE”,對標微軟的Visual Studio Code。

關於JetBrains的創業和發展,究竟是一個怎樣的故事?JetBrains的發展究竟給我們帶來了怎樣的啟示?計算機語言流行的背後有哪些時代原因?到底什麼是真正的工程師文化?這是本文試圖探討的幾個問題。

本文結構

1.公司簡介

2.綜述和商業模式

  • 什麼是IDE?
  • JetBrains的產品有哪些?
  • 收費模式是怎樣的?

3.公司發展歷程(各個程式語言IDE推出的背景)

  • 什麼是Jbuilder
  • .Net流行的背景是什麼?
  • 持續整合是啥?出現的背景是什麼?
  • 為什麼Ruby on Rails會火?
  • MPS是什麼?
  • Web2.0帶來了什麼語言(JS PHP Python)的流行趨勢?為啥?
  • 什麼是物件導向程式設計?
  • 什麼是反編譯器?
  • Kotlin語言為啥把JetBrains帶上了商業巔峰?
  • Go語言為什麼會流行?

4.JetBrains的成功之處在哪?

  • 分析JetBrains的成功要素
  •  對於JetBrains公司,有哪些和其他公司不一樣?
  • 總結

公司簡介

我們並沒有收入增長目標,JetBrains做的所有工作都是為了讓軟體開發本身成為舒適和充滿創造性的過程。如今我們的目標是,在其他場景擴張這一理念。

—JetBrains

2000 年,網際網路泡沫破滅導致許多年輕的科技公司倒閉,投資者在這個時候大幅度停止投資,而此時,卻有三位俄羅斯軟體工程師Sergey Dmitriev 、Eugene Belyaev和 Valentin Kipyatkov卻逆勢創業進入了開發生態系統,在捷克布拉格創立了 JetBrains(原名IntelliJ Software)。

三位創始人收到第一筆款項高興的照片,
現在他們都已財務自由 圖片:JetBrains官網

二十多年後的2021年,在沒有引入任何外部投資的情況下,JetBrains從一個布拉格的小公司逐漸發展成為在五個國家有9個辦公室的明星公司。

公司旨在為軟體開發人員和專案經理製作工具,主要業務是為程式語言Java、Groovy、Kotlin、Ruby、Python、PHP、C、Objective-C、C++、C#、Go、JavaScript等提供整合開發環境(IDE)(下文我們會對什麼是IDE,進行具體解釋)。

目前的世界500強企業中, 約有430 家是JetBrain的客戶,包括花旗集團、谷歌和大眾汽車等巨頭,JetBrains主要的程式設計工程中心位於聖彼得堡,約有一半的員工位於俄羅斯。

JetBrains的主要客戶:圖片來自JetBrains官網

綜述和商業模式

我們先理解一個概念:什麼是IDE?

IDE=編輯器+附帶一系列的開發工具鏈

IDE(IDE,Integrated Development Environment )整合開發環境,主要是給工程師 編寫程式碼使用的,是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具。早期的程式語言在送進編譯器處理之前,必須要先經過流程圖、撰寫表格、打卡,所以當時並不需要IDE,從開始在主機或終端機開發程式,IDE才漸漸的成為必要的工具。

Basic是第一個有IDE的程式語言,同時也是第一個可以直接在主機或終端機前開發程式,它的IDE(Dartmouth Time Sharing System的一部份)是採取命令列的方式,並不像現代的IDE使用選單和圖形化。但是他良好的整合了編輯、檔案、管理、編譯、除錯、執行等功能,符合現代化IDE的特性。

如果再說的形象一點,可以用大家都用的Office Word來打個比方:

早期的Word,就是在螢幕上打字。現在的Word,整合了很多新的功能功能。這些被整合進來的功能,對於寫作者而言,就是他的“IDE”。

JetBrains的產品有哪些?

JetBrains產品的主要使用者分為三大類:首先是開發者(工程師),然後是技術團隊(To B),以及下一代學員和教育工作者。

收費模式

JetBrains公司的發展歷程

縱觀JetBrains的發展史,我們也可以看到一部計算機語言的流行史,究竟JetBrains推出的每種語言IDE的背後,有怎樣的巨集觀背景呢?

21年前,在捷克布拉格,有三位俄羅斯工程師Sergey Dmitriev、Eugene Belyaev和Valentin Kipiatkov在Together Soft工作,用Jbuilder做開發。

注:Jbuilder是Borland公司開發的視覺化Java開發工具。它是在Java2平臺上開發商業應用程式、資料庫、釋出程式的優秀工具。它支援J2EE,所以程式設計師可以快速的轉換企業版Java應用程式。

Borland軟體公司(NASDAQ:BORL),總部位於美國加州的軟體公司,以提供軟體開發生命週期所需的各種工具,以及已經變成今天的Delphi的Turbo Pascal而聞名於世。2009年5月6日,Micro Focus宣佈以7500萬美元收購Borland(以後有機會本兔會寫它的故事)。

公司提供的軟體和服務有助於人員、流程、技術的配合,以使軟體的商業價值最大化。在軟體開發公司領域 Borland 公司幾乎是高品質軟體代名詞!DOS時代 Borland Turbo C/C++獨領風騷,風靡全球,DOS時代最強大的開發工具。

2000年前後,創業小隊發現,想在Jbuilder中進行編寫程式碼的其他功能查詢,Jbuilder無法滿足需求,為了解決這個問題,2000年2月1日,他們就在布拉格創立了一家命為Inellij的公司(JetBrains的前身)推出的首個工具叫做Intellij Renamer,早期Renamer是以JBuilder外掛的形式銷售

2001年,JetBrains的第一款產品IntelliJ IDEA,就是在之前的基礎上又加入了許多開發過程中需要的工具而誕生的。IntelliJ IDEA是基於Java開發的整合開發環境,就像文字工作者需要用到Word,IntelliJ IDEA也能極大方便程式設計師的工作,在出現後就受到熱捧。

IntelliJ首次釋出後,迅速流行,之後獲評為基於Java的最佳程式設計工具,將NetBeans、Eclipse和JDeveloper等成熟工具排擠在外。谷歌在2014年釋出的Android開源開發環境也是基於IntelliJ IDEA的。該IDE支援許多其他程式語言,如Python、Lua和Scala。

IntelliJ被認為是基於Java的最佳程式設計工具之一的最大原因是它的輔助功能,這使得它易於使用,並使由它建立的程式非常好地設計,具有先進的錯誤檢查功能,可以更快、更容易地檢查錯誤。

每一個公司他這個成長曆史都和當時的上下文有很大的關係,那麼2001年,各類程式設計的巨集觀環境是怎樣的?

2000年前後,C語言市場佔有率遠遠超過Java,C++排第3但是JetBrains一開始並沒有為C++開發IDE,而選擇了Java,促使它作這個決定的初衷是什麼呢?這就很有意思了


資料來源:https://www.tiobe.com/tiobe-i...

一種觀點是,在當時C語言和C++被Borland公司和Microsoft把持了,於是JetBrains選擇從Java開始,彎道超車。

之後JetBrains持續推出新產品。

2004年,JetBrains推出 ReSharper™的早期訪問計劃(EAP),ReSharper可以幫Microsoft Visual Studio成為一個更佳的IDE,可以增加C#和Visual Basic .Net開發效率。

Resharper是一個外掛,以前Microsoft Visual Studio有些功能沒有,Resharper做了很多新技巧:

使用ReSharper,使用者可以進行深度程式碼分析,智慧程式碼協助,實時錯誤程式碼高亮顯示,解決方案範圍內程式碼分析,快速程式碼更正,一步完成程式碼格式化和清理,業界領先的自動程式碼重構,高階的整合單元測試方案,和強大的解決方案內導航和搜尋。實質上,ReSharper特徵可用於C#,VB.Net,XML,XAML,和構建指令碼。ReSharper還為C#和VB.Net提供了增強的交叉語言功能,它使開發者可以有效的控制.Net混合專案。

隨著2004年.Net語言逐漸流行,JetBrains開始推出針對.Net的工具。

.Net流行的背景是什麼?

2004年,時任微軟產品管理總監John Montgomery表示:微軟全球範圍.Net開發者約有250萬人。財富100強公司中,有超過60%的人使用.Net開發。根據Forrester的資料,2004年在北美,56%的企業選擇.Net來滿足他們的開發需求。而44%的企業選擇J2EE。在2005年Codeguru的論壇中,有工程師討論道:Windows XP、Windows Vista和Windows 7都已經安裝了.Net框架,這意味的當時的發展方向(2005年前後,Windows 2000 Windows98的使用者相對更多)。

2005年,JetBrains推出dotTrace。dotTrace是.Net應用的效能剖析。它的痕跡在各種.Net和.Net核心應用,如WPF和通用Windows平臺,ASP.NET,Windows和WCF服務,Silverlight和單元測試的瓶頸。

隨著工程文化和應用場景的進一步流行,2006年,JetBrains推出持續整合工具TeamCity

持續整合(Continuous Integration)是啥?

(以下回答摘自阮一峰老師的部落格http://www.ruanyifeng.com/blo...

網際網路軟體的開發和釋出,已經形成了一套標準流程,最重要的組成部分就是持續整合(Continuous integration,簡稱CI)。

持續整合指的是,頻繁地(一天多次)將程式碼整合到主幹,好處主要有兩個:

  • 快速發現錯誤。每完成一點更新,就整合到主幹,可以快速發現錯誤,定位錯誤也比較容易。
  • 防止分支大幅偏離主幹。如果不是經常整合,主幹又在不斷更新,會導致以後整合的難度變大,甚至難以整合。

持續整合的目的,就是讓產品可以快速迭代,同時還能保持高質量。它的核心措施是,程式碼整合到主幹之前,必須通過自動化測試。只要有一個測試用例失敗,就不能整合。Martin Fowler說過,"持續整合並不能消除Bug,而是讓它們非常容易發現和改正。”

持續整合出現的背景是什麼?

持續整合(Continuous integration)是一種軟體開發實踐,即團隊開發成員經常整合它們的工作,通過每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,釋出,自動化測試)來驗證,從而儘早地發現整合錯誤。

之後,隨著Web應用程式的發展,更多適用於不同場景的語言逐漸流行起來。Ruby on Rails就是其中的代表之一,這也是2008年:JetBrains推出Ruby on Rails的IDE RubyMine 的背景。

2008年:JetBrains推出Ruby on Rails的IDE RubyMine。

為什麼Ruby on Rails會火?

Ruby on Rails在2005年的出現,很大地影響了web應用程式的開發:無縫資料庫表建立、遷移和檢視支架等創新特性對今天仍然有著很大影響:許多其他語言框架借鑑了Ruby on Rails的思想,包括Python的Django、Perl的Catalyst、PHP中的CakePHP、Laravel、Groovy中的Grails、Elixir中的Phoenix、Scala中的Play和Node.js中的Sails.js等。使用Ruby on Rails的著名網站包括Airbnb、Bloomberg、Crunchbase、Dribble、和GitHub等。

2007年,蘋果公司發現 Ruby on Rails 開發者有一大部分都是使用 MAC 後,在 OS 上面狂推猛推用力推 Ruby on Rails,我們可以發現,商業公司對語言的推廣會讓這門程式語言快速流行。

Rails 不僅僅是一個執行時網路應用框架,本身包含了豐富的指令碼來幫你完成程式基本骨架的工作。(Apple的)OSX 10.5 Leopard 會直接 Boundle 進去 Ruby 1.8.6,Rails ,Mongrel,Capistrano 。

2009年:JetBrains 推出MPS

什麼是MPS?

https://www.prnasia.com/story...

MPS是一個專業軟體開發環境,用於建立新的客戶語言,擴充套件現存的語言,並且使用它們來開發軟體。MPS也是一個建立Domain Specific Languages (DSLs)領域特定語言的開發工具。不熟悉程式設計的領域專家也能使用MPS建立的DSL。

MPS的主要目標是讓建立新的語言和擴充套件現存語言變得儘可能的簡單。它的高階屬效能夠定義語言的型別系統,系統規定引數和專有編輯器用於建立新的,強大的,容易使用的語言。MPS使用有生產力的實現方式:語言能夠在高層次描述,MPS生成其他語言可編譯的程式碼,尤其是Java。

小宇宙爆發年 :

2010年推出WebStorm PhpStorm PyCharm dotCover  

2010年前後,巨集觀背景再次發生變化:Web 2.0的迅速流行,Chrome的興起,V8架構導致了JS引擎速度提升,人們發現了瀏覽器可以做出可以使用的應用出來,瀏覽器寫UI,除錯各方面,快速的把桌面應用往網頁應用搬運。

在這樣的背景下,2010年,JetBrains公司推出JavaScript開發工具WebStorm,被很多JS開發者譽為“Web前端開發神器”、“最強大的HTML5編輯器”、“最智慧的JavaScriptIDE”等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。

JavaScript流行的原因:2009年,Ryan Dahl建立Node.js,帶來了網路瀏覽器之外的JavaScript使用的大幅增長。

多年前的前端,呈現給使用者的都是靜態頁面,asp等後臺技術承擔了幾乎所有邏輯運算與處理的能力,那是個用撥號上網的年代,一個網頁載入10幾秒很平常,那時候的JS多半用來做彈窗,警告,以及華而不實的小動畫(滑鼠跟隨,雪花等 )。

後來隨網際網路的發展,人們發現所有東西交給後臺處理不僅反應慢同時伺服器壓力很大,於是當年的瀏覽器廠商前驅Netscape開始大力支援JavaScript,隨後IE也開始做JS支援,表單驗證等常用行為開始轉向前端由JS完成,伺服器在負載與時間響應上開始得到解放,人們也嚐到了甜頭。

但是,JS真正流行是伴隨著web2.0開始的。web app概念越來越流行,網站越來越複雜,需要JS完成的任務越來越多,與此同時相關標準(W3C)的出臺也推動了這門技術的推廣與發展。從JS的發展史可以看出JS的誕生徹徹底底就是為網際網路技術而生的,所以JS的流行根本動力源自於網際網路技術的興盛,github上託管的開原始碼量JS長久居於榜首,JS越來越複雜能做的事情越來越多,之後html5的熱炒和流行,讓JS的地位更加穩固,在開發後臺的時候你有很多語言可以選擇(Aps,.Net,Java,C,C#...),但是前端除了JS幾乎沒有第二, 不過相較於C等低階語言他還很弱,限制太多,這主要是JS執行的平臺(瀏覽器)與接觸的物件(直接面對使用者 )和相關安全問題有關, 未來JS的發展或許會在這方面突破,發展成為一門更加複雜的編譯型語言,這依賴於標準的建立,市場的需求以及平臺的支援。

https://zhidao.baidu.com/ques...

在此同時,傳說中“世界上最好的程式語言“PHP”開始流行,2010年,JetBrains公司推出PhpStorm:PhpStorm 是 PHP的 IDE,支援 Symfony、Laravel、Drupal、WordPress、Laminas、Magento、Joomla!、CakePHP、Yii 等各種主流框架。

PHP為什麼會流行?

語言開源+靈活(說白了就是程式設計師在寫網頁的時候,要寫邏輯怎麼辦?那PHP提供一種方式,就是把網頁程式碼跟程式碼邏輯直接混在一塊兒,寫PHP就可以幹這樣的事情,所以它流行起來了),PHP在Web2.0時代迅速流行

2010年前後,很多程式語言都被設計成物件導向的,這也是程式設計中的一種慣例,因為物件導向程式設計有助於更有效地組織資料。程式設計師們經常爭論什麼時候需要物件導向的程式設計。PHP支援物件導向的程式設計,但也可以在沒有它的情況下運作。

物件導向程式設計: 物件導向程式設計,是一種方法,是一種世界觀,一種建模的方法。

在物件導向程式設計的世界裡,我們把我們所要程式設計的對各種各樣的東西,抽象為了一個個具有名稱的物件,稱之為物件的一個東西,每一個物件,它具備了某一些行為以及一些屬性,而整個我們所要編寫的這個程式,它由一個個物件,它們之間的相互通訊和協作來達成。

函數語言程式設計,在早期就比如說效能不夠高,是記憶體佔用高,而物件導向這種方式其實是在命令的方式,指令式程式設計上去加一種抽象的手段就可以達到的,它不影響對於程式設計這種正規化,這種顛覆性的改變。

2010年,JetBrains推出Python IDE PyCharm。

Python什麼時候開始流行?為什麼?

當Guido van Rossum在 1980 年代建立 Python 時,他確保將其設計為通用語言。python 流行的主要原因主要是語法簡單,開源(免費)因此即使是業餘開發人員也可以輕鬆閱讀和理解,同時又趕上機器學習和爬蟲需求的時代。人們還可以通過更改 python 的程式碼庫來快速進行實驗,21世紀,進入人工智慧時代,作為一種解釋型語言,Python的不需要配置環境、開源、簡單易學,為設計圖形使用者介面提供了很多可能性,這使得它在各種開發人員中更加流行。

2010年,JetBrains推出dotCover,這是知名捷克知名VS外掛ReSharper開發商JetBrains公司為.Net開發人員所提供的程式碼覆蓋工具,能夠幫助開發人員分析.Net中的單元測試覆蓋率,提供視覺化的程式碼覆蓋資訊。它是JetBrains的一部分。.Net工具家族中還包括ReSharper, dotTrace和dotPeek。

2011年:JetBrains推出AppCode dotPeek  

JetBrains dotPeek 1.1是JetBrains公司釋出的一款免費的.Net反編譯器。反編譯來源生成專案之後,使用者不需要離開dotPeek就能夠瀏覽專案檔案。

反編譯器:可以通過對別人寫好的程式進行逆向分析和研究等工作,推匯出產品所使用的思路、原理、結構、演算法、處理過程、執行方法等設計要素。例如寫程式的工程師離職了,可以通過反編譯把之前寫好的程式碼邏輯倒推出來。

2012年推出Kotlin語言

神話的起點——為Java程式設計師的心靈而戰

我們來看一下Kotlin的介紹:

或許是紀念自己的家鄉和母校,JetBrians的2012年釋出的開源語言Kotlin(俄語Ко́тлин),以聖彼得堡附近的一個島嶼命名。這個島地圖如下:

圖片來源:Wiki百科

在2010年前後,還發生了一件這樣的大事:Java的所有者甲骨文公司,對安卓進行了起訴,起訴原因是認為谷歌抄襲了甲骨文的原始碼,侵犯了專利,索賠90億美元,這都給谷歌啟用Kotlin語言創造了部分前提。

就是2012年Kotlin的推出,給JetBrains的而後輝煌奠定了基礎。

Kotlin的特性有哪些?

Kotlin是開源、靜態型別的程式語言,由JetBrains推出。

它的特性:物件導向,並支援函數語言程式設計特性,主要是為JVM(Java虛擬機器)設計的。也就是說Kotlin與Java完全相容。例如,工程師可以很容易地在Kotlin的專案中使用Java庫,而且Kotlin可以提供很多開箱即用的東西,不僅可以用Kotlin來做一個程式碼後端伺服器,也可以編寫Andriod應用,甚至是使用Kotlin Native的iOS應用...Kotlin甚至可以編譯成JavaScript。

它最近的成功源於其用於 Alphabet Inc. 的 Android 的開源 Kotlin 程式語言。2019 年,谷歌宣佈 Android 開發是“Kotlin 優先”,使其成為全球最受歡迎的移動作業系統的首選語言。谷歌表示,超過 60% 的專業 Android 開發人員使用 Kotlin,包括谷歌本身,谷歌利用它來設計地圖、家庭和 Play 應用程式

kotlin因為太好了,就被Google欽定為Java的繼任者。

2014年,JetBrains推出程式碼審查工具(Polyglot code review tool)Upsource

推出.Net記憶體分析工具dotMemory,還推出了PyCharm教育版—PyCharm Edu ,教育版相對適合新人,也是培養未來種子使用者的好方法(畢竟計算機要從娃娃抓起)

2015年:推出針對C和C++語言 的IDE CLion,還推出DataGrip (一款資料庫管理客戶端工具,可以讓開發者跨平臺管理資料庫,它整合了主流資料庫,方便連線到資料庫伺服器,執行sql、建立表、建立索引以及匯出資料等。

2016年:推出 Rider,JetBrains Rider 是一款基於 IntelliJ 平臺和 ReSharper 的跨平臺 .Net IDE

同年推出 Toolbox App ,這是一個JetBrains出品的可以管理所有工具的工具:比如說IDEA,Android Studio,PyCharm,WebStorm等,開啟工程專案時,不用先開啟IDE再開啟專案。有了Toolbox App,只要點選專案,Toolbox會幫助我們在IDE裡開啟專案。

2017年前後,隨著技術的進一步發展,Go語言迅速流行。

Go為什麼會流行?

首先從語言來說,Go編譯部署快,有優勢。

不同語言都有一個比較適合的場景,比如Python適合資料分析,人工智慧方面的。go的話適合網路程式設計這一塊兒。比起Java的繁雜,go簡潔多了。比起Python的編譯慢,go快多了。比起c++的記憶體洩露問題,go相對來說就不用管太多。編譯部署快,有優勢

從公司和商業化來說,Go語言 是Google的親兒子,位元組跳動優先擁抱go,這就像就像前幾年百度擁抱PHP,Java成為了阿里的首選。大廠的選擇對go也有一定的推動作用。

從成本來說, 用go確實佔資源比Java少很多(因為go編譯後就是二進位制,在計算機上面執行的就是二進位制了。機器碼了,Java編譯後 還有垃圾回收器,直譯器之類,go的一個協程佔的記憶體就很小,幾k,Java的執行緒佔的空間就1-2M)。企業應用,規模大了,降本增效也是一定要考慮的

從社群影響力來說,每一年的Gopher大會規模越來越大,影響力也越來越大。還有舉辦的Meetup也不少,go的影響力和活躍度逐步在擴大。

從技術本質來說, 本身技術更新就是很快的,公司和個人都想用新的東西,創新的東西,效能好的東西,以此來提升自己,和吸引人才。

從市場發展上來說,雲原生的發展,k8s和docker這些雲原生的專案也都是go寫的。一樣語言想要有一個好的發展,一定要有比較頂級的應用。這一點,Java相關的專案在Apache就發展得很好。

在這樣的場景下,2017年,JetBrains推出Go語言開發IDE工具GoLand 。

而後2018年,推出Datalore Marketplace 測試版:一款Web智慧應用程式,主要功能是資料分析,且在 Python 中可以視覺化顯示結果。

2019年,JetBrains釋出Space,主要目標是用Kotlin實現跨平臺開發。

如何評價Space? JetBrians 的CEO Shafirov說,JetBrains 發現現有選項無法滿足其不斷增長的勞動力需求後,決定推出名為 Space 的計劃。

Space 側重於統一整個組織的工具和資訊,使團隊之間和整個公司範圍的協作都更加高效。在 Space 提供的平臺上,團隊成員可以進行溝通,分享資訊和協作處理專案,從而打破組織中固有的孤島。無論是開發者、設計師、管理人員,還是其他型別的角色,都能在 Space 的幫助下提高工作效率,充分釋放潛力。

還推出了學習平臺JetBrains Academy ,鼓勵大家通過實踐來學習如何編寫程式碼。首先全面地學習理論,然後立即通過構建有效的應用程式將理論付諸實踐。在與 JetBrains IDE 整合的基於專案的學習環境中,深入研究 Java、Python 和其他程式語言。

2020年推出Ktor.Ktor是JetBrains 官方出品的互聯應用框架。使用該框架非常易於開發非同步的伺服器與客戶端,並且能夠充分利用 Kotlin 以及協程的優勢。

2019年,JetBrains 開源了IntelliJ IDEA 社群版

為什麼要開源?

其實是出於企業戰略的考慮:IDEA是當時市面上唯一收費的非開源IDE,如果徹底開源,那麼收費使用者就會流失,但是不開源,使用者就會被其他競品搶走。所以最後的決策是面向市場,基本功能社群版開源,高階版繼續收費。

2020年,JetBrains時任CEO Shafirov說,JetBrains的目標使用者主要是IT部門,所提供的的各種工具,有一批忠實的開發者使用者。約有950萬工程師使用JetBrains軟體,其中20%是付費客戶。

2021年11月29日,JetBrains 在官方部落格宣佈,推出輕量級編輯器 Fleet,並稱其為“下一代 IDE”,對標微軟的Visual Studio Code。

JetBrains的成功之處在哪?

Jetbrains是如何做到這一點的?

1.緩慢而穩定地朝著正確的方向發展。

10年前,Eclipse是一個巨大的力量。像Borland這樣的開發工具公司由於Eclipse是免費的,基本上扼殺了開發工具市場而被 "黯然失色 "並關閉。Jetbrains也被認為最終會死亡。

但是,Jetbrains一直在不斷地努力,根據當時的市場格局和趨勢,選擇了面向程式設計師這個使用者群體,做到極致。他們選擇了適合自己的節奏的發展方式,並且持續迭代、改進,並聽取使用者的意見,目前Jetbrains的市場份額遠遠大於Eclipse。

2. 產品至上

產品至上是一句看起來很簡單的話,但是想要做到並不容易,Jetbrains的產品效能是這個公司在永遠追求的方向。可以發現,Jetbrains提供的每個IDE,市場上都有對應的其他公司出品的免費替代品,無論是Eclipse、Visual Studio還是Sublime Text。

像Eclipse和Visual Studio,背後有巨大的資源和巨頭支援,他們會獲得更多的發展空間。但是使用者還是會為Jebrains的IDE付費,原因只有一個——產品質量滿足了使用者的需求。JetBrains的工程師文化,所有的開發行為都是使用者視角,自己就是自己 "非常苛刻的客戶"。通常當使用者和設計者是同樣視角的時候,美妙的產品就會出現。

JetBrains現任CEO Maxim 是不是很Geek

3. 持續迭代

Jetbrains有耐心通過迭代持續更新產品。任何產品的初版都很難成為殺手級應用,但到了V3或V4版,我們可以發現,JetBrains在同類產品中成為一匹黑馬。對大多數產品和公司來說,一夜之間的成功通常只是一個神話。Jetbrains信奉這個觀點,持續迭代改進,專注走好自己的路,直到遠超出競爭對手一大截。

雖然持續迭代,聽起來很簡單,但反觀JetBrains的競爭對手,似乎並沒有這樣做:

例如,Visual Studio在每次釋出時,會IDE做最小化的更新,但是應用新版本的原因通常是它支援最新的.Net版本或最新的C++編譯器。也有使用者認為,Visual Studio的IDE部分已經落後了很多,所以Jetbrains在銷售Visual Studio的Resharper外掛時才賺了不少錢。

Eclipse更是已經放棄人生,甚至多年來都懶得更新其網站。

4. 堅實的核心技術

迭代之所以對Jetbrains有效,是因為這家公司長期以擁有堅實的核心技術基礎為目標。

以C++、C#和TypeScript IDE為例,JetBrains花時間為每一種語言編寫自己的解析器和程式碼分析。儘管他們本可以走更簡單的路線:例如使用微軟提供的 "'Language Service",或者(在C++場景)寫一個無法解複雜程式碼的基本解析器。

然而,通過長時間投入,追求卓越,最終開發出了市場上最好的產品。

5. 堅持樸素的工程作風

Jetbrains的核心技術包括,只是用Java編寫的增量解析器和詞法分析器,通過Swing APIs在桌面上呈現。沒有使用大資料、Hadoop、Kafka、NodeJS或任何其他 "很酷很時尚 "技術。他們沒有做出只是服務於一種時尚和流行趨勢的技術決定:比如把整個IDE放在雲端。Jetbrains之所以競爭如此之小,是因為很少有初創公司和程式設計師願意學習和接受樸素的技術。

對於JetBrains公司,有哪些奇特的要素?

1. 不重視銷售

使用者購買Jetbrains的IDE是因為喜歡。不需要和 "客戶經理 "談話來購買,銷售人員也不會聯絡任何公司的技術服務部來推銷它。

2. 沒有太多內容營銷

Jetbrains的官網只有產品公告。他們最接近內容營銷的是每月一次的Java通訊。這與典型的由風險投資支援的 "企業初創公司 "形成鮮明對比,後者有 "企業銷售 "人員在打電話,公司預算的50%以上用於營銷和銷售。

在Hadi Hariri介紹Jetbrains Rider C# IDE的演講中,有人問他如何比較Rider和Visual Studio。Hadi的回答很簡單:"你上手試試吧,如果你覺得Jetbrains更好,就使用它"。這就說明了Jetbrains對其產品是多麼的自信。

總結

Jetbrains是一個矽谷風投機構少有關注獨角獸:它完全自給自足,自負盈虧,這些建立在堅實的核心技術上。它頑強地度過了企業的艱難時期,並通過持續開發迭代更好的產品而在市場上佔據了一席之地。

創造程式語言這件事情,本身就是一件很酷的事,JetBrains選擇把它付諸實踐,然後推廣開來,形成了影響力。今天所有的國內外高大上的網際網路大廠和Top級的公司,為什麼沒有去做這樣一件事情呢?

參考文獻:

1.https://www.bloomberg.com/new...

2.https://en.wikipedia.org/wiki...

3.JetBrains:三個程式設計師用付費產品打贏了IBM的開源,還“做大做強”了-IT經理世界2018-12-27

4.https://movingfulcrum.com/jet...

5.https://baike.baidu.com/item/...

6.https://en.wikipedia.org/wiki...

7.https://en.wikipedia.org/wiki...

8.我要創辦一家公司,幹翻JetBrains和IDEA!-Original 碼農翻身劉欣 碼農翻身2021- 9-23

9.https://www.slideshare.net/in...

10.https://resources.jetbrains.c...\_corporate\_overview.pdf  

11.https://www.sergeydmitriev.com/

12.https://www.infoq.com/article...

13.https://baike.baidu.com/item/...

14.https://www.zdnet.com/article...

15.https://movingfulcrum.com/jet...

16.https://www.solvusoft.com/zh-...

17.https://baike.baidu.com/item/...

18.https://baike.baidu.com/item/...

19.https://en.wikipedia.org/wiki...

20.https://www.prnewswire.com/ne...

21.https://news.ycombinator.com/...

22.https://baike.baidu.com/item/...

23.https://blog.csdn.net/qq_2434...  

24.https://www.codeproject.com/A...

25.https://forums.codeguru.com/s...

26.https://blog.csdn.net/qq_2434...

相關文章