程序员自身价值值这么多钱么?

 

 

程序员自身价值值这么多钱么?

 

 

xx 网络公司人均奖金 28 个月……

xx 科技公司人均奖金 35 个月……

每到年底,这样的新闻在互联网业内简直是铺天盖地。那些奖金不高的程序员们一边羡慕嫉妒,一边暗暗比较一下自己的身价,考虑是不是该跳槽了。

不同水平的程序员,薪资相差巨大。水平相当的程序员,因所处公司不同,薪资收入相差巨大。甚至在同一公司内部,水平也相当的程序员,因为身处项目/产品的不同,薪资差异也不小。这也是互联网行业的一大特色。

程序员该挣多少钱,一向是个颇有争议,很费脑筋的问题。

对于企业来说这是个麻烦的问题。公司该如何考核程序员?程序员的奖金该如何发?该不该给程序员股份? 这些问题一直在困扰着老板们。

对于程序员来说,也是个问题。不止一个程序员朋友问过我,公司给他多少股份,自己才应该满意? 应不应该跟公司去争取更多股份?就是说,程序员自己也未必清楚,自己值多少。

现在的工资体制,是在自由佣工的市场中形成的。一个 5 年的 Java 程序员要月薪 2 万,并不是程序员自己清楚核算出了自己的价格,同样的,企业愿意用 2万左右的价格雇佣 5 年经验的 Java 程序员,也并非企业精确核算出了成本和利润。

自由市场的价格体制,最奇妙的地方就在于,它能够在无数的供方和需方之间,自发的形成平衡。用计算机语言来说,这是一种非常巧妙的“分布式”系统,没有中心化的指挥棒和命令,就能够形成共识。

自由市场的机制,让水平相当的程序员在基本薪资上,大致保持一致。但程序员进入不同的公司后,公司经营的好坏,则直接导致了程序员在奖金和股份上的收入,产生了天壤之别。

自由市场尊重运气和机会的存在。男怕入错行,女怕嫁错郎,程序员怕进错公司。大家只能愿赌服输,看着当年蓝翔Java培训班的同学拿到1000万市值的股份,只能暗自懊恼,抱怨老天不公。

但是,这种不公平是否对自由市场有坏的影响?企业该怎样给程序员发奖金才最有效率?程序员真的值得这么多么?为了不让程序员朋友骂我“程序员奸”,我们换个说法,给程序员发奖金应该怎么发?

是根据程序员的技术水平来发?还是根据程序员的工作量来发?还是根据程序员所开发的产品盈利情况来发?

以上这些方法,都有值得质疑的地方。

程序员 A 是独孤求败级的技术高手,但很可能他很懒,态度消极,一年来什么事也没做。奖金不该有他的。

程序员 B 比较努力,写了很多东西,代码行数、功能点数都很多,但是他很不幸运,参与的产品被砍掉了。奖金该不该有他的?

程序员 C 则加入了一个爆品小组,该产品一下子给公司盈利100亿,但程序员 C 的技术很一般,市场上随便就能雇到替代他的人。他也值得很高的奖金么?

各种因素,各种问题,以及各种核算方法,其中所蕴含的佣工合作模式,只有两个:

一个是劳动力购买模式,即企业雇佣程序员,是以一定的价格水准,购买了该水准程序员的劳动。只要程序员交付的劳动,满足了公司要求,那么程序员就值得这份薪资。程序员参与的产品成功与否,不影响程序员的收入。

另一种是利润分享模式,企业根据程序员所开发产品的盈利情况,作为程序员收入的决定因素。这种模式下,身处不同产品组的程序员,收入就会差别巨大。还好的是,我们程序员都是愿赌服输的,产品利润不高或者直接被砍掉,拿不到奖金看着别的组发6位数7位数,也不会抱怨。

雷军总说过的一句话:找合伙人吧,雇佣时代已经过时了。这就是把利润分享模式向前更进一层,技术合伙人直接拥有股份,成为公司的主人。

很多公司设计了复杂的KPI,综合了以上各种因素,在两种模式中间平衡,最终计算出程序员的奖金。最终的结果,不免会有大锅饭、不公平的情况存在,而这些弊端的解决还是要由自由的劳动力市场来调节:感觉到不公平的程序员,会选择离开。

自由市场承认运气和机会的存在,自由市场从来就不追求事实上的平等,自由市场更不保证能力与收获的一致。大神级的程序员,也必须通过市场找到自己的位置和工作。不想投身市场的汪洋大海,那还是搞科研去吧。

