How Much Do You Cost?

The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:

我每天都会收到一些程序员对远程与Zerocracy合作感兴趣的电子邮件。我通常首先问的问题是“你的费率是多少?”(我们按小时计费)令我惊讶的是,人们在自我评估时常常出现错误,无论是高估还是低估。

我听到很不同的数字,从每小时 5 到 500 美元不等。我从不说“不”,但通常会提出我自己的每小时费率估算。本文解释了我考虑和不考虑的因素。这些是我个人的标准,不要将它们视为行业标准。不过,我认为它们客观且合乎逻辑,所以让我来解释一下。

Open Source Contribution

这是软件开发者的第一个也是最重要的特征。你是否为开源项目做出贡献?你是否拥有自己的开源库,被某些社区使用?你是否编写的代码是公开可用且被使用的?

如果在这里没有什么要展示的,我看到三种可能的原因。

首先,你太害羞而不愿意分享你的代码,因为你觉得它很糟糕。显然,这不是一个好的迹象。不是因为你的代码可能不好,而是因为你没有勇气面对这个事实并进行改进。在我们的团队中,我们非常注重代码的质量,而我们的新成员中的大多数人都对我们的质量标准感到惊讶。你也会感到惊讶。问题是你是否能够适应和改进,还是会放弃并离开。如果你以前没有分享过你的代码,也没有处理过负面反馈,你在我们的项目中将感到不舒服,因为我们对质量要求非常高。

第二个可能的原因是你从早上九点工作到下午五点,只是为了食物,没有热情。实际上,没有人表现出这种方式。相反,我经常听到类似于“我的公司不为我在开源项目上的贡献付费,而且我想在家里花时间陪家人。”在现代软件开发中,我们所使用的大多数代码都是开源的——库、框架、工具、设备等等。你在商业项目中使用的几乎所有东西都是开源的。通过支付你的薪水,你的雇主已经在开源产品上进行了投资,因为你是它们的积极用户。问题是,对变得更加积极地参与其中不感兴趣。我认为这是缺乏热情和自我激励。你会成为我们项目中一个有效的开发者吗?根本不会,因为我们整个管理模式都依赖于自我激励

最后一种可能的原因是你不知道写什么和在哪里贡献,这意味着“缺乏创造力”。正如我之前提到的,我们现在使用的几乎所有东西都是开源的,而这些工具充满了错误和尚未实现的功能。同时,你看不到任何改进的空间吗?你不知道什么可以做得更好吗?你至少不能找到、报告并修复你每天使用的某个开源产品中的一个错误吗?这意味着你在我们的项目中也无法找到改进的空间,而我们依赖你发现问题的创造性能力。

因此,如果你的GitHub账户是空的,而且你的简历没有将你定位为“Linux内核的积极贡献者”(是的,为什么不呢?),我会立即失去兴趣。另一方面,当我在你的GitHub账户上看到一个有100+星标的项目时,我会感到兴奋,并准备提供更高的报酬。

Geographic Location

在支付给那些生活在更昂贵国家的人时,支付更高费率是一种常见做法。当我从旧金山的程序员那里收到简历时,他们的费率为每小时70美元以上。而在卡拉奇,同样的技能和经验只需15-20美元。原因在于生活成本——美国远高于巴基斯坦。

然而,这个理由对我来说听起来不合乎逻辑。如果你开着一辆更贵的车,我们就要给你更高的薪水吗?住的地方也是一样。你选择了你生活的国家。你享受着发达国家的所有好处,也为此付费。这是你的选择。你决定为了生活质量花更多钱——这与我有什么关系呢?

想为一顿午餐支付30美元吗?成为一名更好的工程师吧。在那之前,只需花几美元买个热狗吧。仅仅说“我已经在这里,我的午餐要花30美元”并不能成为一个论点。

因此,你所居住的地方越昂贵,你的口袋里剩下的钱就越少。对我们来说,这意味着100美元对卡拉奇的程序员的激励要远远大于同样的100美元对于居住在旧金山的同一人的激励。因此,我们更喜欢与开销较低的人合作。我们的资金将更有效地运作。

Stack Overflow Reputation

我们都知道 Stack Overflow 是什么,但参与其中的人却非常少(令人惊讶的少!)。如果你在那里的个人资料是空的(或者你没有个人资料),我意识到你 1)没有任何问题要问,2)也没有回答任何问题。

