论坛首页 软件开发和项目管理版

软件公司技术培训的探讨

浏览 5402 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-02-21
Sing 写道
对于软件公司的培训,一直是让我比较头痛,2007年组织了内部培训十几门课,约50个课时,培训了1000人次左右,主要包括象ajax,appfuse,xml,ee5,spring,设计模式等方面,这属于内部培训,由公司内部的讲师来讲的.
还组织了外部的培训,专门聘请了架构师来做架构培训.
但是效果却并不是很好,希望有好的培训经验的朋友能够提供一些帮助.
企业的软件培训怎么做才能更有效率.或者谁培训做得好的,我们公司也可以付费,请过来做培训.


这个也是我一直在思考的问题,下面是我的一些想法。
1) 培训目标。不同培训目标不一样,目标决定了培训内容,培训组织方式。比如培训具体技术,目标是要求培训人员实际掌握这项技术,能够运用于实际工作中。那么要求培训人员现在带电脑,而不是去听,和主讲人一起编码,做实验。哪怕弄通了一个demo,也比一直听着不动手强。掌握了知识,通过实践,才能转化为技能,我们一般都是需要的员工能够通过培训掌握技能。对于需求,设计这些技能一般是需要经验做积淀的,没有那个经验,培训只能说扩大了知识面。所以对这类培训,目标就定位在对工作的理解上。对于初学者,比如如何做需求,理解需求工作的上下文这个大图景比一步一步教他更重要。

2) 培训前的准备。培训前发布培训内容,ppt,demo等。另外,因为培训人接受培训之前很多都对培训内容了解的不多,培训时间一般都不长,所以培训前要给被培训人员一些资料。我以前在做设计模式培训时,之前给出了很多关键字,比如“面向对象设计原则”,“设计模式”,“开闭原则”之类的,让培训人员自己去google,百度热身学习。

3) 培训形式。单纯主讲人对培训人员1对多的这种传统方式有时不太合适。有时可以多人一起主讲,有人负责演讲,有人负责demo。还有就是对于敏捷软件开发等管理理念时,我觉得可以采用辩论的方式(仅设想)。因为真理越辩越明,辩论不是谁对谁错,而是能把对错涉及到的因素全都压榨出来。我觉得培训形式尽量搞得新齐多样,我在一次培训中,自己写了个抽奖的软件,鼓励下面的同事参与。做面向对象设计培训是,为了体现单一职责,可以考虑角色扮演游戏,增加生动性。

4) 培训人员选择。不一定所有培训,什么人都去听的,比如架构师的培训,刚进来的没经验的员工,听了也没用。
5) 考核。对于参加和主讲的员工进行出勤考核。至于培训效果检查,考试在有些时候可能有效果,大部分都没什么效果。考试只能说对知识掌握程度进行检查。

另外,培训只能说公司技术提高的一种手段之一(而且作用并不是那么有效,做的很好,需要很高的成本),师父带徒弟这种模式还是比较好的。师父给徒弟制定学习计划,监督执行,随时解决徒弟提出的问题。因为,技能获取本身就是一个过程,希望短期内获取是不现实的。关于对jee, spring,ajax,appfuse等技术的培训,我建议采用建立虚拟项目的方式进行,建立小组,以一个设想的项目为载体,这个项目用到如上的技术,单纯的学习技术太抽象,太枯燥。这种项目也可以尝试一些敏捷软件开发的一些实践。然后由这个团队来进行一次培训,他们中的每个人都可以主讲,提高了积极性,开发人员也能获得成就感,进行团队学习。这种方式不好的地方,可能就是开发人员忙于工作,没精力参加到这种项目中去,可能学习周期较长。
   
0 请登录后投票
最后更新时间:2008-02-21
引用
还有就是对于敏捷软件开发等管理理念时,我觉得可以采用辩论的方式(仅设想)。因为真理越辩越明,辩论不是谁对谁错,而是能把对错涉及到的因素全都压榨出来。

