一本送给在校计算机专业大学生的好书

《我是一只IT小小鸟》推荐序

北京理工大学计算机学院 金旭亮

电子工业出版社博文视点公司计划出版一本讲述IT人成长经历的书——《我是一只IT小小鸟》,邀请了20多名IT行业的在职人员、研究生和本科生畅谈自己的成长经历,一滴水中见世界,从这些作者的亲身经历和人生感悟中,我们可以看到中国IT行业近二十年来的长足进步,以及在饱受国人责骂中艰难前行的中国IT教育。

在此,我向中国当前数百万在校学习的计算机及相关专业研究生和本科生推荐此书。

我自己应该也算是一只“年纪不小”的“IT小小鸟”了,1993年从广西大学本科毕业,在偶然机缘的触发下从1994年开始自学计算机,并跳槽到IT公司工作,1999年考入北京理工大学计算机学院读研,期间四处打工,之后留校在计算机学院任教至今,十多年了,始终没有脱离IT这个圈子,因此,书中各位作者的成长经历引起自己的很多共鸣。

我一直在关注和思索国内软件技术的应用推广以及IT人才的培养问题。2003年,我在CSDN“程序人生”论坛发表了一篇长长的个人自传——《一个普通IT人的十年回顾》,全面回顾与总结了自己的一段人生经历,集中表述我对软件技术应用与人才培养方面的观点,引发了许多学生和IT行业在职人士的强烈共鸣和激烈反响,此文在网络上被四处转贴,甚至被转贴到了台湾和海外的华人论坛,而我个人也收到了近千封邮件。2006年下半年,因自己在计算机软件技术教学实践中受挫,就在个人博客上发表《我被中国计算机教育的现实打败了》一文,出乎意料,这篇其实不过是在发牢骚的文章竟也会引发了一场激烈的论战,一场有关计算机学习与中国计算机教育方式的论战——“理论先行”还是“实践第一”。足见大家对这些问题的关注程度。

我曾经是一名“四处打工”的程序员,先后在十多家软件企业“露过面”和“干过活”,毕业后又当了7年计算机专业的教师,接触到了大量的在校本科生和研究生,在思索与实践的过程中,渐渐对一些问题有了更深入的认识,而我的一些观点,在本书所选取的这些 “IT小小鸟”的成长经历中也得到了验证,我把其中的一些要点“过滤”出来,希望能对阅读本书的读者,尤其是那些还在学校学习的大学生们有所帮助。

1 兴趣第一原则
         如果你仔细阅读本书的所有文章,一定会发现一个特点:几乎所有的文章作者都对计算机技术或IT行业本身有兴趣。正是这种强烈的兴趣,为他们持续努力、最终成长为优秀的IT人才提供了强大的源源不断的推动力。

然而很不幸,对于刚进大学对所学专业并不了解的学生,偏于僵化与脱离实际的中国高等教育体制,恰恰在“扼杀”学生对本专业的兴趣方面“效率极高”。

在此,我鼓励所有在校的大学生,一定要尝试着发现你的兴趣所在,你的特长所在,然后围绕着你的爱好和特长来确定你的发展方向,不要从众和跟风。

另一个在学生中很常见的问题就是:“我不知道我的特长在哪里,我也不知道干哪个工作最有可能出成绩。”其实大学就是让你去思索和解决这个问题的最佳场所之一,你可以放心大胆地去进行各种尝试,在实践中逐渐了解自己。另外,尝试着从另一个方面来思考问题:“我不知道我喜欢干什么,那我知不知道我不喜欢干什么工作?”,去掉你不喜欢的,你是不是就接近了你所喜欢的?

读者不妨仔细分析一下,书中的这些IT人最初是如何形成对IT的兴趣的,相信一定会有所启发。

2 他山之石,可以攻玉,但不可照搬
         本书介绍了许多人的成长经历,对于读者而言,的确是“他山之石,可以攻玉”,但另一方面,没有一个人的经历是可以被重复的,因为环境不同,时代不同,更重要的是每个人都是独一无二的,而且世上万物时时刻刻都在变化当中。对于年青的学生而言,不要看到书中某人做某件事有较大的收获,然后你也想来个原样照搬。只要仔细了解清楚文章作者的个性,拥有哪些独特的个人经历,再结合他当时所处的周围环境状态,就能初步明白他当时为何会做出某个决定。

写到这里,我不禁联想到中学语文课本中收录的名篇——《庖丁解牛》中庖丁所说的话:

臣之所好者,道也;进乎技矣。

大道无术,其实成功的基本原则是相对稳定的,而走向成功的具体方法则因人因地因时而异。重读《庖丁解牛》,再看看书中各位作者的人生经历,是挺有意思的一件事。

3 软件技术的学习方法
         前面谈到了2006年我在CSDN引发的针对软件技术学习是“理论先行”还是“实践第一”的论战,其实大家只要看看书中诸位作者的成长经历,能找到几位是“理论先行”的?大多是“实践先行”,然后在实践一定的时间之后,再开始补上“理论”这一基础。

对于还在学校的学生,我的建议是在本科低年级(大一或大二)就要开始了解一种主流的软件开发与运行平台,熟练掌握一种开发工具,这样你就具备了进行开发实践的前提,然后,用你所掌握的技能和工具去大量实践,在实践中真正地理解和掌握好计算机科学的相关理论,了解到自己在知识和技能上的欠缺之处,然后有意识地加以弥补。更重要的,要在实践中争取能找到一种“感觉”,找到一个“方向”。读者不妨分析分析书中各位作者在这点上是如何做的,相信会有启发。

这些年来,软件技术的进步在不断地加速,许多技术领域都已发展成为一个庞大而复杂的技术体系,在技术的背后,还有着大量的计算机科学理论作为技术的根基和灵魂,在这样一个时代背景下,“怎样高效地学习软件技术”成了一个需要严肃对待和认真思考的问题。

就软件技术本身而言,我所看到的是一张庞大的“知识之网”,其结构类似于互联网中相互链接在一起的网页,各种知识和技术之间都有着直接或间接的联系,而任何一个人,究其一生之力,恐怕也只能掌握这张“大网”中的一小块区域。

对于个人而言,面对着客观上存在的“软件技术大网”,大脑中要形成一个“小网”,一个活生生的可动态扩充的“知识之网”,这个小网是大网的映射,但不是机械的映射,而是建立在个人能动性基础之上的动态组建的“知识之网”,能否形成这一知识之网,对软件技术的学习至关重要。

你的这张“知识小网”上的“节点”,就是你已掌握的“已建立好了彼此之间联系”的具体知识,在学习新知识、培养新技能时,只要能找到新旧知识的结合点,就可以让这个新的知识成为你的知识之网的新节点,从而扩充你的“知识之网”。

所以,软件学习的过程,其实就是你“织网”的过程。如果你在学习过程中未能织成这一知识之网,你学到的就是零散的没多少用的知识,这种知识再多意义也不大。

我建议读者仔细看一下书中各位作者是如何“编织”自己的“知识之网”的,这对于读者构造有自己特色的知识之网是有帮助的。

4 名校效应
         书中的各位作者大多出身“名门”,有北大、清华、南大、华工等国内知名的重点大学,应该来说,由于要挤进“名校”的大门不易,因此能进入这些大门的大多数人自身就已经具有相当的潜力,加上名校一般都拥有独特的学习和科研氛围,其中的老师和同学大都满怀理想,积极进取,努力上进,在这样的环境中学习,人就容易成才。

然而,中国优质的教学资源并不多,而且高度集中于少数几个大城市,因此,大多数学生无缘进入名校,这是客观事实。

我的本科学业是在一所普通大学完成的,而研究生学业则在北理工这样一所重点大学完成,后来又接触到一些北京其他重点高校的老师和学生,的确,重点大学与普通高校在学习氛围和总体环境上是有差异的,我曾经也对此差别大为感慨,但我同时也要指出,尽管“名校效应”的确存在,但最终起决定性作用的还是自己!

身处“不入流”的普通高校,只有大专或中专学历,或者是走自考之路非科班出身,……这些外在的不利条件都不是决定性的。一个有志气的人,总能在环境的束缚中通过默默积聚实力,最终突破环境的限制,登上一个新的台阶。

也许你付出了很大的努力,但你发现由于起点和机遇的不同,有的人远远地领先于你,而你看上去“永远”也无法追上他,达到他的高度,即使这样,也不要气馁,你只要尽力,也就无愧于心了。

我一直非常欣赏这样一段话:

人生如同打牌,能抓到一手好牌的确是好运气,但重要的是,你不能靠运气生活,而要琢磨着怎样把手上这把看上去“不怎么样”的牌打好。

事实上,你可以从历史中找到无数的例子,这些一开始并没有抓到好牌的人最终却能取得很大的成就,做出重大的贡献。

人一生下来,他所处的生存和发展环境是不能自主选择的,由于所处环境的限制和其他因素的影响,也许别人可以当个架构设计师,而你只能当个“底层”的普通程序员,这没有关系,大家在人格上都是平等的,只不过能力有高低罢了,再普通的工作,如果能做到精益求精,那也很了不起,也是一种成功,而其中的关键是你有没有这样一种思想:

即使我“落魄”到在街边摆摊卖豆浆,也要努力成为这条街上“最好”的“豆浆摊”!

最后,引用庄子《逍遥游》中那神彩飞扬的文字作为本文的结尾:

北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。

……

