小眾語言程式設計師:薪水高、競爭低、面試人性化 - ano

banq發表於2022-05-02

在我絕大部分的程式設計生涯中,我一直是一個主流的開發者。所謂主流,我指的是用一種程式語言寫作,並使用我所從事的大部分軟體開發類別(主要是網路開發)所使用的工具,如PHP、JavaScript,以及這些生態系統中最流行的工具。

但在2018年的某一天,我得到一份工作,我必須學習Clojure。我從來沒有聽說過它,如果我們完全誠實的話,那時候我甚至沒有聽說過Lisp是什麼。我是如此地被主流所吞噬,我不知道會有一個沒有類似C語言語法的東西。好吧,好吧,我知道Ruby的存在,但是Lisp?那麼多括號,那麼多看起來很簡潔的程式碼。太瘋狂了。

儘管如此,我還是學會了它,然後在那家公司寫了將近3年的Clojure。我沒有潛心尋找網上的Clojure社群,我的程式設計師朋友中也沒有人做Clojure或者聽說過它,所以我不知道這種語言是在普及還是在消亡。

一切都很順利,直到有一天,我工作的公司宣佈,他們正在從Clojure轉向TypeScript,說是太難找到Clojure開發人員了。我記得當時我在想,這一定是一門即將消失的語言,沒有人使用,這對我來說很糟糕,因為我碰巧喜歡Clojure。哦,好吧,那就回到主流吧,我想。

幾個月後,我想要一個新的挑戰,於是辭去了那份工作。在尋找工作的過程中,我發現了一些有趣的事情。我發現,雖然有大量的主流開發工作,但大多數都希望你在辦公室工作,而Clojure的工作則少得多,而且都是遠端工作。最重要的是,工資是主流工作的兩倍以上。結果發現我工作的公司是沒有足夠的預算支付Clojure開發人員(而且我的工資嚴重不足)。

所以我加入了Clojure Slack社群,並留意了Clojure招聘網站,我發現另一件有趣的事情是,我已經習慣了做主流工作的100多個競爭者,而Clojure則可能有10個。這使得我傳送的絕大多數簡歷都獲得了面試機會,這真是太棒了。

而在做面試的時候,我發現,由於申請者數量少,leetcode是相當罕見的。我參加的大多數面試主要集中在圍繞工具使用、清潔clean程式碼實踐的問題上,並問我在以前的工作中建立了什麼。而且與主流語言公司不同的是,他們會檢查我的GitHub專案,在大多數情況下,甚至從未給我一份技術測試工作。

這對我來說是一個驚人的啟示,因為我已經習慣了面試過程是類似於一個只看顏值的相親,沒有人關心我的開源專案,大多數時候甚至沒有人真正閱讀我的簡歷。

不管怎麼說,這都是想說,做一個小眾的程式設計師一點也不差。

薪水很高,競爭很低,面試過程大部分都很人性化。
如果Clojure成為主流,我將會找到一種新的小眾語言來專門研究。也許你也不應該太害怕嘗試小眾語言,如果你曾經想過的話。某個東西有更多的工作機會,並不一定意味著你會更容易找到工作。

Reddit網友討論:
1、我是Scala 開發人員,有類似的經歷。儘管我仍然需要解決 leetcode 面試題,我的薪水是 Java的 2 倍。

2、我參與過幾個 clojure 和 scala 專案,每次都會發生的情況是,你有一群核心擁護者決定使用該技術,但是很難讓其他團隊加入並獲得新員工。最初的倡導者群體最終隨著時間的流逝而離開,然後該專案變成了一個遺留專案,更換成本很高,因為公司沒有任何人支援它。
我已經看到這個確切的事情至少上演了 5​​ 次,初始投資高導致長期故障,並且系統在 2-3 年後被更容易支援的更傳統的語言/執行時取代。

3、你應該選擇 Cobol。如果你不介意時光倒流六十年,你可以賺很多錢。

4、下面是幾個想法:

  • Cobol 並不比其他程式語言難。同意,對於今天的人們來說,語法已經過時、冗長且古怪。但這是可以學習的。
  • 程式設計是一種心態,而不是死記硬背的語法。一旦你瞭解了迴圈、分支、子例程(或函式、過程、方法、部分,或者其他方式)以及它們應該如何使用,你就可以拿起一本關於任何程式語言的語法的書,然後開始編碼天。
  • 重要的是理解業務規則。在這裡,你不是程式設計師,而是一個無情地問“但是為什麼?”的三歲孩子。來自您的對手,即所謂的業務分析師。他們最好有一個有意義的答案,否則他們會得到他們想要的。
  • 作為團隊中最年輕的......這很特別。一方面,前輩明白你年輕,在工作經驗方式上沒有受過訓練。當您跌倒並真誠地嘗試指導您時,他們會原諒您。另一方面,當他們解釋原始碼的一些更深奧的來龍去脈時,他們有時會因為你沒有立即理解而感到不耐煩。


 

相關文章