你会发现大多数的辩论都是non-sense,没有实际经验的想当然。我在客户那里遇到过太多这样的事情。培训的时候有一大堆说不清辩不明的问题,在一起工作一个月之后,他们自己就找到答案了。
   
0 请登录后投票
最后更新时间:2008-02-21
gigix 写道
引用
还有就是对于敏捷软件开发等管理理念时,我觉得可以采用辩论的方式(仅设想)。因为真理越辩越明,辩论不是谁对谁错,而是能把对错涉及到的因素全都压榨出来。

你会发现大多数的辩论都是non-sense,没有实际经验的想当然。我在客户那里遇到过太多这样的事情。培训的时候有一大堆说不清辩不明的问题,在一起工作一个月之后,他们自己就找到答案了。


呵呵,那说明得热身啊,不再同一起跑线肯定不行。辩论其实需要非常精心的准备的。无厘头,你就当头脑风暴了。我也只是设想,还没尝试过。不过什么东西都需要经验做基础的,碰到这种事情也很无奈。

软件是一门实践性很强的学科,所以,像大学里老师讲课那样培训肯定是不行的,否则就不会这么多的大学生找不到工作了。技能的获取是一个过程, 知识和信息的获取比较容易。很多培训只能在后者层次上有所收获。
   
0 请登录后投票
最后更新时间:2008-02-21
Sing 写道

将来通过培训,可以快速让员工进入角色,复用企业现有的知识,同时让员工觉得在企业中能够学到东西,而不是在做重复性的劳动,同时能够带动软件生产的质量,速度提升和成本的降低.现在这些目标好象都还没有完全实现.


感觉你们培训太多了,有无方向和目的性?
你的这些想法跟我一样,我也想在公司建这么一套体系,目的是新员工过来了,经过培训能快速上岗,进入角色。
1) 应该建立一个知识管理系统和相关的激励奖励机制。保证员工能快速访问到公司已有的资源,wiki比较合适。
2) 建立方便的沟通机制,能够让同事方便的互相沟通。知道如何解决问题需要知识,知道谁能够解决问题,知道去哪里寻找解决问题的资料也是知识。

我现在的困惑是如何去建立这样的激励机制,比如知识库建立起来了,如何衡量入库知识的价值,如何奖励。我以前尝试在公司建了一个wiki,用mediawiki,我自己贡献了一些文章上去,也鼓励同事这样做,但是光靠鼓励没用啊,没人愿意贡献,或者嫌麻烦,我想可能是因为没有激励机制。要不就是我真的想错了,这样的知识库根本就是一个不现实的设想,人家宁愿是baidu,google,但有些知识是根本baidu,google不来的,或者说要费很大的精力才能获得的。
   
0 请登录后投票
最后更新时间:2008-02-21
项目里缺啥补啥
   
0 请登录后投票
最后更新时间:2008-02-22
Sing 写道
对于软件公司的培训,一直是让我比较头痛,2007年组织了内部培训十几门课,约50个课时,培训了1000人次左右,主要包括象ajax,appfuse,xml,ee5,spring,设计模式等方面,这属于内部培训,由公司内部的讲师来讲的.
还组织了外部的培训,专门聘请了架构师来做架构培训.
但是效果却并不是很好,希望有好的培训经验的朋友能够提供一些帮助.
企业的软件培训怎么做才能更有效率.或者谁培训做得好的,我们公司也可以付费,请过来做培训.


我个人是提倡大众教育的,但是反对没有针对性的大众教育(例如我们的高校教材)。
技术培训首先要搞清楚培训的受众是谁以及何种方式培训的问题。
比如设计模式的培训,让完全没有oo概念的新手对着ppt听一堂课,我相信他只能记住几个模式的名字。设计模式就不是给初学者学的内容!而是有了一定编程经验和oo基础后才学习的内容。
外部培训能得到好结果的还真是不多,还是上面的问题,培训讲师对你企业的业务不熟悉,几乎完全不了解听课人的水平和知识分布,很难有针对性的培训。
做讲课式的大众教育你首先要了解听课人群的水平和兴趣方向。让他们在自己有兴趣的方向上平均水平得到提高你的培训目的就达到了。
剩下的培训基本都是点对点的,小范围的,针对性强(基于你的具体业务)的传授。这是各个经理或者主管必须对自己的手下负责的一项工作。
   