鹏之徙于南冥也,水击三千里,抟扶摇而上者九万里,去以六月息者也。

……

希望书中的这些“IT小小鸟”们,最终都能成长为“遨游于九天之上”的“鲲鹏”。

也希望所有读了此书的读者,都能从此书中得到收益,迈出人生向上的步伐!

金旭亮

2009/8/24 于北京

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bitfan/archive/2009/09/10/4539373.aspx

《我是一只IT小小鸟》推荐序相关推荐

  1. App后台开发运维和架构实践学习总结(12)——基于token的多平台身份认证架构设计

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 一.概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情.随着移动互联网时 ...

  2. App后台开发运维和架构实践学习总结(8)——后台产品设计的4个原则

    什么是后台产品 后台产品也被我们称为后台管理系统.内部管理系统.简单而言,是给企业员工开发的办公性质产品,同时也是对用户使用的App,Web等产品的一个伴生产品. 我们还可以将后台产品按照使用对象分成 ...

  3. App后台开发运维和架构实践学习总结(5)——App产品从需求到研发到开发到上线到产品迭代全过程

    前言 如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,它与研发是有区别的.一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需求 ...

  4. App后台开发运维和架构实践学习总结(13)——OAuth 2.0 概述流程理解

    一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子.有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印 ...

  5. App后台开发运维和架构实践学习总结(10)——基于Java-JWT前后端token认证实战使用详解

    一.什么是JWT?了解JWT,认知JWT 首先jwt其实是三个英语单词JSON Web Token的缩写.通过全名你可能就有一个基本的认知了.token一般都是用来认证的,比如我们系统中常用的用户登录 ...

  6. App后台开发运维和架构实践学习总结(6)——App客户端与后台交互方式总结

    1.HTTP简单基本认证方式 这个是早期交互用得比较多的一种方式,主要是使用用户名和密码来交互,由于在每次的交互中,用户名和密码都会暴露给第三方,那么这么做是不可取的,风险十分大,所以这种认证方式并没 ...

  7. App后台开发运维和架构实践学习总结(2)——RESTful API设计技巧

    前言 移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式.尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支 ...

  8. App后台开发运维和架构实践学习总结(9)——三种常见的API设计错误及解决方案

    作为表单工具Typeform的API领头人,Jason Harmon恰好也与JSON schema同名了,他最近就"哪些因素破坏了生产环境"这个问题在APIdays会议上做了非常积 ...

  9. App后台开发运维和架构实践学习总结(4)——APP的注册和登录功能设计

    一.为什么需要注册和登录? 是否需要注册和登录的关键取决于产品形态. 如果用户注册登录对于用户需求.产品功能.商业模式本身带不来任何价值的话,就没必要设计这样的功能.比如一些实用工具类的产品:计算器. ...

  10. App后台开发运维和架构实践学习总结(3)——RestFul架构下API接口设计注意点

    1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orde ...

最新文章

  1. 底部固定菜单_捡起一只妲己团团,附送一个同校固定队友!还有这种好事?
  2. php round函数输出不对_PHP常量
  3. spring中bean的高级属性之list, set, map以及props元素(含举例)
  4. Bootstrap快速浮动.pull-left 或 .pull-right 类
  5. 就数据平台建设,80%的500强企业都有一个共性
  6. window.open() 方法
  7. 九度教程第28题-堆栈的的使用(栈的使用)
  8. jQuery新浪微博表情插件教程
  9. python提取身份证信息查询_Python+Opencv身份证号码区域提取及识别实现
  10. 2018小米商城首页html,html+css实现小米商城首页静态页面
  11. 微信小程序|基于小程序实现打卡功能
  12. java写qq空间6_学会自己编写QQ空间免费代码教程
  13. html640设计稿,移动设备分辨率(终于弄懂了为什么移动端设计稿总是640px和750px)...
  14. 【入门笔记】量化投资是什么?
  15. 用于CTF(MISC)的kali虚拟机更改过程记录
  16. csp试题2:二十四点
  17. Java核心技术之Comparator和Comparable在排序中的应用
  18. 550+集Java学习全套视频课程,新手入门收藏
  19. Flask框架——flask-caching缓存
  20. web项目API接口设计与开发总结

热门文章

  1. Python爬取门户论坛评论
  2. 客户端访问https时应无浏览器(含终端)安全警告信息;_Http升级Https(Let#x27;s Encrypt)...
  3. Web前端:改变鼠标样式
  4. ORACLE锁定账户的原因及解决办法
  5. 小型便携式AIS接收机dAI01
  6. 个人博客主页搭建随笔
  7. 5个开源免费的Java项目快速开发脚手架
  8. node php聊天室,利用socket.io实现多人聊天室(基于Nodejs)
  9. outlook使用笔记
  10. 在Linux上部署一些简单的服务,Linux进阶必看,定时任务