小白到C++职场精英成就平凡之路(三、如何看待考证热)

1.4 新手如何学习一门新的语言

学习程序设计语言是程序员的看家功夫。许多程序员边编边学,没有止境,可以说是“活到老学到老”。在语言面前,程序员永远是学生。然而,程序设计语言是一项不断发展的技术,从机器语言到汇编语言,从低级语言到高级语言,从面向过程语言到面向对象语言,从C/S语言到B/S语言,从非跨平台语言到跨平台跨系统语言,从纯语言到开发平台工具,真的是目不暇接。这些革命性的技术浪潮推动着程序员不断学习新的语言以适应其发展,否则程序员将被淘汰。

学习新的语言有两类人员,一类是从来没有程序设计语言基础的、没有编过程序的人;另一类是已经掌握了一门或一门以上语言,正想要学习更高版本语言或新的语言的人。对于第一类的人我且称为新手。

新手要学习一门程序语言,若是将新手比作一张白纸,可以画出最新最美的图画,同样也可以画得乱七八糟没有美感。新手的第一门语言对其今后的影响是巨大的,如果学得好,则自信心大增,对今后的发展非常有利;如果学得不好,学不下去,则对其职业生涯打击很大。新手面对众多的语言往往无从下手,第一,不知道学哪种语言为好;第二,不知道如何学习;第三,不知道能不能学好!

我认为,就目前而言,先学习Java、C#,今后再想学习应用于后台的C语言都是不错的选择。

针对第三点,我认为只要想学,有职业压力,没有学不好的,只有学不到最好的。

关于第二点,我的建议应特别注重两个要点:一是基础,二是动手能力。学语言首先要看书,然后要动手。那些认为光看书就能学会语言的想法是很幼稚的,而那种光注重编程而不注重读书的人,将来一定是动手能力强而编程水平低的。

1)新手不要急于求成,要把时间放长一点,先把基础知识学好,基础越扎实,今后编程水平就越有可能提高。看书至少要花三个月时间。

主要选择计算机原理、程序设计原理以及所学语言相关(最好是入门类,不要刻意地选择哪本,对初学者来说,任意一本都是好的)的三类书籍。

2)由于看书过程中肯定会遇到很多不懂的概念,而且各种概念之间的关系也不容易理解和掌握,所以许多新手望而生畏,坚持不下去。这个时候一定要学会坚持,坚持读下去,反复读下去,对实在不懂的概念要注意收集,将其牢记在心。这个时候最好不要找人去解答,而是把所有的书籍反复看完3遍之后,再去找人解答,这样就可以加深对这个问题的理解,而且解答者也愿意回答。如果一有问题就去问,一是解答者容易失去耐心,二是自己对问题没有印象,容易产生依赖性。

3)有了一定基础知识之后,就要自己想办法安装编程环境。安装编程环境的要点可参照1.2节中有关“流程”的阐述,这里就不再赘述。

4)开发环境安装完成后,新手就可以编写显示“hello world!”程序了。

编写这个程序目的主要是学习主程序的作用、主程序的参数入口、简单的赋值语句、显示功能调用和退出程序语句。通过完成这个程序,新手就可以对编写程序流程有一个切身体会。

5)接下来可以学习算术运算编程。试一试算术表达式编写,可以简单地编写一个计算器示例;也可以编写一个显示日历的复杂程序(若输入年份,则显示这个年份的日历)。在这个阶段主要是学习函数以及函数的调用、算术运算、条件语句、循环语句、显示功能等,这些都是编程的基础。

6)完成算术运算的学习后,可以编写更复杂的完整的程序了。例如可以编写一个学生信息管理程序。其功能为:接受一个学生信息(例如,学号、学生姓名、班级、年龄)并把它保存在计算机中,同时提供增加、删除、修改、查询功能。信息保存形式可以是文本文件,也可以是数据库。

这个阶段主要是学习变量、数据存放、文件操作、数据库操作、程序完整性等,这也是编程的基础。

7)完成上述学习之后,程序员要学会回头梳理自己编写的程序,梳理自己已经学过的概念。可以对自己以前的程序进行修改,培养不断提高自己编程水平的意识。

8)在这些过程中若遇到问题,先看帮助。帮助不行,最好是找懂行的人询问,不要自己钻牛角尖,浪费时间。上网查询也可以,但是不如询问别人直接。看书是不能解决问题的,切记!

9)在这些都完成之后,程序员可以有目的地针对自己将要开发的内容进行相应的技术学习和准备了。

