第一定律——收入定律
内容:程序员的收入跟其技能复杂度和技能实现可能程度成正比,同时依赖社会平均水平工资。
程序员的收入是技能复杂度和技能实现可能程度的函数。如果程序员的工资是S,社会平均水平的工资为A,程序员掌握的技能复杂度为C,实现程度为P。
公式:S=A×C×P。
推论1:越容易上手的技术,其内蕴价值越低。
推论2:单纯的涉猎广泛,没有专精,对收入的影响是负面的。
推论3:实现程度P越高,风险越大。
http://blog.csdn.net/leezy_2000/article/details/7253614
第二定律——量化管理
内容:在思维可以精确量化前,量化管理在程序员身上永无可能。
说明:软件开发的输入是需求,但同一个需求不需要做多次,所以对需求自身的复杂程度眼下来看还只能依赖判断,而不能精确度量。
软件开发的输出是代码,而代码自身属于固化后的思维。在度量思维时,多少、大小、长短、厚薄这类惯常的度量方向,并不具有多大意义。就好比说,不能讲一个人代码写的越多贡献就越大一样。
第三定律——跳槽定律
内容:任何一个雇员在不受外力条件作用或外力条件与当前状态条件的比值小于忠诚度时,总是保持静止状态,直到外力条件与当前状态条件的比值大于忠诚度时,跳槽就会发生,偏离值越大,跳槽逾激烈!
公式:ΣWi/ΣYi>C
说明:假定每个人的忠诚度不同,设为C,其他公司给开出的条件为W,本公司给的条件为Y,那么有如下结论,当W/Y>C时人就会跳槽,否则不会跳。
W为一个综合值,W=W1+W2+W3……=ΣWi,Wi分别代表薪金、待遇、其他福利等等。同样的Y=ΣYi。
C包括了这个人的惰性(是否愿意折腾,性格方面的原因),对原公司的感情和道德观念(传统意义上的忠诚),受周围人物或条件牵绊等诸多因素共同组成。
相关参考:
如果把忠诚度也拆分开等同于各种条件,分别加入ΣWi与ΣYi中,那么实际上就等于直接进行W与Y的比较,当W>Y则人会跳槽,W<=Y不会跳。
推论1:收益定理:每个人都会向其所认为收益最大的方向前进。
http://blog.csdn.net/arcan/article/details/7726208
第四定律——加班定律
内容:个人的工作产出是工作时的生产力的总和,当生产时长超过正常工作时长时其生产力成指数下降,一旦超越临界点生产力将反向影响产出。
公式:O=P(t1, t2, t3, …, tn)
说明:其中,O代表总产出,P()表示小时生产率随时间(t1-tn)的变化。在这个等式中,P()是一个函数,不是一个常量。P()根据程序员的不同而变化,因为某些人生产力要高于其他人。P()也随时间变化,因为人不是机器,在第14个小时完成的工作并不完全等于在第1个小时完成的工作。另外,P()也会随程序员最近的状态而变化,例如,加班至深夜1点后的早上与睡了一个好觉后的早上,其工作效率也不可能是完全一样的。当tn大于临界值t时,tn为负数
相关参考:http://www.worklessparty.org/timework/chapman.htm
http://xushaonian.blog.163.com/blog/static/39051316200831471324437/