程序员如何增涨自己的收入?

程序员的收入是广受关注的问题,很多人从业3~5年之后就会遇到这个收入瓶颈。尽管物价不断上涨,程序员尤其是初、中级程序员的收入不升反降。即使上次在某个文章中看到有中国第一程序员之称的某位,月薪也只有3万,尽管这个数字已经很高了,但这个“中国第一”,也只有众多小型软件企业总监级别的收入而已。为什么这么高水平的技术人员在公司中的位置仍然显得与日俱降?本文会分析其中的原因,并依据原因给出相应的建议,为收入遇到瓶颈的程序员找到出路。

要理解一个人能赚多少钱,先要理解钱的流转规律。对于程序员,总是认为若自己能力提升了,自己的收入就应该相应提升。不过,请先读一下任正非写给华为员工的邮件中的一段文字:

因此,没有责任心,不善于合作,不能集体奋斗的人,等于丧失了在华为进步的机会。那样您会空耗了宝贵的光阴,还不如试用期中,重新决定您的选择。进入华为并不意味着高待遇,因为公司是以贡献定报酬的,凭责任定待遇。对新来员工,因为没有记录,晋升较慢,为此十分歉意。如果您是一个开放系统,善于吸取别人的经验,善于与人合作,借助别人提供的基础,可能进步就会很快。

从中可以看出,先要替公司赚到钱,承担责任,一个员工才能拿到钱。

分析

若一个程序员技术水平一个顶十个,在他替公司赚钱的道路上还有哪些障碍呢?典型障碍有很多,比如:

1. 这个程序员开发的功能中有50%客户不常使用

因此,客户要么没有选择这个产品,要么只愿意付出更低的价格。“这怪产品经理啊,为什么怪我?”错。若赚到了钱,论功行赏的分配方法有很多;但若赚不到钱,分配方法就一种:大家都没钱。也就是在一家产品方向失败的公司,即使最顶级的程序员,也赚不到钱;或者说,他赚到的钱,可能还不如一个产品方向正确的公司的一个普通程序员。

2. 这个程序员开发的底层库中,有50%不被调用

很多顶级的程序员都迷恋编写底层库,认为这才是施展技术实力的地方;他们多数不愿意参与业务级别的工作,认为工作过于简单还要和客户打交道。这时候编写出来的东西,经常会出现“需求镀金”,就是最终代码中充斥着大量的无用的功能。本人做过一段这种事情,所编写的一个库,可能几年后使用率也不超过一半。

如果这两个问题不解决,我们表面上看到的看到的10倍的能力,真正能转化到生产力上的不足25%。公司的钱赚不来,个人收入低的问题也就很好理解了。

3.顶尖高手在公司内部的位置已经不再重要

现在已经不是当年两个修自行车的能造飞机的英雄时代了。现在的软件很少像当年KV300、WPS一样可以由一个高手独立写成,多数都依托于一个十多人乃至近百人的大型团队。如果这个团队的整体实力很强,里边一个顶三、五个的程序员大有人在,那么单个的能顶十个的程序员贡献能有多大,就值得商讨了。
在10年前参与的一家公司中,有一位自己躲在自己办公室的“扫地僧”,功力超过我们团队的最顶级的程序员还要数倍。不过,他却在独立开发一个与公司方向不符的小产品,由于他是老板的朋友,老板也执拗不过,就随他去了。几年后公司上市,不过是因为我们所在的25人团队的产品占据市场份额60%以上。毕竟这种规模的团队,如果技术和管理又能跟得上(这个团队就是本人第一次遇到松结对编程、139团队的那个团队),生产力不是一个两个游击队员能够相比的。如果不能把自己的能力转化为企业的盈利,收入就无从谈起。

答案

有了这两个分析,就不难得到答案,整体上分两个方向,最后我们再总结两个截然不同的方向的共同点。

一个方向,是转向关注业务。
具体说来,包括成为产品经理,或称为对产品需求负有责任的技术兼业务高手。
为何产品经理的收入很高?三星刚刚重奖了GalaxyIII的产品经理,而腾讯、阿里的产品经理也久负盛名,而他们的所谓“高级程序员”一般都默默无闻。原因就是产品经理是“掌舵”的,不是“划船”的,他对团队生产力的贡献,不是加法,而是乘法。国内征途以几十人团队每年几亿的收入,腾讯以9千人超过中国电信5万人的营业额,国外Apple及FB的崛起,靠的不是技术高手的加法,而是产品经理的乘法。
作为纯技术高手,可能直接转为产品经理很难,或者不愿意转,那么,至少要变成关心需求的技术兼业务高手。也就是不能只沉迷技术,而要关心是否正在开发客户关注的核心需求,业务实现是否有效、友好,与竞争对手定位于功能比较等内容。

