Differences between revisions 15 and 18 (spanning 3 versions)
Revision 15 as of 2010-03-22 12:29:14
Size: 14566
Editor: ZoomQuiet
Comment:
Revision 18 as of 2010-03-23 14:09:44
Size: 25327
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
:status: 校对; ZoomQuiet ;完成度15%;

:status: 校对; ZoomQuiet ;完成度52%;
Line 90: Line 88:
    - Python 人才现状
    - 实践方法
    - 效果分析
    - 未来拓展
    - Python人才现状
    - 蟒营实践方法
    - 蟒营效果分析
    - 蟒营未来拓展
Line 100: Line 98:
- 蟒营的最大作用,就是把企业和高校联系起来,让企业中真正有实践经验的人,到高校中授课,让学生可以学习到有用的知识,并给学生找到相应的学习方向. - 蟒营的最大目标,就是把企业和高校联系起来,让企业中真正有实践经验的人,到高校中授课,让学生可以学习到有用的知识,并给学生找到相应的学习方向.
Line 188: Line 186:
Line 207: Line 204:
    - 即使有学生根据教材认真独立完成相关开发,也因为没有什么及时的互动交流,而只能获得片面的程序理解...     - 即使有学生根据教材认真独立完成相关开发,也因为没有什么及时的互动交流,而只能获得片面的语言特性理解...
Line 212: Line 209:
    - 都停留在课堂教授的课程为主,很少私下会继续自学     - 大都停留在课堂教授的课程为主,很少私下会继续自学,因为大多数只是想得个文凭,以便找工作时享受本科待遇
    - 从小学到大学,都在要求学生听话,从来没有任何课程和训练涉及职业素质/态度,面对问题/困难时,并不要求独立解决,一般都有前辈的作业可以参考
    - 从小学到大学的应试教育,导致学生下意识的以为进入企業也是靠各种考试来获得晋升的,下意识的以为,进入社会后依然会有同学/学长/老师这种角色存在,可以帮助自个儿解决问题!
    - 导致面对压力时,第一反应都是逃避或是可以补考,早已丧失了独立探索未知的好奇心和勇气
Line 218: Line 219:
- 自身体验
- 公司需求
- 核心矛盾:

    - 基础知识点和整体
    - 个人开发和团队
    - 考試压力和职业动力
笔者也是从这种标准的中国式大学出来工作的,在经历了多年准程序员挣扎后,才通过 PHP 进入了自由软件世界,知道了技术社区,开始了快乐的协作式自学;
- 又通过Python 的自学和使用,体验到了 Pythonic,深深为这种优雅的问题解决态度所折服,并在实际工作中证实,这是种非常有效的工作技艺,
是各种软件公司团队所必须的;
- 进而在持续的 CPyUG 会课组织中,结识了各个行业/领域的从业人士,也证实了各种软件公司中的开发问题都是有共通性的,高效团队是有共性的,都是可以用 Pythonic 来定义的
- 而且在和来自各种大学的学生沟通时,也发现了前述高校计算机教育的缺陷,和学生普遍存在的困惑,以及意识/能力缺失
- 核心矛盾集中在:

    - 学生相对比较坚实的基础知识点和企业要求的综合解决问题的整体能力间存在不可调合的矛盾
    - 学生在完成课目作业时积累的简单个人开发体验和企业要求的基础团队协作开发意识能沟通能力间存在不可调合的矛盾
    - 学生习惯被考試压力推动的学习活动和企业要求的自我职业发展为动力核心的自主钻研能力间存在不可调合的矛盾

- 在校大学生自发的通过个人训练在毕业前弥补了以上矛盾的,一般都是通过原创或是参与自由软件,在至少一年的连续开发和在线沟通过程中,接触到了软件的真实设计/开发/测试/推广/改进等等完整的场景,形成了原始的程序员职业素质,这种学生万中无一,不用毕业都会被挖走,甚至自行创业的
- 99% 的学生,基本是对计算机专业没有什么兴趣,只是想通过拿到相关专业毕业证,进入IT企业而已,这种学生基本不会真正成为开发人员,一毕业就转为市场/客服等角色
- 但是,总是有部分学生,对计算机有兴趣,但是一直不知道怎么学习编程,认真的对待学校课目,却不知道自个儿根本没有形成足以上岗的基本程序员素质

第三种学生,就是蟒营争取,快速改进的对象 ;-)

