前些天讲了个单片机快速开发的讲座,问批评意见,得到的答复是还好、还不错,也不知是对我的肯定还是安慰。有个学弟跟我说:“知识这东西,我觉得还得回归到实践上,才能算真正的掌握,但通过这次讲座,让我意识到学习单片机并不是想象中的那么难。”听到这句话,我甚感欣慰,因为至少,我会去讲单片机的初衷已经达到了。
大学这四年一路走来,见了不少牛人,也遇了不少菜鸟(我也是其中一个,呵呵),但最让我印象深刻的,是同学们、朋友们对未知的知识,尤其是课程中未涉及到的知识的恐惧。“星火杯”年年都举行,为的就是鼓励学生去主动学习课外知识,培养学生的自学能力。之前有学弟跟我提过想在大学里学会自学能力,但问他是否参加“星火杯”,得到的答案却是否定的,因为自己啥都不懂,怕做不来。
有朋友跟我说:“你是一个励志的存在。”在大三的时候,只靠着对大一所学C语言的依稀印象,一天学会单片机,并立即投入到公司的项目实践中。在大三这一年里,从原先毫无技术基础的菜鸟,到先后和公司、本校、外校都有过技术上的项目合作,内容涉及单片机、算法、安卓等,而且这段期间,我仍有不少时间是花费在玩游戏和看动漫上。大四的时候开始找工作,只面试了两家公司。第一个是MTK,软件和硬件的技术面都过了,复试会被刷,是因为面试官问我到底想做软件还是硬件,我答不上来。第二个便是现在签约了的华为,五轮面试一路顺利通过,当别人面试完得回去等通知时,我已经当面获得了Offer,并通知第二天签约。会说这一些,包括前些天讲的那个单片机讲座,只是想让你们知道,技术,或说对未知知识的学习,并不是什么多困难的事。
但今天会写这篇东西,并不是想跟大家讲励志故事的,而相反,我想说的是惊悚故事,而且如果不稍加注意的话,说不定下一个主角就是我们自己。
一、现今中国大学生的能力普遍不符合社会的需求,加班不是因为工作量大,而是为了补上在大学时浪费的时间
先谈谈之前在华为培训时的经历和感受。小标题里之所以会把中国大学生说得那么“差”,很大程度上和在华为培训时的经历分不开。
我从来不觉得自己在技术或说学习上有多厉害,因为在科协的这段日子里,让我见识也认识了不少真正的大神,而且是前有古人,后有来者,和他们相比,我还差得远。但在华为培训时,却让我长了不少自信。
培训期间有一次团队实践,要求两人为一组,在两天内写一个软件收费系统,同时要求无告警且软件质量检测为优秀。队友表示打酱油的,把全部程序交给我来写。结果程序只花了一天便完成,各类测试无异常,无告警且平均圈复杂度为4(圈复杂度是一种代码复杂度的衡量标准,越大说明程序代码可能质量低且难于测试和维护,一般将15以下的定为优秀级别),而这些足以体现题目的简单。
可就是这么简单的一个题目,两天期限到后全班只有5组(每期培训50人)在时间内完成。这样的情况并非偶然,培训最后一天有一个考核,每人一天时间独立完成一软件设计与编码,题目依旧不难(只用一个上午便完成),可结果仍惨不忍睹,班里近90%的人员无法独立完成。这些人当中,80%的人是西电的学生,有通信、软件和计算机等专业,其中不乏国家奖学金获得者以及研究生的身影。倒是班主任们表现得很淡定,因为这不是个别现象,这一届办过的10多期培训班不乏类似情况出现,会有这样的结果也算意料之中,班主任说办这类培训不指望能一步到位,但至少能让大家意识到自身的不足。
和培训的讲师聊天,谈到华为的加班问题。在华为,加班最多的一般是两种人:一种是基础薄弱导致工作内容出错的人,需要通过加班来修正错误,而且是一人出错群体遭罪,大家得帮着找出错误;另一种则是新入职员工,因为学校的教学内容与考核标准远低于实际需求,新员工加班不是因为工作量有多大,而是要学习的新内容太多,只能通过加班来实现。
之前单片机讲完后和大二大三的朋友们边走边聊,学妹说看到那些认真学习的人压力很大,我说没必要这么觉得,就整体而言,“大学生”这三个字的分量没你们想象中那么重,学习好的不见得就符合社会的需求(前面提到的培训情况便是这样的实例),你们的每一分努力,不是在追赶,而是在超越别人,大家眼里的“牛人”们终究只是少数。因为学校提供的知识与考核只是最低限度的要求,甚至可以说和现实的需求还沾不上边。
当然这不是在提倡“读书无用论”,作为学生,能让别人了解到自身情况的,只有在校的各类表现(成绩、活动、实践等),假如连这点最低需求都满足不了,凭什么让社会相信我们能达到更高的要求。无论是学士、硕士或博士,终究都是要回归社会这个大集体的,没意识到现实严峻性的人们,难怪会高呼“大学生工作难”或怀念那段无忧无虑的大学日子。人无远虑,才有近忧。