软件人生之这些年做项目带新人的经验总结


上班时间写个人博客随笔的确会有些感觉到愧疚,项目组里的兄弟们都在努力干活,我却在娱乐,写写博客、休闲,拿公司的钱写自己的文章,的确是有些不好,以后还是少在上班时间写博客了,上班时间好好干活,拿公司的钱应该给公司干活才好,公司毕竟不是给我发工资让我来写博客的。

   这些年前后带过很多新人,仔细算下来估计有近100个以上了,每年大概带10人左右,把带新人的感受写下来供大家参考借鉴,由于我从来没有在一流牛B软件公司呆过,只能说是中下游的草民软件公司的带人经验了,总的来说,还算是规范的专业软件公司了虽然与世界知名的软件公司无法攀比。

01.不要指望成长过快、迅速见效
   首先不要指望新人成长太快、不要总是跟自己现在的能力比,我们毕竟是写程序有10年8年了,他们还刚毕业、刚进入这个行业,有很多应该知道的常识都不知道,当然也不知道天高地厚,想想我们自己10年前是什么水平?每个人的提高成长都需要漫长的、弯曲的折腾着前进的漫长路程,拔苗助长是未必都能见效的、大跃进理论上是可行的实际是残酷的,脚踏实地一步一个脚印才是真,再说了,牛人还会来我们公司打工嘛?早被牛公司盯上录用了。

02.嘴巴讲没用、要真刀真枪实际例子
  不要以为给他们把事情都讲明白了、详细要求都提好了,他们就可以做出来了,他们不是老员工、不是高级程序员,要在纸上给他们画清楚页面详细效果,每项注意事项都记录好,不光这些弄好了就可以了,还要给他们找个实实在在的参考的例子程序复制粘贴,他们会更容易上手完成工作任务,说白了你自己做比他们还快,但是他们总需要一个成长的过程。不可能是一步就博士毕业了,还得从幼儿园、小学、初中一步步进步,他们毕竟是实习生、新员工。

03.要靠培训、规范、公司的规章制度来约束
  不要指望那些简单的道理他们都懂,你要把他们当成傻瓜,给他们仔细的上基础技术知识培训、例如管理方面的常识,然后让他们每个人都讲解一遍,确认他们真的懂了,公司的行政管理上的规章制度、薪资制度等都最好培训一下,我们部门是每个人把公司的规章制度打印出来读一遍,然后签字,表明他们都已经了解了这些,当然我们更以技术上的培训为主。

04.每天安排明确的工作任务、完成的工作任务及时检查验收
   时间是宝贵的,活了一天就是少了一天生命,而且是很多人浪费一天,那对公司来说更是残忍的事情,每天都需要布置明确的工作任务,每次布置任务后,你不要指望最乐观的效果,要指望最糟糕的情况,就是你自己动手做绝对比他么快5倍以上,但是还是要让他们自己折腾折腾,给他们及时检查程序、修改程序,然后让他们做纪录,给他们讲解为什么要这么写才对。
  工作任务越细腻越好,你总不能给一个新来的,3个月,做一个进销存,那是不实际的,或者1个月做一个OA出来,若真的这么好管理,那公司养你干啥,早让新人来替换你的工作岗位了,新任更听话、成本更低。
  没有检查验收通过的工作,都可以视为0,因为很可能全盘被推倒,或者帮的是倒忙,开发人员往往说开发了90%了,接着还有10%的工作,但是后来发现,这个10%才是真正的90%,因为后面花了9倍的工作时间,才真正把这项任务完成,所以我从来不相信开发人员报的进度,我只会当个参考值,真正检查验收过的,才是真正的进度。

05.新人是不稳定的,进步最快、最聪明的新人往往是最早离开公司的
   新人随时可能会走,他们身在本公司总会觉得另一个公司前途更好,工作环境更理想,薪水待遇会更高,或者已经学到足够的本事了想闯闯看,看看外面的世界是不是更精彩,他不会知道天下的乌鸦都是黑色的,不来回折腾几个公司消磨几年时间,总会觉得有梦想中的理想工作。最聪明能干的新人,一般是最早会辞职跳槽的,我们一般希望走中庸之路,这些员工一般才是最稳定一些,甚至是最不聪明的员工是最稳定的,以为他想跳槽也跳不了,由于新人的不稳定性,所以不能把核心的工作安排给新人做,他做了一半拍拍屁股走人了,你说找谁擦屁股呢?

06.新人实际工作需要.NET他们会觉得Java更有前途,工作需要CS,会觉得BS更有前途
   你让他们用SQLServer他们会觉得Oracle更有前途,让他们用Oracle它们会觉得MYSQL更牛B,你让他们写.NET程序他们会觉得学Java更有前途,你让他们做B/S他们会好奇C/S系统,他们会觉得你没在做的那个技术含量更高,更有前途,你想让他们搞东他们会想搞西,甚至想研究Linux系统才是牛B的、收入才会高,好奇心强,定力不足,没有稳定的立场。
   新人、甚至是公司的老员工,对公司的开发平台都没兴趣,敷衍了事的比较多,反而对其他公司的产品、平台更有兴趣,对国外的开源更有兴趣,但是学了,也没能力改进公司的开发平台,学会了,理解了,与能用,能改进,能整合还是有很大的差距。