作为掌舵的人,更容易帮助团队把技术能力转化为生产力,提升绩效,也更容易获得更高的收入。

第二个方向,是作为技术领导。
将自己的技术与管理结合起来,提升整个团队的战斗力。
技术高手作为团队的领导具有得天独厚的优势,毕竟软件管理是个复杂的过程,需要结合技术、团队、过程的各方面才能做好。
比如设定这样一个目标:“促进团队的代码复用,以提升进度和质量。”个人参与过的几个项目都证明做好这件事情意义非比寻常,然而做好却很难。个别技术高手可以以1/4代码写出相同的功能,然而整个团队却很难做到,原因是缺少恰当的团队管理方法。而作为纯管理出身的项目经理,又不理解应该建立何种复用结构,如何分工。要让纯管理的人跨越技术壁垒是比登天,而让技术高手帮助进行管理则只是一念之间的事情(虽然也很难!)。

如果一个高手,能够帮助自己身边的三、五个程序员提升水平,那么很容易再获得相当于几个人的生产力,这是他个人提升所很难再获得的。本人在十年前遇到一位高手,跟他学了一年,感觉自己提升了三四倍的水平(从完成任务所需的功能量缩减而言,何况还有技术、质量方面的提升),而身边另外几个师兄弟,也都长进迅速,有一两个甚至都超过了师傅的水平。除了传授技术之外,这个团队后来在这位高手带领下,还改善了管理结构,演进成为一个松结对和1-3-9团队,在不到一年时间从5人扩展到25人,而产品质量没有明显的下降,后来市场占有率更是达到60%以上。

这两个方向有一个共同点,就是把自己卓越的技术能力对团队的贡献,从加法变成乘法。高手必须认识到自己对团队和企业的最大贡献,不是自己独立承担的那点任务,而是影响产品和影响团队的能力。
最后一个常见问题:

“我传授了徒弟,最后却被一脚踢掉怎么办?”这是很多技术高手所担心的事情。其实,老板都是很聪明的人,技术、管理、业务可能都一般,但识人、用人绝对超过我们,否则怎么会我们给他打工呢!一个高手如果被踢掉,更可能是因为沉迷技术逐渐变得钻牛角尖、封闭,最终变成无用之人。

打工与创业的区别

