本文主人公從事軟件開發近 20 年,既在大公司待過,也在小公司待過。在他的職業生涯中,發現了很多跟技術選型相關的各種問題:應該選新潮的技術還是無聊的技術?應該搭建極客範的技術棧還是使用基礎的工具?應該用開發者喜歡的還是維護起來省事的?他對此作了深入的剖析,希望能幫到你。(多圖流量預警!)
我叫 Dan McKinley,坑裡的那個人就是我。
我現在在一家叫作 Mailchimp 的公司上班。更早之前是在 Etsy,因為在 Etsy 待的時間比較長,所以後面會更多地提到我在這家公司的經曆。其實在離開 Etsy 之後,我也在其他幾家公司幹過。
我既在大公司待過,也在小公司待過,還創辦過自己的公司。在經曆了這些公司之後,我注意到了一些現象。
大公司有自己的做事方式,他們提供了“沙盒”一樣的環境,在這樣的環境裡,會有人滿足你的需求,幫你答疑解惑,讓你感覺受到了“百般寵愛”。
但我也經曆過幾個過渡時期,在這些過渡時期,需要自己解決一些棘手的問題。
首先,如何選擇合适的技術?
另一個我比較關心的問題是:如何讓開發人員開心地使用這些技術?因為我自己也是開發者,所以這一點對于我來說比較重要。如果有可能,我會盡量讓自己過得開心些。
如果你問開發人員什麼東西會讓他們開心,他們通常會說:“如果可以使用 Clojure 作為開發語言,我就會很開心”。我不否認,當他們說這些話的時候,他們腦子裡浮現的應該是曾經最讓他們感到興奮的經曆。
但我相信他們所描述的這種狀态是他們所能達到的最高的精神境界。
我以前也喜歡這樣。
例如,Etsy 的早期應用程序是用 PHP 開發的,而開發這些應用程序的人當時剛好在學習 PHP。
但我卻花了好幾年時間盡量不去碰觸這些 PHP 代碼,我甚至嘗試使用 Scala 和 MongoDB 來重新開發這些服務,因為我認為它們才是更好的技術棧,可以解決所有的開發效率問題。但事實上,沒有任何迹象表明我的做法是對的。
現在在網上還能找到我在這段時期所做的一些尴尬的事情,你可以把它們搜出來,然後用它們來取笑我。現在的 Etsy 員工還在拿這些東西來調侃我。
後來我創辦了自己的公司,用上了 Clojure。雖然,這家公司現在已經不在了。但請不要多想,公司倒閉并不是因為使用了 Clojure。
不過我還是很樂意分享這段經曆,畢竟我也是個體驗過函數式編程樂趣的人。
我并不是一個容易沉迷于開發技術的工程師。我的其他演講很少是關于工程技術的。
我還沒老到或者脾氣暴躁到成為那樣的人。但通過總結馬斯洛需求金字塔理論,我也有了自己的看法。
簡單地說,馬斯洛需求金字塔就是指在滿足更高層次的需求之前,需要先滿足較低層次的需求。如果你連肚子都填不飽,哪裡還有心情吟詩作對?
雖然這個比喻不一定非常貼切,但在軟件開發領域,這是事實。如果你還在忙于讨論要使用哪個數據庫,怎麼可能有時間去擔心整個産品的藍圖?
幸運的是,在我經曆的一些場景中,基本需求都得到了滿足,所以我希望也能讓其他項目進入這樣的狀态。
要達到這樣的狀态,首先要集中注意力。人類專注細節的能力是有限的。
我的朋友 Andrew 總是穿同一牌子的黑 T 恤。他認為,如果把花在挑選衣服上的精力囤起來,就可以把它們花在其他更有意義的事情上。
我不知道這樣做算不算缺乏品味,但我覺得是有意義的。
接下來我要談談我的想法。假設我們手上有一些代币,但數量有限。
這些代币代表了我們的創新能力或解決困難挑戰的能力。在一家公司的早期,我們可能有三枚這樣的代币。
那麼你的公司會怎麼做?
點擊了解更多“閱讀全文”
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!