千万别当程序员[转载]
如果你要做IT,首先你要确定你的目标是什么,我的建议是,千万不要当程序员,因为中国这个环境之下,没有人当程序员是个什么东西。
程序员是挣不到钱的,不管你是自己做程序来卖还是帮公司做程序,你最终还是一个搬砖头的,就是一民工,没有人会当民工是工程师,所以,如果有人为你冠以 “软件工程师”的头衔你还沾沾自喜的话,恭喜你,你还没有看到这个行业背后的黑暗,保持一份纯洁对于我这种老家伙来说已经变成一种奢侈了。先说说自己做私 活吧,一个简单的Web站点,在你那里可能能够卖到5K、1W甚至2W,但是也就这样顶天了,你还能卖到多少?而且没有后续的合同保障,所有的维护啊程序 变更都是你自己的事情,但是同样的项目,在公对公的卖,价格至少翻5倍,如果加上硬件,那就不得了了,最近我的一个朋友公司还卖出去一套自己开发的国产 OA,价值300w,购置的是 PCServer单机+JBOSS,呵呵,有些不可思议?事实就是这样,你觉得你占了便宜,实际上你可能花费了更多的精力和时间,你可以计算计算这笔钱自 己拿的是否值得。对于帮公司就更不用说了,公司会计算软件成本,基本是开发人员开发费用(基础设施成本+工资+住行费用)+市场费用(招待费+市场住行费 用+灰色费用)+运维成本(运维部门的支出)+硬件成本+税收成本,我不是搞会计的,对于这些术语可能不准确;好的,项目总投资额-软件成本就应该是公司 的收益了,现在可以进行收益分配了,我们可以看到,在收益分配处,无一例外的是公司本部收益比例>市场收益比例>研发收益比例>运维收 益比例。公司占用比例无可厚非,俗话说的老板占大头,没错,就是这样,你就Shut UP了;市场占收益比例也好像合理,没有市场就没有项目,大家都得喝西北风;研发,呵呵,当然得有了。首先出的问题可能就是运维收益了,一般的理解,运维 部门作为公司的内部部门,不能直接参与项目收益分摊,的确也是没有直接参与,但是变相的就厉害了,我以前的某个公司是如此计算运维成本的,一个项目中配备 网络管理员1个+财务人员1个+项目综合秘书1个+综合事务管理1个共计四个人,这四个人的成本是按照工资+日常开销、补助+加班费计算,其参与周期为整 个项目周期,好像也没有啥问题,问题就在于这些人都是兼用在多个项目中的,你说是不是成本就转换成收益了;同样的情况也发生在其他的组成员中,例如测试、 市场和商务,所以对于成本的计算,也就如此,没有办法,成本转换成收益,的确不错,公司领导恨恨的说在兄弟们身上砸了多少多少,都是虚的,实际拿中等程序 员的工资×整个项目的参与人员数量×项目周期基本就是实际的可见成本,至于交通费住宿费加班费补助费都可以在前面计算公式中折合。这下你知道你为公司作出 不朽的贡献了吧,你一个人养着那么多人,哈哈,笑话。
最可怜的是,在这种制度下,程序员的工资涨的速度块却幅度不大,我最初的公司共对程序员定了6格级别,初一初二初三中一中二中三,刚入门的是初 一,1000,然后每级涨幅100,即使到了中三你也还一个小PP,去看看PM的工资,他们涨的机会小多了,呵呵,可是基数不一样啊。
如果你要想学东西,也不应该选择当程序员,其根本的症结在于,程序员还是那个整个建筑工地里的民工,你会发现你自己在不断的搬砖头,什么设计模式啊、面向 对象之类的,和民工搬砖头使用手还是箩筐还是用竹子编的专用工具没什么区别——都是为了更好的搬砖头。你会发现,你没有时间来看你买的书,来学习你所感兴 趣的新东西,因为你老在搬砖头啊。公司会给一定的承诺,忙完这个项目大家可以休息休息了,呵呵,你要相信这个就有些天真了,程序员都休息了,公司不就歇菜 了。在你搬砖头的时候,市场商务可是没有闲着,还在那边不遗余力的刨坑,等着你这个民工跳下去。
有的年轻人在找工作的时候会问培训机会,一般公司都人模狗样的说有很多培训机会,呵呵,你又相信这个东西的话,恭喜你,你还继续保持着天真。培训分成两 类,收费的和免费的,免费的要时间,收费的要时间又要钱。时间不就是请假了,好像和公司培训没有关系了,对了,说的就是收费的。技术人员和运维部门的口味 可不一样,在程序员眼中Borland曾经是旗手,而在他们眼中这家公司只是昨日黄花,所以首先在技术培训的选择上面就存在分歧,你不可能听到 Martin Fowler的演讲,倒是可能会看到张亚勤的一个人的秀。所以,培训,对于程序员来说,更像一个逃避工作的机会。再看看参加的人员,一个不成文的规约,越 贵的培训参与的人的层次越高,作为金字塔的最底层的同学,你参加微软TechED的机会和你去华星看加勒比海盗的首映场的概率一样——一般的主张是,钱要 花在刀刃上,程序员好像是刀把子,是在手里面用的,不是在外面用的。说起这个,想起2003年参加的那次TechED,我因为要辞职,公司给了这么一张门 票给我,会上看到的学生居多,公司去的程序员少,其他大多数是穿西服的要么精干要么大腹便便的仁兄。参会期间,程序员和学生都很饥渴,都在忙着选择课程 (课程时间有冲突),而穿西服的却在打电话、和展商唠嗑,那次给我的刺激非常大,如果再给我门票,我也不会参加这种大型的技术推广会,因为我怕受刺激。
还没说完呢。刚才提到,在金字塔中,程序员属于最底层,也就是说是个人基本都可能会踩你一脚,技术岗位和其他的岗位不太一样的是可替代性强,具有讽刺意义 的是其他岗位的不可替代性正是因为这些岗位对技术的不敏感,具体是什么就心照不宣啦,哈哈。而程序员应该是整个行业里面最可爱的人,有啥说啥,保持一个正 气凌然的样子(建议Party接收所有的程序员作为正式Party员,坚决能做到又HONG又ZHUAN的就程序员啦,哈哈),这样可是不好,但是换个角 度想,技术是诚实的,不是诚实的人怎么可能学好技术?(可能比较费解,自己琢磨吧)刚才说到某些岗位的技术不敏感性,可能你上楼去帮某人看看人家的 Excel如何进行行汇总行锁定,你心里在笑“这丫也忒笨了吧”,呵呵,有可能对方做的整好就是你的考勤表、工资表。
程序员在公司的不如意不是在于个人发展或者技术层面的不足,对于这两点,的确是辞职的不二法门,但是实际很多时候程序员的稳定性是很强的,因为没有什么心 计所以还是单纯。程序员的不如意很多时候是由于制度约束或者不公平导致的,人嘛,心里都有一杆秤。我初到某公司的时候,因为位置匮乏,就坐在领导的办公 间,某君横入,指手画脚,大言炎炎,我怯怯的问“君何人?”,此君答曰“全公司就我一个姓汤的,你去查吧”,寒,我查了一下,运维综合的头头,果然盛气凌 人,ORZ了。某次会议,客户十几个人,市场配合一人、技术一人陪着去风景区,横里杀出一个综合的人也要去陪客户;如此两件事在我心里留下了不小的阴影, 也是导致我对这家公司产生成见的第一药引,也成为离开公司的第一成因。
刚才提到,程序员的稳定性强,原因很简单,程序员工作的目标是学习,而非其他,在这个层面上,程序员可能或多或少的有种心思,就是运维综合只是服务部门, 我不评论这个想法是否正确,但是有一点可以说道,一个机器的运转需要不同的部件,各个部件最终服务的对象是整体,而不是服务于个体,正如军队之于国家机 器,所以在这个层面上,产生冲突是在所难免。这也导致一个有意思的情况,程序员对程序员服气,对于技术不咋地的也不咋地服气,要纠正这个很难,这就显得程 序员在全公司范围内显得很屌技术越强好像就越屌。对于其他的金字塔下层的人员来说就有些意思了,身处在一个技术公司,技术不敏感导致危机感较强,对程序员 这些屌人就更加敏感,呵呵问题不就出来了。对技术强悍的又像我这样的屌人(我的技术不强,虚荣心让我很屌,哈哈),说一句多的坏话,你的直系领导能够包容 你,知道你是个“才”,了解你的德性,但是其他的人却只能看到你屌,看不到你的才,这点需要注意。
才说了,搬砖头没有时间倒腾技术,那么发展线路呢?一句话,如果你现在身在一线,你会有很长时间在一线。程序员、高级程序员、设计工程师、分析工程师,都 是程序员,你的发展线路是 什么?技术好了,可能会让你啃硬骨头,或者好些可以让你带Team,让你从编写一个项目的代码转换到编写更多项目的代码。从Team Leader到经理的转变不是一个职位的问题,而是一个角色转换的问题,绝大多数情况,公司会相信空投,即便这个空降部队的家伙前面还是某个公司的 Team Leader。倒不是说要转换就得跳槽,关键是思维的转换需要时间,编写代码占用了那么多时间,你还有多少时间给你自己用?我就纳闷了,一个MBA学完就 能搞好管理?一行代码都不会就能建模,扯了,大多数人都抱有这样的思想,但是也无可奈何,有的事情该服气要服气。所以,要转换角色就赶紧,否则就来不及 了。
给那些想编而优则商务的兄弟泼点冷水吧,你不会有太多的机会真正处理商务或者市场的事情,大部分时候说让你到现场锻炼,因为你是程序员,更多的时候你其实 是换了一个地方换了一个爷爷来编程而已,而且,比在公司的还不如。如果你想籍此建立你的人脉关系,那就更扯蛋了,首先,你谈的都是技术问题,你有机会在大 领导面前露脸,但是没机会表达自己的“优秀",更多的时候你是在和业务人员打交到;其次,对方领导不可能太能记住你,比起你所作的PPT而言,你的脸容易 忘记多了;第三,和对方“真正接触”的机会少,嘛时候能现出人的本性?人说最好的交情有一个就是"一起打过炮",嘿嘿,俗了不是,那时你不在,不是商务在 就是市场在;第四,你的领导也记不住你,你又不直接汇报,领导可能能在某个场合恍然曰“此君能人也,某项目得赖君大力支持得以验收,赞!”,一杯酒的交 情,呵呵;最后,你还真没有那么多时间去揣摩人的心思,你更多的心思还在你的立国之本——技术上,小农经济的思想何时转换了,何时就是你出息了。
程序员是一个比较脆弱的角色,为啥这样说啊,程序员心理防线低啊,我本将心照明月,明月何曾照沟渠,呵呵。对技术的敏感是对的,但是这个敏感性好像无处不在,一句很受伤就可以概括,没辙啊,难不成学oerlord里面的,指挥小红小黄小蓝揍他丫的?哈哈,YY吧。
最后说点正面的,如果你真的还要当程序员或者你没办法只能当程序员(就像我一样),首先要明确,工作只是你生活的一个部分,不是全部,实话说,从04年以 后,我投入实际工作的时间最多到60%,已经没有那种百分百投入的激情了;其次你要明白在整个集体中,你个人的能力不可忽视也不可视之过高,项目的生死存 亡和你本身没有太多的关系,本分则以,矫枉过正亏身体;再次,如果要靠写程序当程序员挣钱,就要忍得,公司除了程序员这群单纯的家伙还有不单纯的家伙,要 被人挖坑自己哭还来不及呢;最后,如果你执意要当程序员,你要明白,程序员是一场苦修,你最好把它当成你的乐趣,否则你会烦死。
我是出不去了,不管我在什么样的位置,这些年根深蒂固的思想左右了我很久了,现在我就像修苦禅一样当一个不是很称职的程序员,对我来说,程序员是完成我自 我修养的一个过程。我没有后悔选择这个职业,因为那是一个必然,只是奉劝那些热血青年,不要过多的相信这个行业的光辉,99年我在厂里,一月400大 洋,2000年我当程序员,一月1.7K,差距很大,而现在,我原先的厂里我那些哥们姐们官也当了,工资也到5K了,所以路有很多条,选一条别后悔的路 ——就是那条你选了就别后悔的路。人TM一辈子真正的就只有30年供你支配,完成你自己吧。
http://www.loveayang.com.cn/post/2007/11/20/e58d83e4b887e588abe5bd93e7a88be5ba8fe59198.aspx