自己打工与创业有什么区别,有人说都是为了赚钱,都是为了生活。但这两这还是有本质的不同。
1.打工是靠自己的能力吃饭,创业是靠自己的智慧和思考吃饭;
2.打工是靠别人给自己的平台来展示能力,创业是靠自己的决心和眼光创造一个平台;
3.打工是做好自己的本分工作就好,创业是要思考体系运作的每一个环节;
4.打工的人期望的是一周有两天休息,创业的人是思考的是如何能低成本的运作;
5.打工的不愿意真实的面对自己的收入,创业必须要真实的面对自己的实力和财务状况;
6.打工的时候想的是自己的经历和文凭应该值多少钱,创业的时候想的是自己的勤劳和策略能创造多少钱;
7.打工时想用自己的专业知识吃饭,存钱养家,创业时候想的是如何利用社会资源来赚钱养活组织和员工;
8.打工的人一般都比较天真,认为辛苦和听话就可以长保无忧,创业的时候才知道市场的变幻简直就是日不可测,日不可知;
9.打工搞好上司和同事关系就可以生活,创业要搞好客户和社会方方面面的关系才能生存;
10.打工要看上司和老板的脸色,创业要看社会消费者和主管行政部门的脸色和媒体的脸色;
11.打工想的是今年我能存多少钱,发多少奖金,创业想的是今年能开多少店,占多少市场份额;
12.打工人今天天下雨和下雪,没有客人就很高兴,可以放松偷懒,创业想的今天天气下雨下雪,心如火焚,着急无比,如何吸引客人上门;
13.打工碰到问题就是解决问题,创业就要想这个问题的根源是什么,怎么解决,还要怎么预防;
14.打工碰到困扰自己的问题就回避,认为不能解决,创业碰到自己头疼的问题必须要勇敢面对,并积极的想办法解决;
15.打工的时候把工作堆起来,能拖就拖,尽量少事情为好,创业的时候才知道问题堆在那里,就会成不定时炸弹,保不准那天公司和自己与员工就都被这问题炸死了;
16.打工时候看着钟点,踩着钟点来感觉很心安,创业的时候每天时刻都得想怎么生存发展;
17.打工的时候总是希望老板来请客,认为那是天经地义的,创业的时候感觉请客就是一种割肉,但是总是得大方的主动买单;
18.打工的时候到晚上八点就把电话关了,唯恐有人来麻烦,创业的时候三部电话放在床头24小时不关机,希望有人来关照生意;
19.打工的人信心都在身体里面埋藏,创业的人信心都在身体外面张扬;
20.打工的人最不希望在大厅观众面前跟别人说自己是马仔,创业的人最怕在公共场合之中听别人说自己是老板,特别是没有成功时候;
21.打工时候电话费总是要省了又省,最好的是公司的电话无偿使用,出门在外,给老板电话,也是响了一下马上挂了,创业的时候电话总是咬咬牙要拨打,即使长途电话,只要是自己的合作方和客户,总是要等对方挂线,哪怕心上很疼也得承受;
22.打工碰到一些困难就打退堂鼓,想圈起行李走人或是逃避责任,而创业的人碰到困难必须要面对解决,把问题的最终解决在自己的手中;
23.打工时候听到公司来了一个新同事能力比自己强,总是对他有嫉妒和提防心理,创业的时候总是渴望能够网罗到比自己能力高很多的俊杰和能人。
24.打工就是做学生,只要学习成绩好就好,创业就是做老师,要教好学生,还有想办法搞好学生思想工作,做好外部职称评定工作;
25.打工就是上大学,越自由越好,最好不要管理,越散漫越开心,这就是性格和酷,能随心所欲是欢喜不尽,创业就是办大学,最好是军训和男女不能同居,唯恐出一点点差错,毁了所有的心血和劳动;
26.打工的时候,不希望有人来管理自己,觉得自己很了不起,一点点都看不起那些比自己低的人呢,创业的时候才知道,多么希望有个好的导师和善知识来指点和帮助自己,越来越感觉到自己其实最没有什么了不起,所有比自己差的人都要尊重起来,因为没有任何人可以短缺;
27.打工的时候想的时,无聊的时候有个恋人的问候和惊喜来温暖自己,创业的时候在无聊时候想的是有个重要的客户突然跟自己能签订一笔采购订单合同;打工的时候想的是这月能发多少奖金,创业的时候想的是这月又损耗了多少的产品,能通过什么方式节省下来;
28.打工的时候不知道感情到底有多么重要,不知道珍惜是什么,创业的时候才知道有个恋人人能在自己孤军奋战时鼓励和帮助是人世间最难的福报;
29.打工时候不知道要孝敬父母和事业有什么关系,要是没有钱花,自己干脆就忘记了家人,反正自己一个人吃饱就好,创业的时候才知道,做人都不好,根本就没有人来信任您,不孝敬父母根本就赚不到安心的钱;
30.打工的时候不希望求别人,不希望去打搅人,创业的时候天天都得去求别人,天天都得主动出击给朋友客户信息和短信,麻烦别人;
31.打工时候总是希望能够多学习很多的资格证书,最好是博士后,再加人力资源管理师,会计师,培训师等等的培训证书有十多二十个,创业的时候才发现最好就是一个不知道一切的勇夫蛮汉,什么文凭和职称和证书根本就是百无一用;
32.打工时候看到对方给的名片是某某跨国公司的某某总监,年薪XX万,心理就羡慕和自卑,极度的恭敬和小心,创业的时候,只有一个人,也敢对自己人说,将来要培养这样的总监经理几十个;
33.打工的时候听到有人介绍别人这是这个行业里的教授、导师、专家、大师的、成功者的时候总是恭敬有加,创业的时候,每每听到这些心里就有些窃笑,知道学识并没有什么了不起,讲得好,不如做的好,实践是产生智慧的唯一途径,感觉自己才是真正的专家;
34.打工的时候不怎么在意媒体和记者,创业的时候想记者又怕记者;
35.打工把产品当商品,当成谋生的东西,任其随意丢放,创业的时候把自己的产品当恋人,当另一半,烂了坏了,损伤了都心疼不已;
36.打工的时候把恋人当恋人,双方互不干涉,当盖身的被子,给自己取暖遮寒,创业的时候把恋人老婆当宝贝和珍宝,唯恐她跑了自己事业不能成功,必须要双方保稳定和同心协力;
37.打工的时候梦想有一天自己能够娶到老板的和女儿,这样就可以少奋斗二十年,创业的时想的是原来天下没有任何事情比自己的坚强和努力更重要,天上不会掉馅饼;
38.打工的时候,想嫁给一个好老公,可以衣食无忧,做师奶,创业的时候才知道,最不愿意找这样一个女人来跟自己分享自己的心血和财富;
39.打工的人是很喜欢热闹,喜欢群居的,所以打工的人是喧闹而享受的,创业的人是希望宁静和思考,所以创业的人是每每在欲望里对自己的身心做修正;
40.打工的人把希望寄托给伯乐,创业的人把希望交给自己;
41.打工的人把梦想托付给机会,创业的人把生命交付给信念和上帝;
42.打工的人若是要能比喻就好比是家狗,创业的人是好比是野狼。这个世界上最终是狼比狗少,因为大部分人呢都愿意做狗。这是自然界的物种存在的现象;
43.打工的人占80%,创业的人占20%,因为打工的人都希望能够在创业者的大树下蒙荫;
44.打工的人不明白,自己拿比创业者至少差八倍的收入,其实是在一开始就决定了的,而创业的人也不明白,自己靠着那么多的心血智慧和付出赚了钱,居然产生原罪感是不应该的。

