四年前,我还是个刚刚参加实习没毕业的学生,跟着老板学到了好多东西。而现在我离开校园工作了差不多快两年。在工作中,除了不断自我学习,网上搜索答案,很多时候也得到前辈同事的指点和帮助。当他们开始写代码的时候,我可能还在上初中,他们的经验和经历可能各不相同,而我要走的路也不会跟他们完全一样。但是身在同一个行业里的同一种职业上,他们走过的路也多少让我了解,在哪条路我能奔跑起来,在哪条路上我会陷入泥潭。
进公司第一个接触的是N,因为公司是个创业型公司所以他虽不是创始人之一,但也是元老,所以整个Engineer部门都归他管理,也是他拍板说可以HR才招了我加入。N的技术能力我无法评价,因为很少看到他写代码了。但是从版本历史上都可以看出原始的基础代码都有他的名字。而现在N不需要再自己亲自动手解决技术问题,一般是在讨论中他提出建议由我们去尝试或者反驳。凭着N的经验多数情况下,我们还是从他那里得到了更好的解决思路。
我最期望能从N身上得到的能力,是他那极富有感染力和激情的表达能力。每次会议讨论,N总是能用各种方式激励我们去完成目标,把一件平淡的工作描述的能为公司创出无与伦比的价值,为我们展望项目的前景是多么的乐观美好。他总是能把差的讲成好的,好的说成优秀的,优秀的道成杰出的,而带着的理由也总是可信服的。比如你们做的东西是公司希望开拓的新领域,要是做好了公司用户数和价值都会翻倍(做不好你们就是被白养的部门);公司标准比较高,所以做差了也是平均水平(做差就不好谈加工资);虽然业绩不错,但是同行业的比我们做得还更好(奖金水平是恩赐了)。这可能就是管理者所需必备的能力吧。而我则最缺这项能力,常常无法表达内心的想法和期望。我只能期望这只是因为我的英文水平还没有达到流利的水准,毕竟我不胆怯用中文做演讲。请不要被额外的文字所误导了,个人觉得公司的薪资和福利水平在同行业中应该还是处在较高水平的。
做为领导者,N也具有非常好的远瞻性,会打破现有结构去尝试新的方式,我之前所在的组也是在他的倡导下成立的。可惜诸多原因我们的组差不多以失败的方式结束。我想我们的能力还没有达到能快速实现N期望的目标是主要原因吧,在工作中我们总是在边学习边尝试再实践,花很多时间建立又推翻,能力和经验的短板使得项目进展缓慢且没有成效。当然N提出的目标也略过于创新和超前,若是以相对保守的方式进行开发,相信还是可以得到不少成果。不过对于我们个人来说,在不断的摸索中得到了不少的成长。
在日常的工作中,我会和O接触很多,因为他是公司的架构师,许多技术问题都需要跟他进行交流和讨论。英语也不是O的母语,所以每次跟O谈话都要仔细分辨他说的内容排除他的口音。但是因为O都已经是有身份的人了,年份长得足够他能流利地用英语表达出想说的话,只是有点口音,但这一点也不影响理解。
作为技术型的人员,O自然让我感受到了他技术能力的多样性和全面性。从后台到前台,从关系数据库到键值内存存储。作为很早就开始编程的“老人”,他习惯用终端的vim来写代码,使用指令比使用鼠标更顺手。找他进行代码审核总会得到很多在优化方便的建议。有什么技术难点和问题,跟O讨论之后我也会得到很多启发,找到需要去扩展的知识,或者可以使用的技术,异或被告之这个很难实现而不用浪费时间在上边。O为我们之前的组所做的项目搭建起最基础的技术架构和工具,而我们可以说主要只是在为的架构补充缺失的边角,以便整个结构能够顺畅的工作。但是因为交流的缺失,以及对他所设计结构的不够了解使得最后这个结构似乎有些偏离轨道而变得越来越复杂。
虽然工作上边O是“老人”,但是生活和年龄上他明显还是年轻人,而且是让我这个年轻人非常羡慕他的生活。O非常喜欢车,而且很喜欢赛车,他上班会开保时捷911,跟他谈论中还知道他周末还会去开竞速赛车,当然是在正规场地上。不过去竞速也只是在O的太太带着他们的女儿回国的时候才能去。我似乎从没有见过O请假,即使是他回到自己的祖国也是Work from Home的状态,所以看版本历史有时还能见到他半夜里提交了代码。
在之前的组,K是组里的Leader,英语不是他的母语但是在他的国家英语也算是官方语言,所以K在表达上非常的清晰流畅,更难得的是他说话没有严重的口音,因此很容易就理解K下达的任务。这也说明要想成为一个管理者,交流能力是极其重要的因素。K工作不长,值得肯定的是K解决问题的能力很强,总是能很快发现问题,并很快的执行解决方案。但我并不愿意去学习K的能力,因为每次他展现给我的总是比较迁就性的解决方式,用领域的话就是:Hack it。比如这个呈现出问题了,就加个标记变量跳过导致这个问题的特殊情况;有些数据错了,就直接将数据补充在代码中。这样的方式,对于解决突发问题是非常的有效,很需要能够这样救场的能力。但是对于长期开发而且则提高的维护的难度。好在K不需要做长期开发任务,因为这些是我们这些手下要去做的。
K作为领导者,绝对是值得我尊重的团队领袖。对于喜欢钻研技术的我,通常要做的是知道什么问题要怎么解决,但我并不知道有什么问题。而K就是那个提出问题的人。K会列举项目中所需完成的任务,预计完成时间,并总会找到最合适的人去完成特定的任务。K不会催着我们去尽快做完工作,总是会在截止日的期限上又给一定的缓冲时间,比如说一周要完成的就多给两天,计划一个月的就多加一周。即使上头逼迫希望能在短的时间里完成,K也会以合理的方式抵挡下他们的请求,而且因为他有强力的表达能力,总是能为团队求得更好的利益。要是换成我,肯定就是老板要求,我又不知道怎么表达不同意,只能自己苦命加班加点完成任务。
N,O,K虽然都在同个公司的里,但是他们的工作方式都不相同。N经常会很早就到公司,很晚才走,作为公司高层需要牺牲很多个人时间,但是N也是我看到请病假最多的了(因为病假都会发邮件告之不能来),看来工作和健康有着反相关;O习惯晚到晚走,常常下午才来半夜离开,作为技术型员工,需要的只是他的技术支持,大多技术讨论也多安排在下午,而晚上更需要他来应对突发状况;K则是晚到早走型,因为作为团队领袖,就是让我们知道去做什么,检查下完成度,只在临发布前才需要在公司多待一下,所以跟K做事的时候基本上午饭前和晚饭后都是我个人自由时间。
N,O,K在我看了都是很风光的人物,三十上下一个领导公司走向,一个掌握技术命脉,一个决定团队成就。对比我还是个在学习摸索挣扎实践的牛犊,只能感叹路这么长我是该慢慢走看看风景,还是赶紧跑上前再回望风景。不过跟N,O,K一起经历了上一个项目的失败,我也能感觉到他们有时候也很无奈,因为他们其实也只是公司的员工,他们的决策和成效也受到更高一层的影响。项目失败N作为发起人并没能靠这个项目为公司做出期望的贡献,也因此在公司这一年扩张之后N没被提升职位,虽然他是最早进公司的人员之一,但是对K的评价是听创始人的,从这个角度看K其实也跟我们一样只是公司的一员;O为整个项目贡献了很多的技术,但是最终这些技术没有被使用而是被完全抛弃了,接下来O需要做什么的技术探索也需要听从公司的需求来完成,O并没有太多的自由度去尝试一些可能会对公司带来帮助的技术,也可能完全没有用,这种风险和时间的浪费是无法承担的,虽然能预见什么技术能为公司带来效益是最好的事情,但是多数时间也只是公司需要什么才能去做什么;K在项目还没有结束的时候就离开了公司,作为非本国公民带来的身份问题让他不得不离开创业型公司去寻找更稳定的公司来解决身份问题,即使新公司的任务,K在公司得到的评价是优秀的,无论在哪个组他都能带来非常好的成效,也会得到应有汇报,但是有时候也不得不为了长远的个人利益损失一下当前的集体利益了。
如果我一直在这个行业里走下去,相信N,O,K可以给我指引了不同的方向。无论将来我会走到什么样的位置,他们都值得我学习:N会为手下人员着想,尽量争取员工想去的岗位给员工,也会给予最大的回馈,当然N也不可能每个人都关心专注着;O乐于分享技术经验,能清楚表述他所做的内容的思路和结构,会非常耐心的讲解技术和解决方案;K是带领团队前进,而不会推着团队向前,他能合理安排任务,预估任务周期,让成员在轻松的氛围中完成项目。当然我应该也会走出不一样的路。
加油:D
作为程序员来Follow一个,在京的一家创业公司。都加油吧,即使不可能一样!
可能这个评论发的有点晚了,但是对于新人来说,其实吸引力最大的应该还是学习。“对比我还是个在学习摸索挣扎实践的牛犊,只能感叹路这么长我是该慢慢走看看风景,还是赶紧跑上前再回望风景。”至于你说的这句话可能我有点不太理解,我觉得享受这个学习的过程其实就是等于在看风景吧?从你文章看,你也已经看到了很多,想到了一些东西。我觉得你自己是不是已经有答案了。XD