首先,如果你在那里没有提出任何问题,那就意味着你没有成长。你的教育过程在一段时间之前就停止了,可能是在你找到一份办公室工作之后。或许你太害羞了,不敢提问?又或者你无法以准确和精确的方式描述你的问题?或者你所有的问题已经有了答案?不管怎样,这是令人沮丧的。

其次,如果你不回答,那就是因为你没有什么可说的。在大多数情况下,这意味着你没有解决复杂且独特的问题。你只是简单地将众所周知的组件连接在一起,并领取你的薪水。

很多时候,我听到人们说他们解决大部分问题都是通过询问坐在他们旁边的同事来实现的。他们说他们根本不需要Stack Overflow(或者类似的资源,如果有的话),因为他们的团队非常出色,任何问题都能在内部得到解答。这对团队来说是好事,但对你来说是坏事。为什么呢?因为你没有一个非常重要的技能——在公共互联网上找到答案。在我们的项目中,我们不鼓励程序员之间进行任何水平交流,你将无法从任何人那里得到帮助。你将孤军奋战,而且会失败,因为你习惯了在办公室中被一位资深人士赞助。

Stack Overflow 不仅仅是你有多聪明,以及你因为”最佳编程笑话“而获得多少点赞的指标。它证明了你可以通过与你不认识的人交流来找到问题的答案。这是一项非常重要的技能。

Years of Experience

“我已经写了十年的Java!”——那又怎样呢?这个数字对我来说只有一个意思——你在某个办公室里生存了十年。或者可能在几个办公室。你设法说服某人为你在他的建筑物里坐了十年付钱。这是否意味着你写了一些有用的东西?这是否意味着你的代码完美无缺?它都不意味着。

经验的年数是一个虚假的指标。实际上,它可能会和上述其他指标一起对你不利。如果你的简历上写着你两年前才开始编程,并且你的 GitHub 和 Stack Overflow 账户都是空的——那么你仍然有机会进步。你只是职业生涯的起点。然而,如果你的简历上写着你是一个”有十年经验的资深架构师”,但没有任何开源贡献——这意味着你要么对那十年经验撒谎,要么作为架构师你是完全无用的。

我的观点是,“多年经验”的论点应该非常谨慎使用。只有在你拥有其他优点时才能使用这个筹码。否则,请保留给自己。

Certifications

Oracle, Zend, Amazon, IBM, MySQL等等——我说的是这些认证。要获得这些认证,你需要通过一次考试。这不是一次简单的、在线的考试。它是在认证中心进行的一次真实考试,你需要坐在电脑前几个小时,没有任何书籍或互联网的访问权限,回答问题。对于一个受人尊敬的软件开发者来说,这是一种相当令人羞辱的活动。确实如此。而且失败的可能性非常高,这也相当令人尴尬。

如果你能通过这个,那是一个非常好的迹象。如果你已经做过几次了,那就更好了。然而,如果你在整个职业生涯中没有获得任何认证,原因可能有以下几种:

首先,你害怕失败。一项严肃的认证可能需要花费几百美元(我为SCEA支付了超过700美元),如果你失败了就无法退款。如果你害怕失败,就害怕战斗。这意味着在现实生活中面对需要解决复杂问题的情况时,你会退缩。

其次,你不投资于你的个人资料。这很可能意味着你不想换公司,更愿意找一个宁静的办公室,可以永远留下来。我记得我曾经对一个朋友说过:“如果你通过这个认证,你的简历将大大改进。”他微笑着回答说:“我希望我不再需要简历了,我喜欢这家公司。”这种态度对你所工作的公司来说是非常有益的,但对你自己来说却起到了相反的作用。

在我的经验中,最好的团队合作者是那些为自己工作的人。健康的个人主义是关键的成功因素。如果你的主要目标是为自己赚取报酬(金钱、声誉、技能或知识)—你在我们的项目中将非常有效。在你的个人资料中的认证是我们寻找的健康个人主义的指标。

Skills Variety

你知道的技术或编程语言越多,你的成本就越低。我并不是说在同一时间成为多个领域的专家是不可能的,那完全是可能的。但是让我给你一个实际的原因来解释为什么你不应该这样做——竞争。市场上有成千上万的“Java7程序员”——我们可以轻易选择我们需要的人。但是“Hadoop程序员”或“XSLT设计师”就没有那么多了。

