我是黄小豆,在一家软件公司从事一线开发岗位有三年之久了。纵观我的项目经理和更上层次的各种经理都是从我们一线开发人员队伍中升华的,据我统计我所在的群体一年至少要帮公司完成三到五名的“领导造人计划”,这让我无比骄傲。我最大的梦想就是我也能从一个一线开发人员华丽地升级为各种带有经理头衔的职位。我在默默地等待着“领导造人计划”向我招手,只不过已经等得花儿都谢光了。
(一)“领导造人计划”
按照我的理解,软件公司开发部门的人员如果按技术垂直分层,大约有以下几个层次:
部门经理。统筹全局的人物,以考核、考勤、报销为主要手段掌握着全部门人员的生杀大权。一般部门经理在我们心中有两个极端形象:一种是当他离职时大家都会含泪送行;一种是当他还在位时大家路过其办公室经常会莫名产生一种冲进去掐死他的冲动。
部门副经理或高级项目经理。这些人一般都是业务骨干或技术骨干升华后的产物,由于其技术天赋或者丰富的从业经验逐步上升到这个级别,不过有很大一部分人是因为管理能力实在太一般,到了这个岗位后从此停下了前进的脚步。
项目经理。公司的核心群体,大家都认为项目经理是最重要的,没有好的项目经理则一切产品都是浮云或逐渐会变为浮云。
一线开发人员。这是我最想说道两句的层次,我认为公司真正的核心群体应该是一线开发人员。原因在于各种项目经理、架构师、部门经理其实都是从一线开发人员慢慢打磨出来的,要说核心我们这个群体才是产生一切的基石。
三年前,我进入了这家规模不大但是在作为三线城市的当地来说已经算得上位列前三甲的软件公司。其实最早我应聘的岗位是软件实施,不过没想才过了半年,可能是我学习能力还行吧,加上又有点Java开发基础,我被项目经理推荐成功升级为一线开发人员。
在大学我学的是当时最为热门的计算机专业,实习的时候也算有那么两到三个开发项目的跑龙套经验。到了正式找工作时,我拜读了博客园、CSDN以及国内外知名IT平台中各种神一样的文章再加上我对自身技术能力的自我评测,不禁让我对是否能成为一个合格的程序员感到很迷茫很自卑,想着现在找工作也确实很难,为了不过早陷入囧途,就打算先从软件实施人员做起,万一这条路走不通立马回头也来得及,这就是年轻就是资本的最大原因。
人常说初生牛犊不怕虎,这也是为何很多公司对大学生恨完之后又爱的原因,从踏入岗位开始我就非常努力地工作,尽管我承担的只是软件实施——技术含量较低的工作,不过我始终保持着极高的工作热情,仔仔细细地把每件事情做好并力求完美。譬如有一次项目经理安排我去客户那部署软件外加客户手把手培训,我不光顺利完成了本职工作,还在安装软件时极其偶然地发现了软件中若干bug和用户体验不佳的地方,同时通过培训和客户尤其是女客户保持了良好沟通。我那时对程序员的概念是:冲锋在一线的代码人员。而我,黄小豆的目的只有一个:成为一个真正的一线开发人员。
(二)围城
功夫不负有心人,三个月后在一些经常收到我提交bug的开发人员“仇恨”的目光和项目经理赞许的目光双重照射下,我被调去了传说中公司薪水最高的部门——开发部。我为此手舞足蹈地兴奋了很久。
不过一段时间下来我发现一线开发人员并没有我想象的这么美好,长年累月地加班、无法拒绝的出差、客户无理甚至变态的需求变更压得我们喘不过气来,我们部门每个月都有人离职,大部分人原因只有一个:太辛苦、太累,忙得连上大号时都不敢太过于放肆。“年轻就是资本”再次体现在我身上,这种工作强度我姑且承受住了,有时想想看在高薪的份上再忍一忍吧。
不过经过我后来仔细分析和比对发现,薪水高不高并不是只看短期内获得的具体数值,而是要综合你付出的劳动和得到回报的比例同时还要乘以时间系数。这里举个例子,譬如我公司女前台的月薪是1800,每天工作八小时并且从不用加班、不用干到猝死临界点或大脑产生迷乱的感觉;而我一个月到手有4000,却经常干到猝死边缘,晚上加班加到精神错乱,有时半夜下班回家途中经常怀疑是否被女鬼跟踪。在这个前提下我们假设两者都还能再干三十年,但是我再干十年后很可能已经猝死了,套入上述公式乘以时间系数后,我的薪水平均额根本没有前台高。
在我们公司,一线开发人员的概念要比很多大公司缩水很多。譬如面对公司新接的一个开发项目,部门经理会临时召集几个开发人员组成一个开发组,由项目经理分配开发任务,紧接着便进入满头大汗的干活环节。这里大家要问设计人员呢?文档人员呢?架构师呢?我想说你美国大片看多了,小城市小公司没有这些元素,没让你从头到尾干到虚脱已经很进步了。
说到这也许会有朋友喷我是一个一线愤青。其实倒也不完全是,为了在一线开发岗位中坚强的生存下去,我们必须要学会与其磨合,而自己的综合能力、所处的环境以及机遇决定了我们磨合期的艰辛程度,往往这段磨合期的过程无比痛苦,最后的结果也并不快乐。一个项目从兴奋地立项到高强压力的开发过程再到无聊地草草完工直至甩都甩不掉的bug修复,经常让我们莫名的产生迷失感。
在这里,千万不要告诉我一线开发比其他岗位更能让我们学到某些具体的知识。从长远来讲这些具体的知识点都是不保鲜的,因为我们不管从事什么岗位都能短暂的吸纳很多知识点临时充斥我们大脑,这好比某个程序员通过多年的项目经验积累逐渐成为了Java熟手,于是他下结论:“工作就是为了学习更多的Java知识。”多年后如果这位程序员要转型做管理或自行创业或转行,这时他会发现这些具体的知识点在他将来涉及面更广的道路上能起到的作用微乎甚微,所以我个人觉得更重要的是要去学一种工作方式技巧、完善为人处事风格和提高职场综合能力而不是某些具体的知识点。
前段时间看到一篇关于“高价切糕”的新闻,貌似调侃说目前世界上最贵的不是石油而是切糕,其实从我这些短暂的工作经验来说,卖软件和卖切糕很类似,我们用冒着猝死危险洒下的辛勤汗水调配着诸多业务功能和数据并把其最终压缩为一个软件,卖给客户的价格可比切糕贵多了,切糕至少还论斤两,软件没有重量,都是卖主自行报价。呵呵,跑题了,不过我这里想说的是,一线开发人员在某种意义上就是切糕制作者,真正的切糕不会把自己卖出去,而我们必须把自己压缩进去“切糕”才能卖出好价钱。
一个单元年又要过去了,我再次进入了迷失世界,作为还拼死坚守一线开发岗位的我忍不住想吐槽几句:
房价不再让我心跳相反让我感到窒息,距离我成家立业又进一步遥远了。修炼自己的心态就不要怕生活磨难,时间久了必然能掌控自己的情绪。这句话你无法主动实现,只能被动接受。
每个月的工资虽有上涨,但是上街买块切糕还是忍不住要还价一番。
我昔日一同奋战在代码一线的同事辞职开了家网店,月入两万,我眼红却只敢滴眼药水,因为咱不是那块料。
学不完的知识和技术,完全被客户主导的学习方向,前段时间客户要求潜移默化地升级软件,老版本竟然是VB6.0写的,这让刚刚搞明白Android的我们一头猛扎到VB中去。
想转型。但我告诉大家这并不容易,上面说了能力、环境和机遇是并存的,尤其是环境很重要。离开我家几千公里的深圳某企业要招我去,可是父母在不远行,根本去不了。
想跳槽。我们大多数程序员是很重感情的,老板一忽悠,誓死追随的心油然而生。
想自己开公司。回到第一条反复朗读数遍,不是所有人都能先立业再成家的,成家的压力在三线城市高于创业的压力。
说到这,其实摆在我面前的就一条路——继续走下去,不管有多艰难,还是要走下去。前阶段打篮球把右手崴了,很肿很严重,连续一周只能在系统设置中把鼠标习惯更改为左手并开启Windows中的某些残疾人特殊功能。
我想,还有更多一线开发人员比我更囧,至少我现在在自己的家乡,不用付房租;家乡足够小所以不用上个班都要挤很久的公交车;还有打车起步价只要9块,想想上海的14块吧;至少我还有两个对未来充满憧憬的组员跟着我混,他们都在你争我赶地要超越我;至少我每个月的工资足可以买几十斤切糕果腹。想到这,我豁然开了朗。对,继续坚持,等再过几年,能力够了、人脉够了、经验足了、经济有一定积累了,也许我能走出这囧途创造更美好的明天。