- 具体怎么快速有效的改进,一直是笔者独立思考,默默实验的,从 2004年开始的各种内部培训,在线问题解答,线下会课交流中,一直在积累各种可操作的培训方法
- 从 2007-10 开始,自己也在相应公司着手组建团队,亲自主持了招聘和成员培训,进一步实践了蟒营涉及的各个方面活动,明确了具体的实施;
- 到 2008-7 借用金山训练营的机会,完成了首次完整的实践:
Line 230: Line 243:
- 什么是 蟒营? ~ PythoniCamp

    - 全称为 `灵蟒集练营`_
    - 具有 Pythonic 体验和形式的魔鬼训练营!
    
        - 通过免费的实际项目实践,使学生在最短时间之内建立起团队意识和良好的“靠谱”的编程习惯
        - 从没有什么责任的学生,转变为要承担责任的员工
        - 同时为相关企业识别出有潜质学生资料,以便进行针对式追踪和培养,在第一时间获得合适的员工。

    - 很多软件企业都希望可以招聘到有经验且能更快融入到团队中的人,这对刚毕业的大学生来是非常致命的,他们需要的是一种“触媒”,通过这种“触媒”,将学生积累的知识重新激发组合为现实工作场景中可用的素质,使其更加理解软件工程实际操作的过程。在蟒营中,我们将营造真实的软件工程氛围,通过集中式的互动,带领学生自己领悟,自我激发出真实可用的创造力。

- 什么是金山软件?

    - 自1989年将发行的第一款办公软件产品WPS 1.0以来,目前已经成长为中国最知名的软件企业之一,业务涉及通用办公软件,网络游戏,软件安全,在线英文学习等领域
    
- 什么是金山训练营?

    - 是金山软件开办的,面向大三学生的全日制假期训练营,通过为期两至三个月的训练,在程序基础知识、独立程序开发、团队程序开发等方面对学生综合培养,力争从在校学生选拔出符合职位需求、具备实战能力的软件研发人才。
    - 从 2007年开始,由于 Python 本身好学易用,维护效率高等优势,在公司各个方面都有实际应用,一些大型项目也开始全部使用Python 进行开发,但是很难从社会中招聘到有经验的开发人员;
    - 特此由用人部门提议,金山训练营承办,由笔者主持,进行了首期蟒营实践
Line 234: Line 268:
- 学员

    - 来源,通过金山训练营初试的学员
    - 背景,来自?大学的三年级,都是计算机相关专业

- 组织

    - 导师,由笔者所在部门出3人,作为日常指导,负责回答问题,引导开发,笔者主持日常例行的各种站立会议
    - 助教,由金山训练营出一名,负责日常训练营秩序,监察学员活动,根据规约进行评分
    - 用户代表,从实际需要出发,从4个部门收集到7个系统的需求,对应4名接口成员,负责实际需求的咨询和最终作品验收
    
- 过程

    - 提供精短必要的知识导入讲演,立即进入工程环境进行开发!
    
        - 一次:Python 宣传 50'左右; 目标:从训练营招募志愿学员;
        - 一次:Python 职位培训, 30'左右; 目标:介绍蟒营在金山的实际职位和发展,树立学员信心;
        - 两次:Python 基础培训, 每次100'左右; 目标:划定实用Python 知识范畴,引导进入 Pythonic 思想空间,指明Python 学习方向;
        - 两次:Python 蟒营活动指导 每次100'左右; 目标:说明基础团队協同开发思想,介绍基础支持系统,通告环境使用规范;确立敏捷开发的周迭代模式推进方法,和实操细节;
   
    - 然后,立即要求学员根据兴趣自发组成团队,认领项目,进入迭代开发,直至蟒营结束
    
- 形式

    - 全真项目组!
    - 提供完善的配置管理平台:
    
        - 使用 SVN 进行版本管理
        - 使用 Trac 进行任务/问题追踪
        - 使用 维基 进行知识分享
        - 使用 邮件列表 进行公开讨论
        - 使用 IRC 进行在线交流
        
    - 在引导下推行迭代开发:
    
        - 团队内部自行推举迭代经理,和对外接口人,分别进行开发协调,和需求管理
        - 实战开发,通过例会推进:
            - 每周两次答疑:
            
                - 周1/4 17:00 前将问题通过各种渠道整理提交到助教处,17:30 前邮件给讲师们
                - 周2/5 11:00~11:30 各一次
                
           - 每周一个里程碑:
                - 每周5 11:30~12:00 进行周例会,演示本周开发成果
                - 每天两次站立会议协调当日开发
                
                    - 09:00~09:15 各自宣告当日任务
                    - 16:45~17:00 各自总结当日进度,主要困难

    - 导师尽量保持正常的同事心态,开放的尽可能的回答学员问题,但是从来不主动给予帮助,如果学员不问,就只能在站立会议中通过设问的方式,引导进行自我钻研/尝试; 反复重复灌输各种实际工作中必须具备的意识:
    
        - "导师可以给予一切帮助,但是前提是你得明确你想要什么"
        - "任何问题,当明确定义问题的含义时,问题已经解决了一半"
        - "开发过程中遇到的任何困难,99.9%的情况下,他人必然遇到过,而且解决了,而且发布出过解决方案,你只找到那段代码就行了"
        - "一个问题,只有全组人都知道,并充分考虑后的方案,才可能是最靠谱的方案"
        - ...
        

