5

小众语言程序员:薪水高、竞争低、面试人性化 - ano

 2 years ago
source link: https://www.jdon.com/60438
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

小众语言程序员:薪水高、竞争低、面试人性化 - ano
在我绝大部分的编程生涯中,我一直是一个主流的开发者。所谓主流,我指的是用一种编程语言写作,并使用我所从事的大部分软件开发类别(主要是网络开发)所使用的工具,如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 并不比其他编程语言难。同意,对于今天的人们来说,语法已经过时、冗长且古怪。但这是可以学习的。
  • 编程是一种心态,而不是死记硬背的语法。一旦你了解了循环、分支、子例程(或函数、过程、方法、部分,或者其他方式)以及它们应该如何使用,你就可以拿起一本关于任何编程语言的语法的书,然后开始编码天。
  • 重要的是理解业务规则。在这里,你不是程序员,而是一个无情地问“但是为什么?”的三岁孩子。来自您的对手,即所谓的业务分析师。他们最好有一个有意义的答案,否则他们会得到他们想要的。
  • 作为团队中最年轻的......这很特别。一方面,前辈明白你年轻,在工作经验方式上没有受过训练。当您跌倒并真诚地尝试指导您时,他们会原谅您。另一方面,当他们解释源代码的一些更深奥的来龙去脉时,他们有时会因为你没有立即理解而感到不耐烦。

 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK