【转】C语言新员工训练营

背景

C语言新员工训练营

在客户咨询后期,客户的交付压力很大,导致顾问闲置。正好他们部门招聘了一些新员工大概7名,有3人是刚毕业,4 人是社招有经验的Deveoper。因为新员工刚到公司,有充足的时间进行能力提升,所以由钱安川带着这些人做了为期一个月的C语言训练营。以下为钱安川的总结。

其实,刚开始的时候我是不太乐意给新员工做培训的。因为担心新员工基础薄弱,效果不好,浪费我的时间和精力,觉得更多的去影响他们的Leader和经理更加重要。但是,做了几次活动之后,他们所有的人都超出了我的期望。他们每个人都很强的学习和提高欲望,能够按时按量的完成我布置的作业,心态非常Open,非常主动积极的学习。

活动方式

C语言新员工训练营和OO训练营的方式有所区别。因为参加OO训练营平均都有3年以上的华为工作经验,可是C语言训练营都是新员工,甚至有的是刚刚毕业。但是他们的优势是有充足的学习时间。通过和他们的经理的讨论之后,决定每天上午由我统一训练,下午他们回归到各自的模块组,熟悉模块的业务和技术。

时间:每天上午
活动方式:

1. 早上站立会议:每人要在站会上分享一条学习经验或者教训
2. 展示家庭作业代码
3. 顾问提出需求
4. 分组讨论和设计(如果需求简单,则跳过此环节)
5. 各自TDD开发
6. 代码演示
7. 点评和顾问总结
8. 布置家庭作业

活动的组织方式和OO训练营基本类似。不同的地方如下:

  • 多了一个站会分享学习经验和教训的环节,为大家营造一个互相学习和分享的氛围。
  • C语言训练营没有要求结对开发,因为大家对语言还没有吃透,希望给每个人独立思考写代码的空间。
  • 代码基本上都是上午写完的,只有偶尔的重构任务作为家庭作业
  • C语言训练营有一个读书写代码活动,这是每天的家庭作业,在后面我们会有详细介绍

训练营内容

新员工的技术和经验参差不齐,有些人连C语言还没有吃透,如何去教他们做TDD和简单设计呢?这是一个很大的挑战。我回想起自己学习新语言的方法。前些时间我自学了SCALA语言,看完了《Scala程序设计:Java虚拟机多核编程实战》,但还是觉得很多概念没有吃透,于是我就把书合上,然后把书上所有的例子独立写了一遍,这时才能感觉自己是学了一门语言。

我用同样的方法要求这些新员工,我给他们找了一本书《C程序设计语言》,同时给大家做了一个具体的读书计划。当然这个还不够,我要求每个人在不看书的情况下,把书上的例题改造成测试驱动的代码。比如:Hello World 的例子

#include
main()
{
printf("hello, world\n");
}

要求把这个例子改造成测试驱动的代码。改造之后代码分别为:
测试代码:

TEST(test_case_name, test_greetings) {
EXPECT_EQ("hello, world", greetings());
}

业务代码:

char[] greetings()
{
return ("hello, world");
}

通过这样训练,每个人可以系统的学习一遍C语言的所有知识,并且可以锻炼如何用TDD进行开发。

大概花了20天左右的时间,每个人基本上都写完了书上所有的例子。这些只是家庭作业的部分。在每天上午我带着大家集中训练。我们完成的练习有:长方形、单位转换和飞机场项目。每个人都要遵循简单设计四原则,用TDD的方式写代码,全部使用快捷键,用Module C的方式写C语言代码。

效果

很明显,效果是矼矼的。就连一直对敏捷有质疑的PO主任也站出来说:“今年新员工是有史以来代码写的最好的一届”。大家都反馈通过TDD方式系统的学习了C语言,扫除了很多的语言盲点。通过练习,每个人都学会了简单设计,TDD开发,什么是好代码,如何写出更加优雅的C代码。而且通过每天站会分享和代码演示,给大家提供了一个互相学习、交流的平台。

经验总结

  • 读书写代码活动的效果好的太明显了,可以帮助大家在很短的时间里吃透一门语言
  • 读书写代码活动必须要有计划有规律的进行,我是给大家排了3周左右的计划,并且要及时检查,让大家演示成果,一方面是互相学习,一方面是鼓励大家继续前进
  • 刚开始早站会是每人说昨天做了什么,今天准备做什么。但是,我发现这样就太过形式了,因为大家都很清楚这些事情。所以我把站会内容改为:每人分享一条学习经验或者教训
  • 在活动中遇到任何问题,我们都会把他写在白板上,并且指定一个owner(负责人),之后去研究搞定,第二天和大家一起分享
  • Module C是解决C语言设计的不二选择
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值