- 考核

    - 以识别潜质,选拔心理/意识有效转化者为中心,不关注代码质量,更加关注代码形成的过程和团队效率
    - 以行为导向为基础,尽可能的量化所有指标,尝试提供客观评定学员的转化效果!
    - 由助理 每日进行得分记录,每周公布结果,排名,不公布详细的评定标准
    - 共设计20项44个考核点!
    
        - 潜力方面,关注自学习惯和领导潜能
        - 協作方面,关注团队自觉和沟通能力
        - 技能方面,关注开发能力/效率/习惯
    
Line 237: Line 341:
- 在 2008-09 这期 蟒营
- 35名 主动参加了22名
- 中途退出2名
- 组成5个开发团队
- 最终完成并交付3个系统
- 通过考核学员5名
- 最终进入公司工作3名
- 成功率 14% ,是训练营一般培训成功率的30倍!
 
Line 253: Line 366:
Line 256: Line 370:
- 四赢之势:
    -

- 联合
:四赢之势:

    - 学校不用组织专门的有企业管理经验的教师来引导学习,但是获得了良好的就业率
    - 学生不用花费额外的培训费用,在最短的时间里从学校式被动学习,转化到主动的面向问题的学习和行为模式来,提高应聘成功率
    - 企业不用向招聘服务机构支付额外的费用,就可以从社区中获得有潜力的学生名单,并预先进行相关岗位的技能灌输,提高招聘成功率
    - 社区不用额外的努力,就可以在有明确目标和各种支持的项目中,发挥各自的愛好和能力,反馈社区,提高技术社区的影响力
    
    
:联合推广计划:
    
    - 联合哲思社区,广州技术沙龙,中文 Python/C++ 用户组,成立“蟒营”讲师团;在知名学生社区中开展过往教案宣传。
    - 联合珠海一所高校,在假期开展一期“蟒营”,在知名学生社区全程追踪报道进展和学员体验。
    - 联合哲思社区,提供针对体验式教学团队的在线活动支持功能,开展一期虚拟的在线“蟒营”。
    - 结合所有教案,形成完善的“蟒营”规范,培训讲师,同时在不同城市的不同高校开展。
    - 控制每年的“蟒营”规模,确保关系企业稳定的入选率,开始精品格局的推广活动。
    - 积累所有媒体资源,制作教学电影,先在网络媒体中传播,获得反馈,进一步修订,尝试向边远高校推广,自发组织不同规模的"蟒营"。
Line 266: Line 392:
大量的在线资料/环境/代码 (大量的在线资料/环境/代码)
Line 336: Line 462:

.. _蟒营:
    http://groups-beta.google.com/group/kcpycamp
.. _灵蟒集练营:
    http://groups-beta.google.com/group/kcpycamp

Rendering of reStructured text is not possible, please install Docutils.

:status: 校对; ZoomQuiet ;完成度52%;


:参考: 

    - `PyCon2010亚洲 <PyCon2010>`_
    - `蟒营提纲 <PythonicCamp>`_ // `Pythonic Camp <PythonicCampEn>`_     
    - `蟒营简介 <PythoniCampIntro>`_ //  `PythoniCamp Intro. <PythoniCampIntroEn>`_
    - `蟒营实施 <PythoniCampMonograph>`_ // `PythoniCamp Paper <PythoniCampMonographEn>`_

.. contents::
  :depth: 3


蟒营
==============================================================================

概述 2pages
------------------------------------------------------------------------------

- 本文通过基于 CPyUG 社区的长期实践,积累而得的 蟒营快速Py开发人员培训方式为基础
- 分享了当前中国IT行业程序员培养的经验
- 分析了当前中国Python 需求和矛盾
- 进一步提出了可复用/可推广的一般性 Python 开发人员培训方式


作者 1pages
------------------------------------------------------------------------------

