如何有效地帮助新人融入项目中

        今天看了《布道之道》,里面有些提到的很多经验的确很实用。不仅又想起了,在刚刚参加工作时,在第一家公司里就进行了如何提高沟通效率的培训。当时很多都以自身的经历,说明了沟通的重要性,也分享了一些沟通技巧。前几天,有新同事加入到项目中,来参与其中一个日志分析软件模块的开发。这次,我并没有亲自给他讲解,而是让之前参与到这个项目的另外一个同事给他讲解。我只是在一旁静静地听他们之间的交谈,同时我也在思考如何可以让新同事快速地融入到项目中。

        新同事的学习和领悟能力自然是非常重要,然而一个好的“师傅”能够带他进门,也会极大降低学习的门槛。在这里,分享一点自己的心得,我一般按照下面几步进行介绍,而我自己在进入到一个新项目中一般也是按照这几步进行学习的。

        一、项目背景

        在这个环节,我会介绍为什么会有这个项目,项目的目标是什么,当前的状态以及项目组的组织结构等。这里,一定不要忘记把当前的产品展示新同事,使其有一个直观的印象。

        虽然我们都是搞技术的,但是对于一个新同事,一上来就直接深入细节而抛开项目背景,显然是不合适的。因为,一个人是否可以把事情做好,除了取决于他的技术能力;还和他是否对项目或者业务方向有认可度,是否愿意投入精力去用心让项目成果。如果一个人对项目本身的目标都不认可,怎么可能会做好呢。

        二、技术介绍

        介绍了项目的相关情况以后,对于有经验的开发者来讲,一般都会在脑海基于原来的经验有一个大致的实现思路。那么这个时候,就可以介绍项目开发用到的技术有哪些,这些技术大概都用在什么地方。

        以上两个方面都是从宏观的角度进行总览,下面就要深入到细节中了。

        三、工程目录结构

        在这里,我可能会打开工程目录,介绍工程的组织结构,每个文件夹以及某些重要文件的作用。对于有过类似项目经验的同事来说,相对比较容易理解,而对于经验相对缺乏的同事来讲,可能只是有一个简单的印象,还需要在以后的工作中不断的加强印象。

        四、功能分解

        虽然很多项目大致相同,但是还是有很多细微差别之处。这个时候,我就会拿一个具体的功能,从页面到控制层,再到服务层,在到数据层,最后到数据库,完完整整地讲解一遍,把相关的代码文件都串起来。在这里,尤其要告诉新同事,如果添加一个新功能时应该添加、修改哪些文件,这些文件之间的对应以及调用关系是什么样的。

        经过这一步,即使经验不是很丰富的新同事,也可以照猫画虎,做出一个简单的功能。

        五、发布测试

        功能完成以后,自然是要上线测试的。一般情况下,在项目中都会生产、演练和测试等几套环境同时运行,本地编写和测试完成的代码,还需要发布到测试和演练环境中进行测试,确保更改有效。于是就需要,告诉他打包、发布和测试的步骤。

        六、问答

        在上面的五步中,肯定会有一些问题积累下来,这个时候就可以对这些问题进行深入讨论,加深对某些部分的深入理解。如果有些问题,我无法解答,就会带他找到这个方面比较有经验的同事,进行请教。

        作为当代的程序员,我们不但要会写代码,更要能够把我们的经验传播出去,那么沟通能力的提高就是很紧迫的了。

        【补记】这些天很多朋友看到了这篇文章并且给了评论,十分感谢。也看到很多朋友在说,自己进入一个公司时,没有人带。其实遇到这种情况,我们更应该换个角度看问题。毕竟是在公司里每个人都有自己的工作,也许压力还非常大,所以人家带我们是我们的荣幸,人家不带我们也没有什么可说的。这个时候正是体现我们学习能力的机会,那就让我们好好把握这个机会,好好表现自己吧。

         另外,作为过来人,我想对这些过来人说一句,多给新同事机会。在帮助新同事的同时,也是提高我们自己能力的时候。

时间: 2024-09-19 21:18:01

如何有效地帮助新人融入项目中的相关文章

浅谈游戏化在保险项目中的实践