但我们关心的问题有二,第一是怎样保护自由市场的机制,让自由市场发挥更大的效用。另一个问题是,企业和程序员双方,在基本薪资之外的奖金和股份分配上,如何达成双赢的一致。

在发挥自由市场的协调机制上,我们鼓励一种更加细致的佣工协议,企业和程序员可以就基本工资、奖金和股份的分配上,按照双方自愿的条款达成一致。有的程序员愿意固定的高薪资,有的则愿意与产品的盈利情况挂钩,有的愿意要奖金,有的愿意要股份,这些都应该单独对待。公司甚至可以针对每一个项目,每一个产品,与程序员一一签订细致的协议。

不过,在签订这些详细协议的时候,还是要考虑劳动法,劳动法如同一个大小固定的框子,我们需要在框子里灵活的跳舞。要知道,劳动法肯定限制了劳资双方合作的灵活程度,而且实质上偏向保护劳动者,公平的讲,是不利于企业的。但劳动法毕竟用一些固定的条款约束劳资双方的责任和权利,节约了社会认知成本和协商成本。但是为了给自由的佣工市场增加更多丰富的活力,还是要在劳动法的基础上,多进行一些创新和突破。

另外,面向个体的个性化的劳动协议,也会带来更多的管理成本,需要考虑效率提高与成本增加之间的平衡。可以拟制多个不同类型的劳动协议模板,基于劳动协议模板进行个性化协议的签署。

公司和程序员,在考虑考核及收入设计上,要达到公平、双赢、以及团队激励的目的,一定要把产品的技术特性、营销特性、经营特性琢磨透彻。产品的成败、成品的盈利与否,多大程度上依赖程序员的技术和开发工作,多大程度上依赖营销人员,搞清楚这些问题才是设计考核制度的关键。 有一些产品的经营利润虽然高,但对程序员的技术和开发挑战并不高,那么就没必要投入高水平程序员,也没必要设计过高的奖金和股份。 而另外有些产品,则极端依赖程序员的创新和创造能力,只要产品技术高超,无需拼命的营销,客户和收入就会大把大把的涌来,这种情况,自然要给程序员制定高比例的奖金和股份了。

程序员值那么多钱么?这个问题,说到底,要由老板们必须尊重的两尊“神”来回答,这两尊“神”,一个是市场,一个是产品。

市场说程序员值多少钱,老板就得掏多少钱其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我要推荐c++交流群六四八,七七八,八四零,不管你是小白还是大牛欢迎入住,大家一起交流成长,里面各种学习资料免费领取还有专业程序员解疑答惑。

转载于:https://www.cnblogs.com/bawei/p/10595527.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.13 判读是否是对称素数

输入&#xff1a;11 101 272 输出&#xff1a; Yes Yes No #include<fstream> #include<iostream> #include<sstream> #include<string> #include<cmath> using namespace std;bool isPrime(int); bool isSymmetry(int);int main(){ifstream…

Spring MVC中使用 Swagger2 构建Restful API

0.Spring MVC配置文件中的配置[java] view plaincopy<!-- 设置使用注解的类所在的jar包&#xff0c;只加载controller类 --> <span style"white-space:pre"> </span><context:component-scan base-package"com.jay.plat.config.contro…

Go语言规范汇总

目录 统一规范篇合理规划目录GOPATH设置import 规范代码风格大小约定命名篇基本命令规范项目目录名包名文件名常量变量变量申明变量命名惯例全局变量名局部变量名循环变量结构体(struct)接口名函数和方法名参数名返回值开发篇包魔鬼数字常量 & 枚举结构体运算符函数参数返回…

3.14 01串排序

将01串首先按照长度排序&#xff0c;其次按1的个数的多少排序&#xff0c;最后按ASCII码排序。 输入样例&#xff1a; 10011111 00001101 10110101 1 0 1100 输出样例&#xff1a; 0 1 1100 1010101 00001101 10011111 #include<fstream> #include<iost…

platform(win32) 错误

运行cnpm install后&#xff0c;出现虽然提示不适合Windows&#xff0c;但是问题好像是sass loader出问题的。所以只要执行下面命令即可&#xff1b;方案一&#xff1a;cnpm rebuild node-sass #不放心可以重新安装下 cnpm install方案二&#xff1a;npm update npm install no…

Error: Program type already present: okhttp3.Authenticator$1

在app中的build.gradle中加入如下代码&#xff0c; configurations {all*.exclude group: com.google.code.gsonall*.exclude group: com.squareup.okhttp3all*.exclude group: com.squareup.okioall*.exclude group: com.android.support,module:support-v13 } 如图 转载于:ht…