:Zoom.Quiet:
 
    - 江苏石油化工学院(现 江苏工业大学 http://www.jpu.edu.cn/) 计算机应用与科学 本科
    - 工作:
    
        - 1999/06~2000/06:常州市利诚通讯工程有限公司 
        - 2000/05~2004/10:上海讯博数码科技有限公司
        - 2004/11~2007/09 新浪网
        - 2007/05/18 金山软件股份有限公司        
        
    - Python 经历:
    
        - 2002 接触Python
        - 2004 加入 pytohn.cn 并发布啄木鸟维基 MoinMoin
        - 2005-07-30 成立CPyUG http://wiki.woodpecker.org.cn/moin/BPUG/2005-07-30
        - 从此坚持不懈的开展 Python应用/推广/交流活动

:清风:
 
    - 教育
    - 工作
    - Python 经历


鸣谢 1pages
------------------------------------------------------------------------------

- CPyUG 
- 哲思
- 金山
- 北京城市学院
- ...


蟒营~快速培训实用型 Python 人才的尝试
==============================================================================

- Zoom.Quiet

    - kingsoft.com
    - [email protected]

- 清风

    - 豆瓣
    - [email protected]


简介
------------------------------------------------------------------------------

本文根据蟒营思想引发的两个教学实践出发,探讨了如何在中国这一特定环境中推广Python,
主要涉及以下几个方面:

    - 中国教育现实
    - Python人才现状
    - 蟒营实践方法
    - 蟒营效果分析
    - 蟒营未来拓展
    

中国IT教育
------------------------------------------------------------------------------
- 中国的IT教育,以教授基础知识为主,这点无可厚非,但是在实践的课程太少,使得大部分学生不能理论联系实际,造成的结果就是,基础不扎实,动手能力又不强的尴尬局面.同时,企业也不能从学校选拔出太多的可以直接投入工作的学生,都要进入公司以后,再进行相应的培训.这里最主要的问题在于市场与高校是脱节的.企业想要的人才,学校没有,学校的学生也不知道企业想要什么样的人.

- 蟒营的最大目标,就是把企业和高校联系起来,让企业中真正有实践经验的人,到高校中授课,让学生可以学习到有用的知识,并给学生找到相应的学习方向.


课目
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

`华大学计算机科学与技术系`_ 的 `计算机科学与技术专业课程.doc`_  对比 `MIT开放课程 电子工程及计算机科学`_ 的课程设计可以得出:

- 教材:

    - 中国高等院校的教材全部使用自行编制的
    - 教材编篡人员并不是相关领域权威人士
    - 教材内容是根据国家教学大纲规定而编辑的
    - 国家教学大纲一般滞后社会需求至少5年
    - 这导致整个专业学习目标和内容都无法和现实接轨
    
- 范畴

    - 2/5 是理科相关数学/电路
    - 2/5 是各种计算机相关领域入门
    - 1/5 是涉及开发实践,而且全部仅仅M$ 相关技术(VB/C++/SQL Server)

- 内容

    - 近一半是纯理论
    - 其它大多是相关技术领域的特性介绍
    - 有关计算机科学基础的,只有少数必修课,多是选修

- 要求

    - 对于学课内容,不论必修否,基本都是以考试大纲为核心进行要求, 不关心学生是否理解课目的真正目的和领域关联
    - 比如说: "数据结构和算法"
    
        - 仅仅要求知道什么是 数据结构和算法
        - 记住几种 C/C++/JAVA 实现的 数据结构
        - 可以默写出几种经典排序算法的伪代码
        - 即可通过考试!


:以上最终导致:

    - 认真跟随课本学习的学生
    - 基本不理解什么是软件,如何设计一个软件
    - 没有体验过如何在团队中协同开发软件
    - 除了 M$ 平台,基本不会其它平台的操作




招聘现实
------------------------------------------------------------------------------

当前中国有1千多所院校开辟了相关专业,每年中国大学招收 400万以上本科学员,其中近 3% 进入计算机相关院系;
毕业近30万相关本科生,其中近20%选择继续读研,其它进入社会尋求就业,但是就职形势很差:


实际就业案例
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 以金山训练营为例:

 - 2008-07 从2700份简历过滤出600人发出在线测试的邀请
 - 通过46人
 - 经过训练营的集训,合格16人
 - 2008-08 交付各部门,最终入职 13人
 - 入职比例 = 0.48%

- 北京城市学院数字统计:

 - 北京城市学院中以信息为方向的学院数量: 4个
 - 毕业生数量6000人,其中计算机专业毕业生据不完全统计,在2000人左右.
 - 就业情况: 毕业后从事软件开发的学生比例大约在1/80左右,而且有逐年递减的趋势.
 - 毕业3年后,仍然从事软件开发的学生比例.无统计,但粗略估计,不到1/100.


被就业
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

而且院校方面存在可悲的 `被就业`_ 现象:

    - 学校通过各种手段制造学生已经就业的证明,以形成可观的每年 "`毕业生就业率`_"
    - 因为每个学校的吸引力很大程度上取决于该校的 "`毕业生就业率`_" 
    - 只有 "`毕业生就业率`_" 高的学校,才是好学校,学生和家长才愿意入校
    - 只有入校学生数量足够的学校,才可能申请到教育经费,从而获得发展
    - 所以,从近年开展,很多学生在自己不知道的情况下 `被就业`_
    - `被就业`_ 现象的存在,说明学校基本没有能力改变学生在职位面前的竞争力
    

为什么这样?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

教学形式:

    - 照本宣科的教学形式,导致了学生:

        - 只能使用 类似中学数学/物理/化学 的方式来学习计算科学
        - 通过练习题的形式将孤立的概念强化记忆
        - 基本没有相会独立完成可运行的软件
        - 从而,在校时无法形成编程能力,习惯用死记硬背的方式来记忆程序代码,而不是真正的理解编程
        - 大部分学生能不能正确理解,程序,数据结构


开发经验:

    - 绝大多数学生,以作业为主,参考上界学生的代码,直接复制完成
    - 虽然现在学生多数有个人电脑,但是基本以游戏为主,很少用来进行程序开发尝试
    - 即使有学生根据教材认真独立完成相关开发,也因为没有什么及时的互动交流,而只能获得片面的语言特性理解...
    

意识态度:

    - 大都停留在课堂教授的课程为主,很少私下会继续自学,因为大多数只是想得个文凭,以便找工作时享受本科待遇
    - 从小学到大学,都在要求学生听话,从来没有任何课程和训练涉及职业素质/态度,面对问题/困难时,并不要求独立解决,一般都有前辈的作业可以参考
    - 从小学到大学的应试教育,导致学生下意识的以为进入企業也是靠各种考试来获得晋升的,下意识的以为,进入社会后依然会有同学/学长/老师这种角色存在,可以帮助自个儿解决问题!
    - 导致面对压力时,第一反应都是逃避或是可以补考,早已丧失了独立探索未知的好奇心和勇气



蟒营的产生
------------------------------------------------------------------------------

笔者也是从这种标准的中国式大学出来工作的,在经历了多年准程序员挣扎后,才通过 PHP 进入了自由软件世界,知道了技术社区,开始了快乐的协作式自学;
- 又通过Python 的自学和使用,体验到了 Pythonic,深深为这种优雅的问题解决态度所折服,并在实际工作中证实,这是种非常有效的工作技艺,
是各种软件公司团队所必须的;
- 进而在持续的 CPyUG 会课组织中,结识了各个行业/领域的从业人士,也证实了各种软件公司中的开发问题都是有共通性的,高效团队是有共性的,都是可以用 Pythonic 来定义的
- 而且在和来自各种大学的学生沟通时,也发现了前述高校计算机教育的缺陷,和学生普遍存在的困惑,以及意识/能力缺失
- 核心矛盾集中在:

    - 学生相对比较坚实的基础知识点和企业要求的综合解决问题的整体能力间存在不可调合的矛盾
    - 学生在完成课目作业时积累的简单个人开发体验和企业要求的基础团队协作开发意识能沟通能力间存在不可调合的矛盾
    - 学生习惯被考試压力推动的学习活动和企业要求的自我职业发展为动力核心的自主钻研能力间存在不可调合的矛盾

- 在校大学生自发的通过个人训练在毕业前弥补了以上矛盾的,一般都是通过原创或是参与自由软件,在至少一年的连续开发和在线沟通过程中,接触到了软件的真实设计/开发/测试/推广/改进等等完整的场景,形成了原始的程序员职业素质,这种学生万中无一,不用毕业都会被挖走,甚至自行创业的
- 99% 的学生,基本是对计算机专业没有什么兴趣,只是想通过拿到相关专业毕业证,进入IT企业而已,这种学生基本不会真正成为开发人员,一毕业就转为市场/客服等角色
- 但是,总是有部分学生,对计算机有兴趣,但是一直不知道怎么学习编程,认真的对待学校课目,却不知道自个儿根本没有形成足以上岗的基本程序员素质

第三种学生,就是蟒营争取,快速改进的对象 ;-)

