至此,我们已经完成了嵌入式C语言快速入门。这部分培训一般是从新人招聘完毕到正式入职之间完成的,因为需要多次反复,外加远程互动的原因,耗时较多,但大部分人会在两个月内完成。
在长期实践中我发现,经过这样的训练后,虽然新人初次面对真实的产品代码时依然会磕磕碰碰,但会少一些那种双目茫然的木讷感。随着熟练程度的持续提升,大家很快就可以找到节奏,比较快融入团队了。而且,随着工作闭环、代码审核、注册机制等策略的及早灌输,也会帮助新人和团队其他成员尽快同步,利于新人融入团队。
如果计划从事嵌入式领域软件研发,实际上需要C语言达到相当熟练的程度。入职后,持续的技能提升都是内嵌在平时工作中的,很少再有时间进行专门的培训。为了帮助大家的持续提升,我们团队内部喜欢采用知识库工具,下一章会专门介绍。
不过,在此之前,如果能让大家知道需要掌握哪些C语言技能,明白自己所在的位置,对后期很有帮助。某日,一时兴奋,我将嵌入式C语言分为十层境界,大家不妨趣谈趣谈。
第一层:
初学C语言,基本上是拿一本C语言书籍,从helloWorld开始。好不容易学完,也仅能记住一些零碎的语法,勤奋者,顶多照书画猫敲几个例程。
遗憾的是,大部分工科生应付完考试,就止于此了,等大四找工作时,连C语言基础语法早就丢到了爪哇国了,这也是为何招聘时我们发现很多人一问三不知的原因了。
第二层:
学习完C语言后,会有小部分人会对编程产生了浓厚的兴趣,最直接的体现就是会尝试用C语言写一些好玩的程序。
这类人的比例还是比较小的,我以前招聘,最喜欢问的一个问题是"描述一个凭兴趣写的C语言程序",可惜能答上来的寥寥。受打击多了,让我从充满希望到了彻底绝望了,以后直接雪藏该问题,仅问一些基础知识了。
实际上这一层反而很关键,很多的数据结构、算法知识都是在这一层学习的,而且如果不跨入该层,连第一层也会归零。记得在大学时,我花了很长时间研究八皇后、青蛙跳等趣题,计算机基础素养也是在该过程中潜移默化慢慢提高的。
第三层:
在C语言使用过程中,基本上采用碰一个问题解决一个问题的策略,时间长了,很多