10)编写程序的时间估计需要2~3个月。一般而言,一个新手学习一门语言需要半年左右的时间。有的可能要少一点,有的可能会多一点。但是,无论如何,最终的结果是程序员对语言有了初步的了解,可以用语言编写简单的程序了。

1.5 理性看待考证热

在当今这个社会,经常会出现各种所谓的热门现象。这说明目前的社会相对浮躁,而IT行业也同样不能避免。IT证书可谓名目繁多,应该有几十种。IT证书(认证证书)大体可分两类:一类是各大企业的认证,如微软、IBM、SUN、CISCO等认证考试,这类考试主要是考核考生的专业技能和特殊技术的水平;另一类是国家认可的考试认证:如全国计算机等级考试(NCRE)和全国计算机应用技术等级考试(NIT),考核的是考生综合的或某一领域的标准要求达到的程度。其实几乎所有的程序员都知道,程序员的能力是一种综合能力,其动手能力的成效是其能力的主要方面。若认为单靠考试就可以反映出考生的实际能力,那简直就是一个笑话。

证书的出现说明社会对任职资格的追求,反映出社会对无序现象的一种规范要求,反映出对“持证上岗”的认同。社会资格的本质是对人们之间竞争的一种限制。为了突破这种限制,获得在竞争中的优势,人们便千方百计地获取这种社会资格。于是社会上便出现了三类群体,一类是发放证书的,一类是获取证书的,一类是招聘中认可证书的。由于这三类群体都能从中获得直接的或间接的证书经济利益,于是,证书不火也难。当证书火到一定程度的时候,其原本内在的职能就慢慢地被异化了。人们不是为证明证书持有人的能力而设立考试,而是为了获取考试带来的经济利益而设立各种证书,于是证书的价值就贬值了。

但是,我们很多考生并没有深入地看到证书背后真正的内容,他们认为用人单位需要证书,没有证书就不能被录取。社会上大量流传着未经证实的证书和高薪之间的关系,更使某些证书神乎其神。因此,他们在证书方面花了大量的时间和金钱,为了证书而证书,能考多少证书就考多少证书。为的是在应聘时递交的简历上可以附上厚厚的各种证书。

就我本人而言,我好像没有考过什么证书,工作依然很顺利。这虽然和我成长所处的年代有关,但更重要的是我可能更关注自己能力的提高。如果自己的能力水平能够达到用人单位满意的要求,我相信即使你没有那些证书,用人单位也会考虑录取你的。我也相信有些用人单位的人力资源部门会按规定办事,没有证书不予录取状况也是存在的。这个时候,你自己就要权衡了,是进入按能力看人的企业求得发展呢,还是进入凭证书看人的企业求得发展呢?

我对证书方面的建议:

1)如果不占用自己大量的时间和金钱,能考多少证书就考多少证书。把考证书当做消遣和对知识的复习。

2)如果需要对国家证书和企业证书进行选择时,在没有针对性的情况下,选择国家证书。

3)如果自己对某类公司或某类岗位有意向的时候,最好打听其是否有刚性的证书要求,若有,则要不惜时间和金钱去获得这个证书。若没有刚性的要求,仅仅是一种参考,那就要根据个人情况,例如时间和金钱方面的条件,进行取舍。

4)在已经有足够证书的情况下,不要见一个证书就去考一个证书。尽量把时间放在自己的学习上和能力提升上。把时间和金钱节约下来做更重要的事。

5)不要和别人攀比证书多与少。因为每个人就业方向和机会都是不相同的。

6)没事的时候,可花点时间跟踪流行证书的情况,以便自己及时掌握证书最新情况,早作打算。

7)工作之后,也有可能因为你考了相关证书,可能会对你的薪水、岗位产生有利的影响;也可能对你跳槽有所帮助。这些在现实生活中也是可能出现的情况。

总之,我们要理性地对待考证热,我们不赞成为考证而考证,我们也不赞成能考证而不考证。我们赞成那种实用主义的态度:当我们刚性地需要考证的时候,我们就准备考试,争取获得证书。当证书仅作参考的时候,我们能考就考,不考则把时间和精力花在自己的能力提升上面。

在国内,证书的泛滥早已使证书失去了原有的价值。但是,我们应学会内外兼修,也不妨在提升自己内在能力的同时学会打扮自己,让自己更加漂亮一些,让别人更欣赏自己。

你可能感兴趣的:(小白到C++职场精英成就平凡之路(三、如何看待考证热))