- 具体怎么快速有效的改进,一直是笔者独立思考,默默实验的,从 2004年开始的各种内部培训,在线问题解答,线下会课交流中,一直在积累各种可操作的培训方法
- 从 2007-10 开始,自己也在相应公司着手组建团队,亲自主持了招聘和成员培训,进一步实践了蟒营涉及的各个方面活动,明确了具体的实施;
- 到 2008-7 借用金山训练营的机会,完成了首次完整的实践:


蟒营之金山
------------------------------------------------------------------------------
- 什么是 蟒营? ~ PythoniCamp

    - 全称为 `灵蟒集练营`_
    - 具有 Pythonic 体验和形式的魔鬼训练营!
    
        - 通过免费的实际项目实践,使学生在最短时间之内建立起团队意识和良好的“靠谱”的编程习惯
        - 从没有什么责任的学生,转变为要承担责任的员工
        - 同时为相关企业识别出有潜质学生资料,以便进行针对式追踪和培养,在第一时间获得合适的员工。                

    - 很多软件企业都希望可以招聘到有经验且能更快融入到团队中的人,这对刚毕业的大学生来是非常致命的,他们需要的是一种“触媒”,通过这种“触媒”,将学生积累的知识重新激发组合为现实工作场景中可用的素质,使其更加理解软件工程实际操作的过程。在蟒营中,我们将营造真实的软件工程氛围,通过集中式的互动,带领学生自己领悟,自我激发出真实可用的创造力。

