本节书摘来自异步社区《C程序员从校园到职场》一书中的第2章,第2.3节,作者 周兆熊,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.3 工作所需软技能的培养
在新员工刚进入公司的时候,一般都会有一段时间的试用期,也叫做培训期。对于大部分IT企业来说,这个试用期大体分为3个阶段:第一阶段,企业文化、办事流程、公司业务范围等的培训;第二阶段,工作所需专业知识的培训;第三阶段叫做“以师带徒”,也就是由一位老员工带着来从事具体的开发工作。
但是,我们不能奢望通过这个短短的培训期就能够将工作中所需的技能全部掌握,因为学习重在长期的积累,个人习惯的改变更是一个漫长而痛苦的过程。这就需要我们在学校里面就有目的性地培养工作所需的方方面面的东西。
总的说来,工作所需的一些软技能(即除专业技能之外的一些影响个人工作和发展的技能)如图2.2所示。
图2.2 工作所需的一些软技能
那么,我们如何在学校里面有针对性地培养如图2.2所示的各种能力呢?
第一,对于实践性较强的一些课程(如程序设计课程、算法课程、网络课程、数据库课程等),一定不能只求考试通过,要多问为什么、多动手编写程序。
有一位学弟发来邮件向我咨询一些问题,其中有个问题是这样的:
看书学技术的时候有时还是很有成就感的,特别是敲代码实现一些小的算法的时候,感觉很舒服。但是看得时间长了偶尔就会感觉枯燥,耐不住寂寞。
想必很多人都有类似的感触。我的答复是这样的:
如果你在学校写点程序就会觉得枯燥的话,在工作中你会觉得更枯燥。如果你从事软件开发工作,那么几乎每天都要和程序打交道,需要相当大的韧性才能坚持得住。
如何才能既学到技术,又不感觉到枯燥呢?根据我个人的经验,可以参考图2.3。
图2.3 一个学习的良性循环
打个比方来说,你要学习C语言,那么首先要选一本好的参考书,对于书上的程序或课后的习题,你要亲自敲到电脑里面来运行。慢慢熟悉之后,你对编程会有一些心得体会,这时你就可以将这些心得体会写成博客发表出去。写博客又会促使你去学习新的东西,别人的评论也会让你受益。如此不断地循环(根据个人的经验这是一个良性循环),自身能力会不断提高,你会发现学习技术是一件很有趣的事情。
如果你觉得书本上的题目太简单,可以利用我们最强大的老师(网络)去寻找一些实际的软件开发项目来做。此外,很多开源社区也是一个很不错的选择。
“问渠那得清如许,为有源头活水来”,我们只有不断地输入和输出知识,才能让自身充满活力。
第二,适当地参加一些社团活动或集体活动,利用假期(如寒假或暑假)到外面去做兼职。
很多学生做兼职的目的就是去挣钱,而不管所做的工作的内容是怎样的,这就有点舍本逐末了。通过恰当的兼职及社团活动,我们不仅能够学到一些书本上没有的知识(或者是能够看到书本知识在实际中的应用),还能够培养自己与人打交道的能力以及调节工作压力的能力。当然,在校学知识是最主要的,要在不影响学习的情况下去做兼职和参加课外活动。
第三,打好专业基础,在高年级的时候争取能够到企业里面去实习。
绝大部分学生在学校学习的最终目的是就业,也就是要走出校门,进入企业。因此,如果你在毕业之前能够有一段到企业里面去实习的经历,那么这必将丰富你的人生经历,让你在毕业求职的路上快人一步。
能够去单位实习,从侧面来说也是对你在校学习成果的一种认可。因此,大家一定要将自己的专业课学好,让企业认为你是一个可以培养的人。
通过一份比较有份量的实习,我们不仅能够学到专业知识、企业运作流程,还能够提高自己的动手能力、表达能力、团队协作能力等,同时也可以为自己的简历增加亮点。李开复老师也多次强调了大学生实习的重要性。