0 请登录后投票
最后更新时间:2008-02-25
gurudk 写道
Sing 写道

将来通过培训,可以快速让员工进入角色,复用企业现有的知识,同时让员工觉得在企业中能够学到东西,而不是在做重复性的劳动,同时能够带动软件生产的质量,速度提升和成本的降低.现在这些目标好象都还没有完全实现.


感觉你们培训太多了,有无方向和目的性?
你的这些想法跟我一样,我也想在公司建这么一套体系,目的是新员工过来了,经过培训能快速上岗,进入角色。
1) 应该建立一个知识管理系统和相关的激励奖励机制。保证员工能快速访问到公司已有的资源,wiki比较合适。
2) 建立方便的沟通机制,能够让同事方便的互相沟通。知道如何解决问题需要知识,知道谁能够解决问题,知道去哪里寻找解决问题的资料也是知识。

我现在的困惑是如何去建立这样的激励机制,比如知识库建立起来了,如何衡量入库知识的价值,如何奖励。我以前尝试在公司建了一个wiki,用mediawiki,我自己贡献了一些文章上去,也鼓励同事这样做,但是光靠鼓励没用啊,没人愿意贡献,或者嫌麻烦,我想可能是因为没有激励机制。要不就是我真的想错了,这样的知识库根本就是一个不现实的设想,人家宁愿是baidu,google,但有些知识是根本baidu,google不来的,或者说要费很大的精力才能获得的。


论坛搞过半年,没成,象你说的,大部分人愿意上google和baidu,而不愿意在公司内部论坛上发言,实践出真知,不实践实践,还真不知道公司内部的技术论坛是搞不起来的.我现在也确认了,公司内部的技术论坛是做不起来的,尽管现在有几百技术人员了.

你说的wiki,目前正在试用了一个互动wiki,感觉编辑出来的文章有一些问题,回头找个mediawiki再试一下.我觉得wiki可能是行的,我把公司制度、资料都放到上面去,让大家完善,最终汇成知识库。
不过,我个人感觉,wiki最大的可能是在一个小团队里面用起来。

关于你说的方向和目的,其实还是比较明确,就是让知识能够最大程度的复用,复用内部的也好,复用外部的也好。也许开设的课程有点多,有点杂,但是这些课程基本上都是平常用的技术,都是用得着的。
   
0 请登录后投票
最后更新时间:2008-03-07
不管开了多少培训课程, 如果员工自己并不感兴趣, 或者没动力,没时间去学, 效果肯定不会好.

如果对培训投入比较多, 不如把这些资金用来做成网上教程, 或者购买其他公司制作的同类教程. 给每个员工发培训费, 员工可以拿培训费去选修自己需要的课程, 年终考评中应该包括培训成绩.

公司内部组织的培训效果未必好, 因为首先听众是否认可, 另外, 一个专职的技术人员未必能是个称职的培训讲师. 好的培训师当然难找. 如果都是公司里内部人, 与其打着培训的名声, 不如说是交流,讨论更好一些. 鼓励分享, 多建立这种交流的气氛, 会对知识库的建立有帮助.
   
0 请登录后投票
最后更新时间:2008-03-07
培训师的工作,似乎多数人都做不好。自身有水平,培训内容也很好,却把人都讲跑了的比比皆是。

所以最终不是培训如何进行,培训内容形式如何的问题。关键是你有没有真正镇得住场子的培训师。

对于多数公司,关于培训,我觉得还是公司出钱,鼓励大家去考几个指定的认证,考过者公司给与报销(额外奖励?),这种方式比较振奋人心一些。
   
0 请登录后投票
最后更新时间:2008-03-07
1000*50/8/21大约297个人月。。。
   
0 请登录后投票
论坛首页 软件开发和项目管理版

跳转论坛:
JavaEye推荐