07.新人容易受环境的影响
   新人怎么带,他们就会变成什么样的,自己稀里糊涂,跟着你的新人也会稀里糊涂,你努力拼搏,新人也会被熏陶,一个公司的文化气氛是什么样的,新人也会被改变成那样的,这就是所谓的入乡随俗吧,有些公司5:30一下班,工作任务有天大的重要事情还没解决都走人的,新人也会觉得5:30了下班是天经地义,整个公司都可以上网聊天看新闻,新人也会觉得这样是天经地义,一般第一个工作影响人的很多方面,若第一个公司很厉害,一般这个人未来的几年也会蛮厉害的。

08.公司需要有个稳定、高效、快速开发平台、文档库等
   若什么事情都能依赖新人做好,那真的软件公司,想什么时候开就什么时候开了,招聘20-30个新人,学过IT知识的,那就每个人安排合理的工作岗位就可以开软件公司了?没那么简单,一般软件公司走上正轨的道路,一般会烧1000万左右的学费,这也是正规软件公司的门票钱,烧了这些钱了,老板也就明白软件公司怎么开了,这不是我讲的,我一个朋友跟我讲的,我仔细想想,也的确是有道理,我的好几个老板,烧的学费,可比这个数目多多了。
  公司的开发平台,相关文档等,当然还有其它的,都是靠钱烧出来的,这一般不是短时间能积累出来的,就算快速堆积在一起了也很坍塌的。

09.一个人一般带3-5个人是比较实际的,不大可能一次性带几十号人
   人的精力是有限的,往往日常工作中还需要处理很多事情,自己手头上的事情需要做好,同时需要分配布置任务、分析系统、与客户打交道、与其他部门、领导打交道,还要进行日常的管理工作,再额外带几个人,已经是很累了,还要保障带的效率要高,能做出成绩来,一次性带几十个人,是不太实际的,除非你专心做培训,其他事情都不干,还有希望的。

10.新人往往停留在表面,无法深入到细节,不喜欢做重复的劳动,喜新厌旧,虽然做东西快,质量上不来
    新人往往会做几个页面了,重复的劳动就不喜欢做了,但是做出来的软件里,会有很多Bug、会有很多书写不规范、思路不严谨、程序漏洞、运行性能问题、效率问题、代码的质量问题等等,你提醒他们多了,自己烦,新人比你还反感这些,这也算是让人头痛的事情。
    新人很容易蜻蜓点水,了解了表面很浅显的内容,就以为自己很懂了,不原意干重复的劳动,更不愿深入进去,当然更不会为某件事情,某项工作负责到底的,一般是会中途放弃或者经常换来换去,前几年很容易啥也干不出来,也能骗几年的工资。

11.新人喜欢学习,但是不喜欢工作,往往学一大堆与工作无关的知识
   新人往往都喜欢学习,工作时间学习、休息时间学习、周末学习、晚上学习、中午学习,但是都不知道在学啥?学了是不是有用?其实学习就是为了解决日常工作中的疑难问题、为了解决客户的需求,需要引导这些人,围绕着实际工作需要展开学习,有目的有计划地学习。别说新人了,连有些老人也都喜欢学习。
  我曾经有个台湾老板,说得很有意思,你买书公司是不会给你报销的,那是你对自己的投资,你学厉害了,公司不是还要加薪吗?你上班时间不允许学习,先工作为主,公司不是花钱让你来学习的,是让你来工作的,学习是你个人提高的事情,跟公司的工作,暂时撤不上关系,公司以满足客户的需求为主。
  我一般除了学习英语外,技术都不喜欢学习了,工作上需要什么,我就学什么,跟工作无关的,求我也不学习了,我宁可休息,看看电影,甚至是静养也可以,学那么多干啥?我学了那么多,你给钱啊?平时的工作压力已经很多了,若没事干当然要学习了。

12.新人总会觉得在公司学不到技术
  做IT软件,其实是工地上的民工一样的性质,也是工人而已,其实没啥本质的区别,再说了,我们没能掌握多少核心的技术,操作系统不是我们国内的、数据库不是我们国内的、开发环境、编译器不是国内的,版本管理器不是,连像样的第三方控件也都是国外开发的。
  你说我们能学到什么核心技术?估计连javascript、浏览器、html 也都跟我们没多大关系,我们都是在用别人发明的东西,我们自己是没多少发明创造,用别人的工具平台、跟别人屁股后面学点儿如何应用的小伎俩、小技巧,再翻译一下国外的应用文章,就是蛮厉害了,可能这么想就悲观了一些,连很多HTML编辑器也都是国外的吧?
  大部分人,都是建立数据库、添加、删除、修改、查询、搞几个界面,把数据倒腾来捣腾去而已,能有多少技术含量?其实更多的是业务知识,更多的是看谁倒腾数据倒腾等更有道理、思路更严谨、更了解客户的需求更方便操作、页面更美观而已。

13.新人沟通能力往往会有问题、喜欢另立山头
   做公司的项目,与学习是2回事情,做个某个项目里的某个功能,需要注意的事情非常多,例如编码规范、引用的公用类库、程序处理逻辑顺序、检查项、版本控制器、基础数据、权限、日志、异常管理、多语

相关内容

    暂无相关文章

评论关闭