引子 虽说是关于Gamification游戏化的实践分享,其实也是两年前做过的项目了.之所以现在才写出这篇实践分享,也是源于最近看<MacTalk人生元编程>中提到的使用智能手环对思想和行为的改变:"用这玩意的另一个好处就是,如果需要徒步去做点什么,以前的反映是'我了个擦,怎么这么远'.现在的反映是'好,又可以增加几千步了'". 这让我意识到,这不也是游戏化嘛,只是不局限在和在线业务结合紧密的领域,但却更深入地改变了我们的生活习惯. 言归正传,游戏化是最近几年比较热门的一个

作为一名Java程序员,我为什么不在生产项目中转向Go

自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript的开发者可以义无反顾地选择Node.js,但是对于Java开

列举一下项目中使用的产品和技术

浏览器兼容水平: IE7-10, Firefox和Chrome最新版 开发环境: Windows7+Visual Studio 2010+Oracle TortoiseSVN+Subversion 项目和Bug管理系统 禅道.--一款国内开发的项目管理和bug管理系统. http://www.zentao.net/ 生成环境: Windows Server 2008+IIS7.5+Oracle+.NET(MVC3.0) 需求分析 Enterprise Architect 90天试用版.在学校做课

cordova-Navtive App项目中 使用Cordova Embedding WebViews

问题描述 Navtive App项目中 使用Cordova Embedding WebViews 请问有人试过在Navtive App项目中 使用Cordova Embedding WebViews 吗?就是单纯的想要使用Cordova/PhoneGap提供的 js & native Device API communication ~ 所有想要开一个WebView 使用Cordova框架,使得里面加载的页面可以使用js完成底层的交互按照官方4.0.0 版本去做了 http://cordova.

asp.net-ASP.NET web项目中GridView选中行样式中如何切换选择按钮的图标?

问题描述 ASP.NET web项目中GridView选中行样式中如何切换选择按钮的图标? 我用的ASP.NET 4.0开发的网站项目,GridView控件中选中行的样式,启用控件自带的选择按钮, 想实现选中一行,该行的选择图标按钮会自动改变图标,如何才能实现动态更换CommandField的SelectImageUrl? 在SelectedRowStyle中指定cssclass可以实现吗?这种前台的样式脚本中,能获取GridView的CommnadField控件对象吗? 如有成功的同行能够解答

ios支付宝支付集成到项目中x86_64的错误

问题描述 ios支付宝支付集成到项目中x86_64的错误 解决方案 http://blog.csdn.net/m372897500/article/details/45790689

大数据-spark能在WEB项目中使用吗?

问题描述 spark能在WEB项目中使用吗? ssh的web项目中想使用spark大数据分析,导入spark的jar包 在初始化sparkconf时报求助啊.............大神在哪里 解决方案 用法有问题,根本不是包的问题.spark更像是操作系统,你的调用是在其上的,而不是平行调用以为加个包就可以了

apache2.2+tomcat负载均衡在SSH2项目中session无法共享!!!!!!

问题描述 apache2.2+tomcat负载均衡在SSH2项目中session无法共享!!!!!! 使用apache2.2和三个tomcat实例在同一台机器配置负载均衡成功,基本软件:apache.2.225Tomcat8.0.20Tomcat-connectors-1.2.40使用如下Jsp页面时显示session要以复制且sessionId相同,但是加载实际SSH2实际项目,则发现session丢失且每次都创建新的session请有类似配置经验或解决方案的同仁不吝赐教!<% HttpSes

方法-JAVA项目中做登录加密操作

问题描述 JAVA项目中做登录加密操作 在项目中做用户登录操作,如果一个陌生人随意乱输用户名和密码,假定正好输入都正确(数据库中已保存的),为避免此类问题发生,要对登录做加密,使用MD5方法是不是比较好,是否还有其它好的方法,谢谢 解决方案 因此,作为这个用途,那些不可逆的散列算法都可以达到这个目的,比如MD5.SHA1等等,以及它们的变种,比如两次MD5,加上一个随机数再MD5(俗称加盐).为什么要变化?因为人们将常见密码和MD5存入一个很大的数据库,所以反插起来很容易. 解决方案二: MD5