如果你专注于某个特定领域并成为该领域的专家,那么你找到工作的机会会较低,但报酬会更高。我们通常会为狭义技能专家支付更高的费用,主要是因为我们别无选择。如果我们正在进行的项目需要一位Lucene专家,我们会找到合适的人并尽力争取他/她加入。在大多数情况下,尽力争取意味着提高价格。

因此,当我听到你“在MySQL、PostgreSQL、Oracle和SQLite方面有经验”时,我意识到你对数据库了解甚少。

Talks and Publications

我认为拥有一个博客(关于编程的,而不是关于你最喜欢的猫)是一个积极的因素,这一点是显而易见的。更好的是成为会议或聚会的偶尔发言人。当涉及到博客时,我会注意人们对你的文章留下的评论数量。如果是一个会议,最重要的标准是进入发言人名单的难度有多大。

博客文章和会议演讲都能让你作为专家更有价值。主要是因为这些事物证明了一些人已经审查过你的工作和才能。而且这不仅仅是一个雇主,而是一群其他程序员和工程师。这意味着我们也可以依赖你的意见。

此外,如果您经常撰写和演讲,您拥有一项非常重要的技能/才能——您可以以”易于理解”的方式呈现您的思想。在我们的项目中,我们不鼓励非正式交流,而是使用工单系统。在这些工单中,您必须解释您的想法、问题或关注点,以便每个人都能理解您。如果没有足够的表达能力,您将无法在项目中生存下来。

顺便说一句,一些软件开发人员甚至以自己的名义申请专利,为什么你不能这样做呢?或者甚至出版一本书。为什么不呢?

Previous Employment

我通常不太关注你的简历中的这一部分。我们的管理模式与任何其他地方都如此不同,以至于你之前被解雇了多少次以及你在全职雇主那里担任过多高级的职位并不重要。即使你的职位是”Twitter的首席技术官(CTO)”—对我来说也没有任何意义。

我的经验告诉我,公司越大,职位越高,你离源代码和真正的技术决策就越远。副总裁和首席技术官大部分时间都花在管理会议和内部政治上。

我对你过去几年所做的事情比起你在哪里做以及在做的时候他们如何称呼你更感兴趣。

Education

BSc,MSc,PhD……我们在乎吗?实际上并不在乎。教育与上述提到的“以往工作经历”非常相似。你在学校毕业后的五年时间具体是在哪里度过并不是真正重要的。重要的是你在那段时间内做了什么。如果你对自己在大学期间的活动无话可说,那么学校的名字又能告诉我什么呢?

当然,如果是斯坦福大学或麻省理工学院,这将有所不同。在这种情况下,我可以看出你成功地通过了他们的毕业标准,并设法找到了学习资金。这是一个好迹象,肯定会提高你的时薪。但如果是一所无名的大学(就像我毕业的那所),请保留这些信息。

Rates

我们非常乐意支付每小时超过100美元给那些拥有数个受欢迎的开源产品的专家;具有超过20K的Stack Overflow分数;拥有认证、文章、演示甚至可能拥有专利的人。

我们付给专业程序员每小时50美元以上,他拥有自己的开源项目或是积极贡献者;在Stack Overflow上的分数超过5K;正在撰写软件开发相关的文章;持有几个认证。

我们向经常为开源代码做贡献的程序员支付每小时30美元或更多的报酬;他们在Stack Overflow上活跃;并且拥有一些认证。

我们支付给其他所有人的每小时15美元

不要误解我,也不要把这些数字当作针对个人的。你所得到的比率是衡量你职业水平的可度量指标,而不是评价你个人的标准。此外,这个水平并不是静态的,它每天都在变化,完全取决于你自己的努力。

我写这篇文章主要是为了激励你成长。

所有这些标准都适用于我们团队的新成员。一旦您开始编写代码,我们将评估您的表现,您可能会得到完全不同的数字,请参阅如何计算小时费率

顺便说一句,在上方你看到的插图是由Andreea Mironiuc创作的。

Translated by ChatGPT gpt-3.5-turbo/002 on 2023-08-28 at 19:31

sixnines availability badge   GitHub stars