程序员的发展方向

程序员的收入是广受关注的问题,很多人从业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%以上。

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

  最后一个常见问题:

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

程序员的发展方向,布布扣,bubuko.com

时间: 2024-12-14 09:52:12

程序员的发展方向的相关文章

关于程序员的发展方向

出于写这篇文章的目的,是因为我觉得一个5-6年程序员都会有的一个痛点,或者说是转折点——职能管理or 技术架构. 至今也算是快6年的程序员了,目前带着算是6-7号人的一个核心team,也将近快1年了,虽说3年前形式上也算是个leader,但也只是体现在项目上的主导,很大程度上我当时的领导只是觉得技术过得去,靠谱,主观能动性强这个层面上,所以,还没有真正经历到一些leader应该有的境遇.当然,快一年了,也应该有很多的感悟,在此跟各位分享下(当然也避免不了槽点,见谅~ ;)   ) 首先讲到职能管

C++程序员的发展方向分析

我们 一路走来,磕磕碰碰,走到现在,历经了千辛万苦,实乃不易,可是路才刚刚开始走,未来还是很长,我将会不断的思考.      我想,如果是打算走进C++编程的同志朋友们,请好好看完这篇文章,或许,对你的发展有所启发.但是,不要企图在这里找到你自己发展的规划和指定好的发展航向 和行程.看了这篇文章,能够收到启发,受到鼓舞,也就是本文的一个成功的地方了.如果能够切实的给你指导发展方向,那更是荣幸备至.但是,每个人的兴趣都 不一样,所处的环境和条件也因人而异,所以,必定会有与你不完全符合的发展方向指导

女程序员职业发展的特别之处

在"做自己想做的工作"公开课的互动环节,有位女生提了个问题,大意是"女生是否适合做程序员",当时我怎么回答的,已经忘差不多了,大意是性别对是否适合做程序员没有直接影响.课后我又仔细琢磨这个问题,联想到之前有多位女程序员给我的微信订阅号"程序视界"留言,询问女程序员的职业发展状况,这让我恍然发现,我之前居然一直忽略了女性的具体情况对软件开发的影响.因此,这次,我准备特意来聊聊这方面的话题. 首先要说明的是,从大的脉络来讲,女程序员的职业发展与男程序

PHP程序员职业发展路线,适合你吗?

大自然的选择陪你说一世晚安男生PS教程自学平台纯文笑话 登录 部落管理 帮助 PHP程序员职业发展路线,适合你吗? 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标. 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不是基础非常扎实的情况进行的设定,并且所有设定都非常具体明确清晰,可能会让人觉得不适,请理解仅代表一家之言

最详细的程序员职业发展路线和规划

程序员的职业发展有几个选择:专注于技术,成为技术专家:转型到技术型销售.技术支持等:随着技术成长,从技术性管理到高级管理.这归根结底,都是以技术为基础.在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,架构师是个好的选 择:如果性格更适合做管理,情商能力突出,技术型管理应该是下一步的方向.这种发展规划属于'瘸腿走路'的类型,各有侧重主攻发展的职业方向,也是目前一 般程序员普遍采用的发展路线规划.已经工作两年以上的程序员可以有几种基本的职业规划:技术专家.软

程序员未来发展三大方向

程序员工作两三年后,基本上都会考虑自己的未来发展方向.发展的路径不外乎:程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.哪一条发展路线更适合你? 当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了.而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO. 也就是说,许多的程序员最终可能是做技术经理.

十年程序员老兵告诉你,2018年程序员如何发展

本文根据作者亲身经验.体会和思考,为工作年限在10年之内的程序员,尤其是职场新人,提供了一些建议. 帮助大家了解职场规则,规避错误,把握机会. 十年三阶段 工程师的职业发展,前十年是个非常重要的阶段.从职业规划的角度来讲,建议把这十年分为三个阶段来设定目标: 第一阶段(前三年):打基础.立足培养技术能力和软技能.第二阶段(四年):从个人能力向团队组织能力转变.在沟通能力.协作能力和领导力上发力.第三阶段(四年):不断强化领导力(技术领导力和管理领导力). 第一阶段(三年),目标:优异的单兵作战能

PHP程序员职业发展路线

重点:把LNMP搞熟练(核心是安装配置基本操作) 1.Linux: 基本命令.操作.启动.基本服务配置(包括rpm安装文件,各种服务配置等): 会写简单的shell脚本和awk/sed 脚本命令等. 2.Nginx: 做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道 server/fastcgi_pass/access_log 等基础配置,目标是能够让nginx+php_fpm顺利工作. 3.MySQL: 会自己搭建mysql,知道基本的mysql配置选项: 知道inn

杂谈:关于程序员职业发展的两三事

首先一首音乐送给大家,祝大家能够突破自我. 好吧并不让插入flash ,那么直接贴网址吧 https://www.bilibili.com/video/av1286380/index_134.html 每个人都会有错误,但是要从细节中找寻自己的错误. 对于程序员来说,错误要么就是很容易就找到,要么就非常隐蔽. 首先就是发生在我自己身上的事,公司周五下午有一个职场礼仪培训,然后老师让我总结内容,我立刻尴尬,说话结巴和忘词了,当着全公司面出丑.... 好吧,虽然现在想起来还是很尴尬,但是作为程序员一