- 什么是金山软件?

    - 自1989年将发行的第一款办公软件产品WPS 1.0以来,目前已经成长为中国最知名的软件企业之一,业务涉及通用办公软件,网络游戏,软件安全,在线英文学习等领域
    
- 什么是金山训练营?

    - 是金山软件开办的,面向大三学生的全日制假期训练营,通过为期两至三个月的训练,在程序基础知识、独立程序开发、团队程序开发等方面对学生综合培养,力争从在校学生选拔出符合职位需求、具备实战能力的软件研发人才。
    - 从 2007年开始,由于 Python 本身好学易用,维护效率高等优势,在公司各个方面都有实际应用,一些大型项目也开始全部使用Python 进行开发,但是很难从社会中招聘到有经验的开发人员;
    - 特此由用人部门提议,金山训练营承办,由笔者主持,进行了首期蟒营实践


实践
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 学员

    - 来源,通过金山训练营初试的学员
    - 背景,来自?大学的三年级,都是计算机相关专业

- 组织

    - 导师,由笔者所在部门出3人,作为日常指导,负责回答问题,引导开发,笔者主持日常例行的各种站立会议
    - 助教,由金山训练营出一名,负责日常训练营秩序,监察学员活动,根据规约进行评分
    - 用户代表,从实际需要出发,从4个部门收集到7个系统的需求,对应4名接口成员,负责实际需求的咨询和最终作品验收
    
- 过程

    - 提供精短必要的知识导入讲演,立即进入工程环境进行开发!
    
        - 一次:Python 宣传 50'左右; 目标:从训练营招募志愿学员;
        - 一次:Python 职位培训, 30'左右; 目标:介绍蟒营在金山的实际职位和发展,树立学员信心;
        - 两次:Python 基础培训, 每次100'左右; 目标:划定实用Python 知识范畴,引导进入 Pythonic 思想空间,指明Python 学习方向;
        - 两次:Python 蟒营活动指导 每次100'左右; 目标:说明基础团队協同开发思想,介绍基础支持系统,通告环境使用规范;确立敏捷开发的周迭代模式推进方法,和实操细节; 
   
    - 然后,立即要求学员根据兴趣自发组成团队,认领项目,进入迭代开发,直至蟒营结束
    
- 形式

    - 全真项目组!
    - 提供完善的配置管理平台:
    
        - 使用 SVN 进行版本管理
        - 使用 Trac 进行任务/问题追踪
        - 使用 维基 进行知识分享
        - 使用 邮件列表 进行公开讨论
        - 使用 IRC 进行在线交流
        
    - 在引导下推行迭代开发:
    
        - 团队内部自行推举迭代经理,和对外接口人,分别进行开发协调,和需求管理
        - 实战开发,通过例会推进:
            - 每周两次答疑:
            
                - 周1/4 17:00 前将问题通过各种渠道整理提交到助教处,17:30 前邮件给讲师们
                - 周2/5 11:00~11:30 各一次 
                
           - 每周一个里程碑:
                - 每周5 11:30~12:00 进行周例会,演示本周开发成果
                - 每天两次站立会议协调当日开发
                
                    - 09:00~09:15 各自宣告当日任务
                    - 16:45~17:00 各自总结当日进度,主要困难 

    - 导师尽量保持正常的同事心态,开放的尽可能的回答学员问题,但是从来不主动给予帮助,如果学员不问,就只能在站立会议中通过设问的方式,引导进行自我钻研/尝试; 反复重复灌输各种实际工作中必须具备的意识:
    
        - "导师可以给予一切帮助,但是前提是你得明确你想要什么"
        - "任何问题,当明确定义问题的含义时,问题已经解决了一半"
        - "开发过程中遇到的任何困难,99.9%的情况下,他人必然遇到过,而且解决了,而且发布出过解决方案,你只找到那段代码就行了"
        - "一个问题,只有全组人都知道,并充分考虑后的方案,才可能是最靠谱的方案"
        - ...
        

