刚进入公司的程序员心情是复杂,浑身干劲儿的同时有对未来生活的憧憬,也有对陌生环境的恐惧,更有进入新公司的不知所措和迷茫。太多人只是知道要努力工作再工作,从而忽视了我们应该得到什么这个问题。
在很正规的公司里,比如大型企业,因为有多年的积累和良好的法律意识,针对每位入职的新员工会有套严格的流程。有些不太正规或者说制度不完善的公司则不会有很严格的流程,来保证我们得到应该得到的。无论身处哪种情况,我们都应该清楚自己的权力和利益,要有意识地加以维护。
我们应该得到的东西包括:
l 劳动合同书
劳动合同是劳动者与用人单位确立劳动关系、明确双方权利和义务的协议。劳动合同法规定,在用人单位与劳动者建立劳动关系的同时,应当订立劳动合同。
在此要特别提及劳动期限,劳动合同期限是指合同的有效时间,它一般始于合同的生效之日,终于合同的终止之时。《劳动合同法》第十九条规定“劳动合同期限三个月以上不满一年的,试用期不得超过一个月;劳动合同期限一年以上不满三年的,试用期不得超过二个月;三年以上固定期限和无固定期限的劳动合同,试用期不得超过六个月。”
l 竞业禁止协议
竞业禁止协议又称竞业避止协议,是对与特定的经营内容有关的特定人的某些行为予以禁止的一种制度。竞业禁止的限制对象负有不从事特定竞业行为的义务。说明白点,就是从A公司离职,不能去与A公司有竞争关系的公司供职。
根据《劳动部关于企业职工流动若干问题的通知》第二条规定:“……用人单位也可规定掌握商业秘密的职工在终止或解除劳动合同后的一定期限内(不超过三年),不得到生产同类产品或经营同类业务且有竞争关系的其他用人单位任职,也不得自己生产与原单位有竞争关系的同类产品或经营同类业务,但用人单位应当给予该职工一定数额的经济补偿。”从上述规定看,是否向劳动者支付相应的经济补偿是“竞业禁止”条款是否生效的前提条件,竞业禁止条款所限制就业的期限最长也不得超过三年。
l 职位说明书
职位说明书(也称职务说明书,岗位说明书)是通过职位描述的工作把直接的实践经验归纳总结上升为理论形式,使之成为指导性的管理文件。一般职位说明书是由一线经理来制定的,人力资源经理起到辅助的作用,主要是提供制定职位说明书的框架格式,并提供参考性建设建议。通常职位说明书为一式三份,一份为用人部门负责人保管,一份为员工自己保管,一份由人力资源部备份保管。
入职之后我们拿到的职位说明书会比公司在网站上登的招聘启示更详细、更有针对性,更准确地描述了我们之后的工作情况。
l 员工手册
员工手册主要是企业内部的人事制度管理规范,包括:上下班时间、加班及休假制度、周报制度、各种奖励制度、公司环境及周边环境介绍。好的员工手册是新员工的导师,它能让我们迅速了解公司和公司的相关制度。不好的员工手册,就像一张废纸。
试用期中的两种结局
进入公司之后,我们依然有两种可能的结局,要么安心好好干,要么感觉不对尽早离职。我见过一家公司,成立十年了项目做了无数,即没有文档,也没有保留完整的源代码,公司研发部没有在公司工作超过1年的程序员,这种公司不留也罢。
人有可能会说:“现在工作多难找啊!还不老实地待着好好干?”(这么说的其实多是我们的父母)。在他们的时代毕业包分配,一份工作可以干十几年、几十年,甚至一生。那时候强调的是螺丝钉的精神,被高度物化了,放在哪里就安心地干,把个人性格和特点压缩到很小的范围里,没有多余的空间,也没有多少自我,只要服从就OK了。好在时代在前进,与以前相比较,我们有了更多选择的权力。对公司、对工作我们都有权力说不,有两种结局自然也可以理解。
好的标准在之前的章节里提到的衡量第一份工作的三个法则:是否具有良好的企业文化、是否能为今后的履历加分、是否有不同的工作任务。
好的工作都能满足或者基本满足这三项原则,我们自然也会选择留下。再次祝贺一下自己吧!
可现实是残酷的,我们极可能遇到的情况基本不符合或者完全不符合这三条标准,比如:入职当天我们被丢进角落没人管,任何资料都没有拿到;被介绍给项目组成员后开始工作,接过来的代码因为没有注释而面临全部重写的局面,外加项目进度紧张,项目经理对我们大喊着要违约责任。怎么办?怎么办?要不要一走了之,还是坚持下来??
对这种负面情况的发生,请先作好心理准备,当然也不必急了辞职,用下面我提供给大家的三条标准再次衡量这个我们没那么满意的环境再做决定:
l 先看是否有引路人
绝大部分事情的成败都取决于人,项目再好人不行,最后也是没戏唱。进入公司之后,被安排进项目组,我们要有能力第一时间发现组里优秀的人,无论是项目经理还是部门资深同事。那怕只有一个,作为同组成员我们有向他们请教并得到指导的优先权。优秀的程序员和水平一般的程序员之间的差距可以从代码的质量上体现出来,有时候相差十几倍甚至几十。除了软件行业,再没有其它的产业有这种特点。从优秀程序员身上学习,缩短我们从菜鸟到高手之间所需的时间。菜鸟程序员成长到能独立完成项目要五年以上(根据项目规模和行业而定)真能如愿尽快提高自己的话,就等于延长了我们自己的寿命。别人需要5年达到高度,在高手的指点之下,我们可能只工花费3年或者更短。只要有值得我们学习人,那选择留下。毕竟工作机会可以再找,但英雄难觅。
l 再看项目实际情况
“项目本身没有市场价值,没有积累不能产品化,让公司走上良性循环”是最大的问题。
如果组里、研发部里没有能给我们引路的人,那接下来我们要看的就是项目的情况。相当比较的项目实际情况是这样的:代码没有注释、需求不明确、时不时有人跳出来瞎指挥,完全一团糟糕。话实话吧,这些都没什么,没有注释,代码可以推倒重写,需要不明确可以再和客户沟通把它明确,有人跳出来瞎指挥自然也会有人跳出来把这种人灭了。
但是,如果项目本身没有市场价值,没有积累同时也不具备产品化的可能,那基本上就没什么可看的了。
没有好导师、项目没前途的情况下,我们90%是应该拍拍屁股走人的。
l 最后看公司里的其它组
真满足以上两种情况,作为程序员应该也算是基本绝望了,可以离开了,但请先别急,还请再看看。我们能进入这家公司应该说双方都付出了成本,无论我们之前是否在职,是否因为这家公司而放弃了之前的工作(希望下次能提前擦亮眼睛),也不管是经过几轮面试进入的公司,我们都付出了时间和精力,在放弃之前务必要再做次努力,给自己也是给公司、给别人机会。
请再看下公司其它项目组。
如果只是我们运气不好,只是暂时被分在个没有高手、项目也没前途的组里,而公司有些组高手如云,项目前景可观,那就先安下心,之后尝试调组。当然,即使是这样也要更新我们的简历,给其它公司投简,开始找新机会。一旦发现转组(岗)无望,手里的项目又让我们难以忍受,那就没什么可犹豫的了,尽快离开。
最差情况是以上“三看”公司都不够看的,那我建议马上闪,集中精力找更适合自己的工作。因为成就感不能被满意,在这种差公司里连骑驴找马都是种痛苦。
进入新公司之后,如果整体感觉如之前预期的还不错,接下来我们要做的就是尽快确实立自己在项目组之中的位置了。
在工作中、生活中每个人都想实现自己的价值。即使是最初级的程序员,也想对组织、对团队有价值,以证明自己并非可有可无。如果公司有我们和没有我们对于项目来说没有两样,那就算领导不请我们走人,很多人自己可能也会去寻找新的机会,能证明自己的机会。除了金钱之外,我们还需要其它人的认可,以得到心理方面的满足。
如何让我们自己显得有价值?有价值的重要表现形势之一就是自己工作在团队中的不可或缺性,说白了吧,就是每个人都希望项目离开自己马上停工、公司离了自己马上关门。很多人嘴上都说,项目组离开谁都会运行,但不可否认,内心的深处,我们还是希望自己不在的时候项目停转,至少是转的慢些。
用以下简单的三个步骤,就可以逐步确立和稳固我们的位置。
l 苦干加巧干
很久之前,一位研发总监对我说过,他认为:每名研发人员的试用期都应该是至少一年,无论劳动合同上是怎么签的。因为只有工作了一年甚至更长时间之后,无论是公司还是个人才能比较准确地双方在彼此心中的位置。公司知道员工的能力如何,适合开发的项目有哪些,处世风格是怎样的;员工有判断 司的前景如何,公司能给自己提供什么样的发展空间,自己有在这里质量多少。惟有如此,员工有才有资格说自己在公司计划如何发展,要知道在此之前可能很多人并不了解公司的真实情况 。
刚进入公司的成长期里,我们要苦干加巧干。很多人在这个时期,疯狂加班,有的还为了项目连续工作几天,大多数情况下结果并不会像他们预计的那样好。因为个人精力有限,连续工作只会降低工作效率,而且以脑力劳动为基础的开发工作,也不是投入的时候越多效果超好。干的好,还要有了解项目的前提,成长期里我们并不十分了解项目。在不了解项目的情况下盲目往前冲,结果很可能是在错误道路上越走越远。错误的付出只能让我们离正确的结果越来越远。
苦干加巧干,才是成长期的正道。越是压力大的时候,越是应该停下来总结一下自己学习的知识 ,纠正自己犯过的错误,多与同时沟通了解项目情况 ,多向项目经理请教开发时我们遇到的问题。
苦干是为了积累,巧干是为了更快的提高。
l 阶段性呈现成果
初入职场者,尤其是研发人员容易犯的毛病就是:希望全部结果出来之后再向领导呈现,小到一个功能模块,大到整个项目。他们急于证明自己的能力,即我能做XX项目和开发。
这种情况有个很形象的比喻,就像我们做某个功能或者某个项目时,开始只跟客户口头了解了需求,第一次确认需求之后就闷头开始做开发,100%完成之后拿给客户看。做过项目的人都知道,这么干结果是什么,我们呈现的99%不是客户想要的。客户会报怨说,开发出来的东西并与需求相关甚远。
是开发的过程之中,开发人员不跟客户沟通导致了这样的结果。
我们的上级从某种角度上说就是客户。做项目的时候他们提出了需求,我们来开发,想有好的结果要做到阶段性呈现,而非只汇报最终结果。,到最后大错已经铸成,到最后什么都晚了。相同出发点向同相方向延伸的两条线,如果夹角是1度,开始时两条线的末瑞相距小于一厘米,随着线的不断延伸两条线的末瑞差距也会越来越远。我们做开发也是这样,开始时可能由于理解上的问题,与客户的相法有点差距,如不与客户沟通做及时调整,开发结果可能与客户需要之间就是天壤之别。
阶段性地让上级看到我们所做的东西,在及时纠正错误的同时,我们也会逐步得到他的认可。
l 有成绩要用数字说话
我解聘过一个程序员AA,此人在试用期里,因为干的不好所以被劝退。项目经理对我说,AA入职之后没有努力熟悉项目情况之外,上班除了聊天就是聊天,根本没有工做状态,也看不出具体水平和能力。我于是找到了AA当时的对话如下:
Leo:“在公司工作了1个月了,你认为自己干的如何?”
AA:“我干的不错啊,挺好的啊!”
Leo:“有没有事例能佐证呢?”
得到的只有沉默,随即我代表公司与他解除了劳动关系。相信,如果当时AA能举数字,比如:到公司之后熟悉了项目情况,开发了多少功能,下一步我准备怎么做,接着说出工作中的成功果,以此证明自己的实力,那我一定会帮他在部门经理处争取一个机会,继续试用。但很遗憾,他什么也说不出。这是因为他没做什么,而不是因为不擅长沟通。关于沟通,我之后会详细分析,内向和不擅长沟通是两回事,很多人把这两件事搞混了。
作为程序员,在刚进入公司,没有得到公司认可的情况下,能否能用数字把自己的成绩说清楚,是成功与否的关键。这很大程度上决定了,我们用多久能竖立自己在公司、在项目中的地位。
隔一段就总结自己的收获,写了多少行代码,记录下来随时备查,即为了给领导说明问题,更重要的是能让我们自己感受到成长的快乐。