3.15 排列对称串

筛选出对称字符串&#xff0c;然后将其排序。 输入样例&#xff1a; 123321 123454321 123 321 sdfsdfd 121212 \\dd\\ 输出样例 123321 \\dd\\ 123454321 #include<fstream> #include<iostream> #include<string> #include<set> using …

ES6规范 ESLint

在团队的项目开发过程中&#xff0c;代码维护所占的时间比重往往大于新功能的开发。因此编写符合团队编码规范的代码是至关重要的&#xff0c;这样做不仅可以很大程度地避免基本语法错误&#xff0c;也保证了代码的可读性&#xff0c;毕竟&#xff1a;程序是写给人读的&#xf…

前端 HTML 常用标签 head标签相关内容 script标签

script标签 定义JavaScript代码 <!--定义JavaScript代码--> <script type"text/javascript"></script> 引入JavaScript文件 src""引入的 js文件路径 <!-- 引入JavaScript文件 --> <script src"./index.js"></s…

3.16 按绩点排名

成绩60分及以上的课程才予以计算绩点 绩点计算公式&#xff1a;[(课程成绩-50) / 10 ] * 学分 学生总绩点为所有绩点之和除以10 输入格式&#xff1a; 班级数 课程数 各个课程的学分 班级人数 姓名 各科成绩 输出格式&#xff1a; class 班级号: 姓名&#xff08;占1…

iview日期控件,双向绑定日期格式

日期在双向绑定之后格式为&#xff1a;2017-07-03T16:00:00.000Z 想要的格式为2017-07-04调了好久&#xff0c;几乎一天&#xff1a;用一句话搞定了 on-change”addForm.Birthday$event”<Date-picker placeholder"选择日期" type"datetime" v-model&…

移除html,jsp中的元素

移除html&#xff0c;jsp中的元素 某些时候&#xff0c;需要移除某个元素&#xff0c;比如移除表中的某一行 $("#tbody").children().eq(i).remove();或者 $("#tr").remove();PS&#xff1a;获取表中的tr的数量&#xff1a; $("#tbody").childre…

ACM001 Quicksum

本题的重点在于数据的读入。 可采用cin.getlin()一行一行读入数据&#xff1b;也可采用cin.get()一个一个读入字符。 cin会忽略回车、空格、Tab跳格。 cin.get()一个一个字符读&#xff0c;不忽略任何字符。 cin.getline()一行一行读入。 #include<fstream> #include…

[Swift]LeetCode884. 两句话中的不常见单词 | Uncommon Words from Two Sentences

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

微信公众号 语音录音jssdk

1.开发流程 如果开发的是普通的展示性页面&#xff0c;就和开发普通的页面没有区别&#xff0c;不过这里要用到设备&#xff08;手机&#xff09;的录音功能&#xff0c;就需要调用微信app的录音接口&#xff0c;需要使用微信jssdk。 使用微信jssdk&#xff1a;微信JS-SDK说明文…

iview table 方法若干

新增默认选中1. _checked字段增加2. 给data项设置特殊 key _checked: true2.0 多选框样式错乱&#xff0c;默认选中问题1. 修改为元素checkbox 样式大概调整2. 如果样式不好看 可以自行修改或者使用其他组件ui checkboxAPI props 属性说明类型items显示的结构化数据Arraycolumn…

05 MapReduce应用案例01

1、单词计数 在一定程度上反映了MapReduce设计的初衷--对日志文件进行分析。 public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{//该方法循环调用&#xff0c;从文件的split中读取每行调用一次&#xff0c;把该行所在的下标为key&a…

ios高级开发之多线程(一)

1.概念&#xff1a; 多线程&#xff08;multithreading&#xff09;到底是什么呢&#xff0c;它是指在软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件的支持&#xff0c;而能够在同一时间执行多个线程&#xff0c;进而提升整体处理性能。在一个程序…

v-if的简单应用

<span v-if"item.status0"> 项目状态&#xff1a;未提交 </span> <span v-if"item.status1"> 项目状态&#xff1a;审批中 </span> <span v-if"item.status2"> 项目状态&#xff1a;审批退回 </span> <s…

05 MapReduce应用案例02

6、統計每個月份中&#xff0c;最高的三個溫度。 輸入格式&#xff1a;年月日 空格 時分秒 TAB 溫度 inputfile: 1949-10-01 14:21:02 34c 1949-10-02 14:01:02 36c 1950-01-01 11:21:02 32c 1950-10-01 12:21:02 37c 1951-12-01 12:21:02 23c 1950-10-…