- 考核

    - 以识别潜质,选拔心理/意识有效转化者为中心,不关注代码质量,更加关注代码形成的过程和团队效率
    - 以行为导向为基础,尽可能的量化所有指标,尝试提供客观评定学员的转化效果!
    - 由助理 每日进行得分记录,每周公布结果,排名,不公布详细的评定标准
    - 共设计20项44个考核点!
    
        - 潜力方面,关注自学习惯和领导潜能
        - 協作方面,关注团队自觉和沟通能力
        - 技能方面,关注开发能力/效率/习惯
    


效果
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 在 2008-09 这期 蟒营
- 35名 主动参加了22名
- 中途退出2名
- 组成5个开发团队
- 最终完成并交付3个系统
- 通过考核学员5名
- 最终进入公司工作3名
- 成功率 14% ,是训练营一般培训成功率的30倍!
 


蟒营之北京
------------------------------------------------------------------------------

实践

- 学校课程:每周8个课时,2个班,大约60-80名学生
- 1v1班,每周1-5授课,每天4个小时课程,持续半年左右

效果

- 学校课程:大约是每个班有1-2人会从事软件开发工作
- 目前教的学生数量在5人,全部就业,而且均在正规的软件公司工作



结论 和 设想
------------------------------------------------------------------------------

:四赢之势:

    - 学校不用组织专门的有企业管理经验的教师来引导学习,但是获得了良好的就业率
    - 学生不用花费额外的培训费用,在最短的时间里从学校式被动学习,转化到主动的面向问题的学习和行为模式来,提高应聘成功率
    - 企业不用向招聘服务机构支付额外的费用,就可以从社区中获得有潜力的学生名单,并预先进行相关岗位的技能灌输,提高招聘成功率
    - 社区不用额外的努力,就可以在有明确目标和各种支持的项目中,发挥各自的愛好和能力,反馈社区,提高技术社区的影响力
    
    
:联合推广计划:
    
    - 联合哲思社区,广州技术沙龙,中文 Python/C++ 用户组,成立“蟒营”讲师团;在知名学生社区中开展过往教案宣传。
    - 联合珠海一所高校,在假期开展一期“蟒营”,在知名学生社区全程追踪报道进展和学员体验。
    - 联合哲思社区,提供针对体验式教学团队的在线活动支持功能,开展一期虚拟的在线“蟒营”。
    - 结合所有教案,形成完善的“蟒营”规范,培训讲师,同时在不同城市的不同高校开展。
    - 控制每年的“蟒营”规模,确保关系企业稳定的入选率,开始精品格局的推广活动。
    - 积累所有媒体资源,制作教学电影,先在网络媒体中传播,获得反馈,进一步修订,尝试向边远高校推广,自发组织不同规模的"蟒营"。



参考
------------------------------------------------------------------------------

(大量的在线资料/环境/代码)


