`
yangshen998
  • 浏览: 1295774 次
文章分类
社区版块
存档分类
最新评论

程序员第一定律:关于技能与收入

 
阅读更多

在软件这个行业里有些规则是很有杀伤力的,比如很有名的摩尔定律。

总结出这些规则的意义在于可以大致的照明方向,免得努力来努力去却走到了阴沟里。

现实中种种利益纷争、观点之争看似纷繁,但在大时间尺度下来看却都是规则的实现手段。

这就好比下围棋,每一手都要为谋得利益而计算,但结局却只有三种:赢、输或和,这就是规则的力量。

 

民以食为天,所以第一定律从收入开始。

 

程序员第一定律可以表述为:程序员的收入是技能复杂度和技能实现可能程度的函数。

如果程序员的工资是S,社会平均水平的工资为A,程序员掌握的技能复杂度为C,实现程度为P

那么S = A x C x P

 

这里面的实现程度P不太好理解,额外做点说明。

好比说有人在东北种了很多白菜,并获得了大丰收。与此同时广州也确实需要大白菜,按批发价他的这批白菜可以买10万。

但关键是这个人找不到车皮,大白菜就只能在当地零售,这个时候这批大白菜就只能买1万块钱。

这就是实现程度。

大白菜内蕴了既定的价值,这种价值并不因为卖多少钱而改变,但这种价值能实现到什么程度则依赖于现实的可能性。

 

这视乎很简单,但其实不是,很多人的一生就笼罩在这条定律下面,我们来基于这第一定律继续做些推导。

 

  • 推论1:越容易上手的技术,其内蕴价值越低。

 

技能的复杂度C可以大致等价于掌握一门技术所需要的时间。

 

各种集成的开发环境,各种容易学习的类库等使软件开发的门槛降得很低,这对整个产业是有利的,但对个体而言则是不利的。

你花5个月可以学会的技术,其他人花5个月也可以学会,而5个月可以学会的东西所蕴含的价值一定是低的。

与之相对5年才可以学会的东西,其内蕴价值一定是高的。

内蕴价值低,所对应的收入必然偏低。

 

为避免争议,我这里就不写技术的名字了,但大家可以从学习所需要的时间上来对各种技术做个分类。

 

有时候很多人会有一种错觉,认为越热门的技术收益越好。

这在大多时候是错的。

越热的技术,越成熟的技术越是大众的,而越是大众的技术内蕴价值越低,所以收益越不好。

热度能够帮助找到工作,但对技能复杂度C没有影响。

 

  • 推论2:单纯的涉猎广泛,没有专精,对收入的影响是负面的。

各种技术的复杂度大概是呈指数增长的,越到后面前进一步越困难。

好比说学会5门语言所需要的时间大多时候远比学精一门语言要短。

在特定年纪尚,每样技术都会一点,对提高实现程度P略有帮助,但自身可替代性很强,对技能复杂度C的影响为负面。

长期来看得不偿失。

 

  • 推论3:实现程度P越高,风险越大。

有些技术领域很窄,上手也慢,实现程度却高,比如显卡驱动,打印驱动等。

但这类工作好比在钢丝上跳舞:只要能实现自己的价值,那么回报大体不错,但最怕技术更迭。

技术一换代,可能多年积累十去六七。

 

总结来看,程序员要想获得不错的收入,第一要掌握稀缺的技术,即技术的内蕴价值要高;第二要找到实现稀缺技术的场景。

《微软的秘密》一书中提到,微软里面优秀的程序员是可以拥有许多辆保时捷的。

用上面两条做分解,就会发现原因很简单:

一是这样的人是NT的核心开发人员,这类人员内蕴价值极高,处于稀缺状态;二是微软提供了实现这种技能内蕴价值的机会。

这二者缺一不可。

#根据大家的回复做了点修改把"实现可能性"替换成了"实现程度"。

18
14
分享到:
评论
10 楼 huzhiyong56 2012-03-06  
在外国。是符合国情的。但是在天朝,有点牵强。。
9 楼 nannan408 2012-02-15  
楼主的推论1和2都很精辟,很有道理。但推论3有点牵强,如果改为“在广泛研究的领域理解和认识越深刻" 可能好一些。驱动领域并不窄,小到打印机,大到航天飞机都离不开它。
8 楼 zone8089653 2012-02-15  
不要一叶障目 越往上走会发现技术只是技术
7 楼 shirne 2012-02-15  
分析得很精辟.
6 楼 witcheryne 2012-02-14  
这个论点感觉很空洞,不过单纯从技术&入收来说,到比较有说服力...

说完之后觉得就是倡导深挖技术。这个观点比较不赞同。
技术是用来解决实际问题的,技术也朝越来越简单的方式发展。专注解决问题而不是专注技术深度。在一个领域做久了,解决问题多了,自己再用心总结学习,想不深都难。

"掌握稀缺的技术,找到实现稀缺技术的场景" 这句很中垦.

《微软的秘密》部分的引用有点画蛇添足,表YY了。
安心做事,享受工作,享受生活。
5 楼 perryzheng 2012-02-14  
说的不错,随着工作年数增加,越来越理解这些东西了
4 楼 玲cc 2012-02-14  
这是世界观啊,没有具体的方法论。冰天雪地裸体求方法论。
3 楼 jspc 2012-02-14  
很有同感,需要转变了,谢谢朋友的分享
2 楼 lord_is_layuping 2012-02-14  
我的工资太低了。。
1 楼 shermenn 2012-02-14  
不错 讲得几有道理

相关推荐

    程序员的AI书:从代码开始.epub

    程序员的AI书:从代码开始

    程序员的数学4:图论入门.pptx

    因此,对于程序员而言,掌握图论的基本知识和应用技能是极为重要的。 图论涉及的基础概念包括图、节点、边和度数等。图是由节点和边组成的结构,可以形象地表示为网络中各个点之间的关系。节点代表了网络中的实体,...

    程序员成长路线图:从入门到优秀

    程序员成长路线图是 IT 行业中一个非常重要的主题,它需要程序员具备基础知识和技能,并具有特点,如比尔·盖茨梦想、自信心和高预期价值等。同时,程序员的职业发展是一个必由之路,需要程序员不断学习和成长。

    程序员第二步:从程序员到项目经理

    首先,程序员与项目经理虽然都属于IT行业中的职位,但他们的工作职责、技能要求、以及日常活动有着根本的不同。程序员一般专注于软件开发的具体实现,包括编写、测试和维护代码,而项目经理则是负责整个项目的规划、...

    一个_NET程序员的创业感想:关于创业

    一个_NET程序员的创业感想:关于创业 想创业的CODER看看吧

    C++程序员进阶书籍3本

    作为一位C++程序员,不断学习和提升自己的技能是至关重要的。以下将根据给定的书籍标题和描述,详细介绍这三本书籍可能涵盖的知识点,以及它们对于C++程序员进阶的重要性。 1. **《优秀程序员的编程习惯》** 这本书...

    程序员成长路线图:从入门到优秀.pdf

    关于什么样的人可以被称为程序员,文章中给出了一个相对宽泛的定义:“凡是从计算机专业或相近专业毕业的、以编写程序为职业的人都可算得上是程序员。”然而,在早期,由于计算机行业的快速发展和技术的不断进步,很...

    Java程序员职场全攻略:从小工到专家

    - **技能提升路径**:明确成为一名优秀Java程序员所需掌握的核心技能和技术栈。 - **职业规划与目标设定**:帮助读者根据自身兴趣和职业发展目标制定合理的职业规划。 #### 详细内容解析 ### 行业揭秘:初窥门径 ...

    程序员的自我修养—链接、装载与库.pdf

    "程序员的自我修养—链接、装载与库" 在计算机科学中,链接、装载和库是三个紧密相连的概念,它们都是程序员需要掌握的重要知识点。下面,我们将详细解释这些知识点。 一、链接 链接(Linking)是指将多个目标...

    程序员代码面试指南 IT名企算法与数据结构题目最优解.zip

    《程序员代码面试指南》是一本针对IT行业求职者,尤其是准备进入知名企业的程序员们的重要参考资料。这本书主要聚焦于算法和数据结构,旨在帮助读者掌握在面试中常见的问题,并提供最优解。"左神"作为标签,暗示了这...

    程序员的 AI 启蒙课:ChatGPT 让你 1 人顶 3 人

    程序员的 AI 启蒙课:ChatGPT 让你 1 人顶 3 人

    程序员生存定律

    程序员生存定律,这个标题本身就包含着丰富的含义,它既包含了对程序员这一职业的尊重,也包含了对程序员职业特点和工作环境的总结。对于刚入行的程序员而言,这一“定律”或许可以作为一份宝贵的参考资料,帮助他们...

    程序员成长路线图 从入门到优秀

    程序员成长路线图 从入门到优秀

    [Java程序员职场全攻略:从小工到专家].吴亚峰.著.扫描版

    《Java程序员职场全攻略:从小工到专家》这本书提供了从基础到高级的全方位知识体系构建,是为想要在Java领域内深化技能并提高职业素养的程序员量身打造的。书中的内容既包括了对于Java初学者的入门指引,也涵盖了...

Global site tag (gtag.js) - Google Analytics