全栈工程师到底要如何发展

    今天全栈工程师这词很流行,今天下午才知道原来我也勉强可以算是全栈的一员。

    什么是全栈呢?全栈是指掌握多种技能,可以独立完成产品的工程师。这会让人想到一个人群,他们叫站长。站长们自己建网站,也是自己完成一个产品。可是太多的站长都是使用CMS或论坛,很少写代码。完整的全栈,自己设计产品,自己设计版面、切图、写CSS、做后台程序,直到产品上线,

    为什么我成了全栈工程师?

    我相信很多全栈型工程师会和我一样,是因为要创业才成为全栈型工程师的。我有一颗创业和做产品的心,而且我又是一个不愿意麻烦别人的人,有些人擅长整合资源,空手套白狼,但我显然不是这种人,所以我只好自己做了。
    引自:http://www.williamlong.info/archives/3731.html

    说出了我的心声,因为有一颗创业和做产品的心。创业做产品不一定要亲力亲为,可以招人啊?没钱!又不擅长空手套白狼。资源整合是不错的方向但是把想法告诉别人,人家有实力就自己去做了。所以还是自己的事情自己做吧。

    全栈工程师要如何发展?

    已成为全栈工程师,已经可以自己做产品。网站上线没用户或者产品推出没人购买,怎么办?以前我也不知道,经过不断的摸索、学习,总结出我还有三门课程要学,《营销管理》、《战略管理》、《品牌管理》。

    营销,产品推出后要做一个营销/推广,让潜在客户知道我们的产品,认可我们的产品,最终使用我们的产品。
    战略,我们是要做大而全,还是要做小而精?或者剑走偏锋做小众群体?
    品牌,微信:再小人个体也有品牌。我们的产品也是一个品牌。

    当了解了这些之后,是不是觉得以前创业/做产品失败是情有可原?不再郁闷为什么就没人使用呢?

    全栈工程师的两条出路:如果你依然还有一颗创业/做产品的心,那就继续学习下去!如果已经没有了激情,那就找个懂营销,会管理的搭档做技术合伙人吧。

使用DNSCrypt 让你正常使用Google、Facebook、Youtube

DNSCrypt官方介绍页面:http://www.opendns.com/about/innovations/dnscrypt/

DNSCrypt使用类似于SSL的加密连接向DNS服务器拉取解析,所以能够有效对抗DNS劫持、DNS污染以及中间人攻击。

DNSCrypt的客户端版运行后,会自动在状态栏显示服务状态,并自动修改DNS服务器地址为127.0.0.1,通过本地加密的方式安 全连接OpenDNS,这样,本地所有的DNS请求都会加密进行从而绕过DNS污染,最终顺利解析到正确IP地址,根据我的测试,这个工具可以一劳永逸地 解决所有DNS污染问题。

Windows
下载客户端:http://shared.opendns.com/dnscrypt/packages/windows-client/DNSCryptWin-v0.0.6.exe

MacOX
下载客户端:http://opendns.github.io/dnscrypt-osx-client/
通过homebrew编译安装
$ brew install dnscrypt-proxy
使用方法:
下载并安装成功后需要重启系统,在Enable DNSCrypt选项上划勾选中即可,操作界面上的盾牌将变成绿色,说明已经成功了,windows客户端亦然。

(转自:http://levi.cg.am/archives/3573)