机构
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 金山
- 金山训练营 http://www.kingsoft.com/zt/2008/kscollege/index.html
    
    - 金山训练营是培养金山软件研发人才的“黄埔军校”,面向所有热爱软件开发的初学者以及有志于向软件行业发展的潜力人才。我们通过为期两至三个月的训练,在程序基础知识、独立程序开发、团队程序开发等方面对学生综合培养,力争打造符合职位需求、具备实战能力的软件研发人才。
    - 训练营通过技术培训结合半军事化管理、金山企业文化传承等方式,培养金山软件精英。严格的作息时间,早上半小时早操,帮助学生们养成早睡早起的好习惯,清醒头脑、强身健体;平时紧张的训练、每周的考核、定期的技术交流、奖惩制度的设置使学生们的编程水平得到提高;团队训练分组项目、结对测试、培养学生团队协作能力;严格遵守公司的软件开发代码规范和工程规范、正规的项目文档记录、每天的工作日志回顾,使同学们达到从在校生到正规软件开发程序员的转变。经过训练营考核合格者,直接签约金山,加盟WPS办公软件、金山毒霸、网络游戏等开发团队。
    - 金山训练营自2007年3月开营以来,为公司各事业部培养输送了大量软件研发人才。通过竞争淘汰机制为学生们形成了良好的学习氛围,典型练习牢固基础知识,更有多年程序经验的资深研发人员来为同学们解析代码。帮助同学们练就扎实可靠的C/C++基础,熟练掌握编程工具、代码规范、工程规范,学习高效和谐的团队合作。整个训练期间不练算法,不参与做公司的软件,最关键的是初步养成一个良好的编程习惯。训练营还不定期组织一些户外活动、爬山烧烤、晚会联欢使从全国各地到珠海实习的同学们成了生活中的好朋友,工作上的好伙伴。


- 北京城市学院 http://www.bcu.edu.cn

   - 北京城市学院创始于1984年,是教育部批准成立的全国首所民办普通高等学校,现为本科院校。北京城市学院现已形成较为完善的多学科、多层次、多形式培养应用型人才的专业体系与办学格局,是全国民办高等学校的先进单位。2008年被教育部考试中心确定为自考主考院校。由北京城市学院主办的高等自考学部创立于1990年,致力于高等自学考试助学教育、职业能力培训和国际合作教育,是北京市高等自学考试教育先进单位。学生毕业由主考院校和北京市高等教育自学考试委员会颁发国家承认学历的大专或本科毕业证书,符合规定的授予学士学位。国际上有40多个国家承认高自考学历证书,社会认可度和权威性较高。

   - 蟒营授课情况:
       - 每周8个课时,2个班,大约60-80名学生
       - 就业情况:基本与学校情况相符,大约是每个班有1-2人会从事软件开发工作
   - 蟒营1v1授课情况
       - 1v1班情况,采取1v1教学,目前教的学生数量在5人,全部在正规软件公司就业

社区
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- CPyUG
- 哲思


蟒营
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 仓库控制:
- 项目管理:
- 讨论列表:


参考
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- 国家中长期教育改革和发展规划纲要(2010-2020年)(公开征求意见稿)http://news.xinhuanet.com/politics/2010-02/28/content_13069032.htm



.. macro:: -- ZoomQuiet [<<DateTime(2010-02-22T17:28:16+0800)>>]

.. 链接定义区
    建议在文章头部,统一定义各种链接/图片... 内容资源!

.. _清华大学计算机科学与技术系:
    http://zh.wikipedia.org/zh-cn/%E6%B8%85%E5%8D%8E%E5%A4%A7%E5%AD%A6%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%8E%E6%8A%80%E6%9C%AF%E7%B3%BB
.. _计算机科学与技术专业课程.doc:
    http://jwcdata.hrbu.edu.cn:8080/word/kcjj/15.doc

.. _MIT开放课程 电子工程及计算机科学:
    http://www.core.org.cn/OcwWeb/Global/all-courses.htm#ElectricalEngineeringandComputerScience

.. _Google's Python Class:
    http://code.google.com/edu/languages/google-python-class/introduction.html

.. _MIT6.189:
    http://www.core.org.cn/OcwWeb/Electrical-Engineering-and-Computer-Science/6-189January--IAP--2008/CourseHome/index.htm

.. _被就业:
    http://www.21cn.com/weekly/jobs/index.shtml
.. _毕业生就业率:
    http://news.google.cn/news?hl=zh-CN&newwindow=1&q=%E6%AF%95%E4%B8%9A%E7%94%9F%E5%B0%B1%E4%B8%9A%E7%8E%87&oq=&gs_rfai=&um=1&ie=UTF-8&ei=RS6nS9ieM8uLkAWJnpjoCA&sa=X&oi=news_group&ct=title&resnum=4&ved=0CBQQsQQwAw


.. _蟒营:
    http://groups-beta.google.com/group/kcpycamp
.. _灵蟒集练营:
    http://groups-beta.google.com/group/kcpycamp


.. 图片定义区
.. |biohazard| image:: biohazard.png


.. 脚注定义区
    建议在文章底部,统一定义各种 编号/自动/标签/引用 脚注

.. [#] If that relative link doesn't work, try the master document:
   http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.

.. [#是也乎] 有标签的脚注可以多次使用
   在不同场合 是也乎_

.. [this] here. 

PythoniCampMonograph (last edited 2010-04-11 10:14:14 by ZoomQuiet)