程序员的十层楼大家都来测测你的技术层级 .docx
《程序员的十层楼大家都来测测你的技术层级 .docx》由会员分享,可在线阅读,更多相关《程序员的十层楼大家都来测测你的技术层级 .docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的很多程序员们对此可能有很多不同的看法,有些人认为中国的程序员水平远落后于西方,有些就认为中国的程序员个人才能并不比西方的程序员差,只是整个软件产业落后而已。那么,究竟中国的程序员水平比西方程序员水平差,仍是中国有很多优秀的程序员达到或超过了西方程序员同等水平了?要解决这个问题,必需先知道程序员有多少种技术层级, 每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知 道 到 底 有 没 有 差 距 , 差 距 有 多 大 。当然,对于如何划分程序员的技术层级,不同公司或
2、不同人会有不同的划分标准,下面的划 分 仅 代 表 个 人 的 观 点 , 如 有 不 当 之 处 , 仍 请 砸 板 砖 予 以 纠 正 。第1层菜鸟第 1 层楼属于的板层,迈进这层楼的门槛是很低的。基本上懂运算机的基本操作,明白计算 机 专 业 的 一些 基 础 学问 , 掌 握 一 门基 本 的 编程 语 言 如 C/C+ , 或者 Java, 或 者JavaScript,.,均可入门迈进这层。在这层上,中国有着确定的优势,除了从运算机专业毕业的众多人数外,仍有大量的通 信、自动化、数学等相关专业的人士进入这一行,此外仍有众多的其他专业转行的人士, 人数确定比西方多出甚多。并且仍有一个优
3、势就是我们这层人员的平均智商比西方确定高。没有多少人情愿一辈子做菜鸟,由于做 菜鸟 的味道实在是不咋的,成天被老大们叫卖着去装装机器,搭建一下测试环境,或者对比着别人写好的测试用例做一些黑盒测试,好一点的可以被支配去写一点测试代码。当然假如运气好 的话,遇到了国内的一些作坊式的公司,也有机会去写一些正式的代码。所第以 ,菜鸟 们2总是 在努力层学 习,希望 爬 更高的 一大层楼 去。虾从第 1 层爬到第 2 层相对简洁一些,以C/C+ 程序员为例,只要娴熟把握C/C+ 编程语言,把握 C 标准库和常用的各种数据结构算法,把握STL 的基本实现和使用方法,把握多线程编程基础学问,把握一种开发环境
4、,再对各种操作系统的API 都去使用一下,搞网络编程的当然对socket 编程要好好把握一下,然后再学习一些面对对象的设计学问和设计模式等,学习一些测试、软件工程和质量掌握的基本学问,大部分人经过2 3 年的努力,都可以爬到第2层,晋升为大虾。中国的 大虾 数量和 菜鸟 数量估量不会少多少,所以这层上仍旧远领先于西方。可编辑资料 - - - 欢迎下载精品名师归纳总结大虾们通常仍是有些自知之明,知道自己只能实现一些简洁的功能,做不了大的东西,有时候仍会遇到一些疑难问题给卡住,所以他们对那些大牛级的人物通常是特别崇拜的,国外的如 Robert C. Martin 、Linus Torvalds,国
5、内的如求伯君、王志东等通常是他们崇拜的对象。其中的有些人期望有一天也能达到这些大牛级人物的水平,所以他们连续往楼上爬去。第3层牛人由于 大虾 们常常被一些疑难问题给卡住,所以有了 大虾 们只好连续学习,他们需要将原先所学的学问进一步娴熟把握,比如以娴熟把握C+ 编程语言为例,除了学一些基础性的 C+ 书籍如 C+ Primer , Effective C+ , Think in C+, Exception C+ 等之外,更重要的是需要明白C+ 编译器的原理和实现机制,明白操作系统中的内部机制如内存治理、进程和线程的治理机制,明白处理器的基础学问和代码优化的方法,此外仍需要更深化的学习更多的数据
6、结构与算法,把握更深化的测试和调试学问以及质量治理和控制方 法,对各种设计方法有更好的理解等。学习上面说的这些学问不是一挥而就的,不看个三五十本书并把握它是做不到的。以数据结构算法来说,至少要看个5 10 本这方面的著作。以软件设计来说,光懂结构化设计、面对对象设计和一些设计模式是不够的,仍要明白软件架构设计、交互设计、面对方面的设计、面对使用的设计、面对数据结构算法的设计、情感化设计等,否就是很难进到这个楼层的。当然除了上面说的学问外,大虾们仍需要去学习各种体会和技巧。当然这点难不倒他们, 现在出版的书籍众多,网络上的技术文章更是不胜数,然后再去各种专业论坛里泡一泡, 把这些书籍和文章中的各
7、种体会、技能、技巧把握下来,再去学习一些知名的开源工程如Apache 或 Linux 操作系统的源代码实现等。此时应付一般的疑难问题通常都不在话下,菜鸟 和 大 虾 们 会 觉 得 你 很 牛 , 你 也 就 爬 到 了 第 3 层 , 晋 升 为 牛 人 了 。看了上面所讲的要求,可能有些大虾要晕过去了,成为牛人要学这么多东西啊!要求是不是太高了?其实要求一点也不高,这么点东西都把握不了的话,怎么能让别人觉得你牛了?需要提一下的是,进入多核时代后,从第2 层爬到第3 层增加了一道多核编程的门槛。当然要迈过这道门槛并不难,已经有很多前辈高人迈进了这道门槛,只要循着他们的脚印前进 就 可 以 了
8、 。 想迈 进 这 道 门槛 者 不 妨 去 学 习 一 下 TBB 开 源 工 程的 源 代 码 链 接 : http:/www.threadingbuildingblocks.org/ , 然 后 上 Intel 的 博 客 ( http:/softwareblogs- )和多核论坛( )去看看相关文章,再买上几本相关的书籍学习一下。在国内,一旦成为 牛人 ,通常可以到很多知名的公司里去,运气好者可以挂上一个架构师的头衔,甚至挂上一个首席架构师 或者 首席 xx 学家 的头衔也不足为奇。有不少爬到这层的人就以为到了楼顶了,可以眼睛往天上看了,开头目空一切起来,以为自己什么都可以做了,什么都
9、懂了,常常在网络上乱砸板砖是这个群体的最好写照。由此也看出,国可编辑资料 - - - 欢迎下载精品名师归纳总结内 的 牛 人 数 量 仍 然 众 多 , 远 多 于 西 方 的 牛 人 数 量 , 在 这 层 上 仍 然 是 领 先 的 。也有不少虚心的 牛人 ,知道自己现在仍不到半桶水阶段。他们深知爬楼的嬉戏就像猴子上树一样,往下看是笑脸,往上看是屁股。为了多看笑脸,少看屁股,他们并没有在此停步 不 前 , 而 是 继 续 寻 找 到 更 上 一 层 的 楼 梯 , 以 便 继 续 往 上 爬 。第4层大牛从第 3 层爬到第4 层可不像上面说过的那几层一样简洁,要成为大牛的话,你必需要能做牛
10、人们做不了的事情,解决牛人们解决不了问题。比如牛人们通常都不懂写操作系统,不会写编译器,不懂得TCP/IP 协议的底层实现,假如你有才能将其中的任何一个实现得象模象样 的 话,那 么 你就 从 牛 人升 级 为大 牛了。当然,由于各个专业领域的差别,这里举操作系统、编译器、TCP/IP 协议只是作为例子, 并不代表成为 大牛 肯定需要把握这些学问,以时下热门的多核编程来说,假如你能比牛人们更深化的把握其中的各种思想原理,能更加自如的运用,并有才能去实现一个象开源工程 TBB 库一样的东西,也可以成为大牛 ,又或者你能写出一个类似Apache 一样的服务器, 或者 写出 一个 数据库 ,都 可以
11、 成为 大牛 。要成为 大牛 并不是一件简洁的事情,需要付出比牛人们多得多的努力,一般来说,至少要看过 200400 本左右的专业书籍并好好把握它,除此之外,仍得常常关注网络和期刊杂志上的各种最新信息。当 牛人 晋升为 大牛 ,让 牛人们 发觉有比他们更牛的人时,对 牛人 们的心灵的震动是可想而知的。由于牛人们的数量巨大,并且牛人对大虾和菜鸟阶层有言传身教的影响,所以大牛们通常能获得特别高的社会知名度,几乎可以用 引很多菜鸟、大虾、牛人竞折腰来 形 容 , 看 看 前 面 提 过 的 LinusTorvalds等 大 牛 , 应 该 知 道 此 言 不 虚 。虽然成为 大牛 的条件看起来似乎很
12、高似的,但是这层楼并不是很难爬的一层,只要通过肯定的努力,素养不是很差,仍是有很多 牛人 可以爬到这一层的。由此可知, 大牛 这个楼层的人数其实并不像想像的那么少,例如比尔盖茨之类的人似乎也是属于这一层的。由于 大牛 这层的人数不少,所以也很难统计除究竟是中国的大牛 数量多仍是西方的大牛 数量 多 ? 我 估 计 应 该 是 个 旗 鼓 相当 的 数 量 , 或 者中 国 的 大 牛 们 会 更 多 一 些 。看到这里,可能会有很多人会以为我在这里说瞎话,Linus Torvalds 写出了闻名的 Linux 操作系统,我国并没有人写出过类似的东西啊,我国的大牛 怎么能和西方的比了 . 不知大
13、家留意到没有, Linus Torvalds 只是写出了一个象模象样 的操作系统雏形, Linux后来真正进展成闻名全球的开源操作系统期间,完全是由于很多支持开源的商业公司如IBM 等,派出 了 许 多 比LinusTorvalds更 高 楼 层 的 幕 后 英 雄 在 里 面 把 它 开 发 出 来 的 。可 能 有 些 菜 鸟 认 为 LinusTorvalds是 程 序 员 中 的 上 帝 , 不 妨 说 个 小 故 事 :可编辑资料 - - - 欢迎下载精品名师归纳总结Linus , Richard Stallman 和 Don Knuth ( 高 德 纳 ) 一 同 参 加 一 个
14、会 议 。Linus 说 : 上 帝 说 我 创 造 了 世 界 上 最 优 秀 的 操 作 系 统 。 Richard Stallman 自 然 不 甘 示 弱 的 说 : 上 帝 说 我 创 造 了 世 界 上 最 好用 的 编 译 器 。 Don Knuth 一 脸 疑 惑 的 说 : 等 等 , 等 等 , 我 什 么 时 候 说 过 这 些 话 ? 由此可以看出, Linus Torvalds 的技术水平并不像想像中那么高,只是 牛人 和大虾 觉得 大牛 比他们更牛吧了。在我国,有一些当时仍处于 大虾 层的人物,也能写出介绍如何写操作系统的书,并且书写得特别杰出,而且写出了一个有那么
15、一点点象模象样的操作系统来。我想中国的 大牛 们是不会比西方差的,之所以没有人写出类似的商业产品来,完全是 社会 环境的 原因 ,并不 是技 术能 力达不 到的 原因 。 大牛 们之所以成为大牛,主要的缘由是由于把牛人 给盖了下去,并不是他们自己觉得如何牛。或许有很多菜鸟、大虾甚至牛人觉得 大牛 这层已经到顶了,但大多数 大牛 估量应当是有自知之明的,他们知道自己现在仍没有爬到半山腰,也就将就能算个半桶水的水平,其中有些爬到这层没有累趴下,仍旧能量充分,并且又有志者,仍是会连续往更上一层楼爬的。看到这里,或许有些菜鸟、大虾、牛人想不明白了,仍有比 大牛 们更高的楼层,那会是什 么 样 的 楼
16、层 ? 下 面 就 来 看 看 第5层 楼 的 奥 妙 。第5层专家当大牛们真正动手做一个操作系统或者类似的其他软件时,他们就会发觉自己的基本功仍然有很多的不足。以内存治理为例,假如直接抄袭Linux或者其他开源操作系统的内存治理算法,会被人看不起的,假如自动动手实现一个内存治理算法,他会发觉现在有关内存治理方法的算法数量众多,自己并没有全部学过和实践过,不知道究竟该用那种内存治理算法。看到这里,可能有些人已经明白第5 层楼的奥妙了,那就是需要做基础争论,当然在运算机里,最重要的就是运算 二字,程序员要做基础争论,主要的内容就是争论非数值运算。非数值运算可是一个特别巨大的领域,不仅时下热门的多
17、核运算 与 云运算 属于非数值运算范畴,就是软件需求、设计、测试、调试、评估、质量掌握、软件工程等本质上也属于非数值运算的范畴,甚至芯片硬件设计也同样牵涉到非数值运算。假如你仍没有真正领悟 计 算 二 字 的 含 义 , 那 么 你 就 没 有 机 会 进 到 这 层 楼 来 。可能有人仍旧没有明白为什么比尔盖茨被划在了大牛层,没有进到这层来。虽然比尔盖茨高校未毕业,学历不够,但是家有藏书2 万余册,进入软件这个行业比绝大部分人都早,撇开他的商业才能不谈,即使只看他的技术水平,也可以算得上是学富五车,顶上几可编辑资料 - - - 欢迎下载精品名师归纳总结个一般的运算机软件博士之和是没有问题的,
18、比起Linus Torvalds 之类的 大牛 们应当技高一筹才对,怎么仍进不了这层楼了?特别遗憾的是,从Windows 操作系统的实现来看,其对运算的懂得是很肤浅的,假如把Google 对运算方面的懂得比做高校生,比尔盖茨只能算做一个中同学,所以比尔盖茨永久只能做个大牛人,成不了专家。看到这里,或许国内的大牛们要兴奋起来了,原先比尔盖茨也只和我等在同一个层次,只 要再升一层就可以超越比尔盖茨了。不过爬到这层可没有从牛人 升为 大牛 那么简洁, 人家比尔 盖茨都家有 2 万多册书,让你看个5001000 本以上的专业书籍并把握好它应当要求不高吧。当然,这并不是主要的条件,更重要的是,需要到专业
19、的学术站点去学习了,到 ACM , IEEE , Elsevier, SpringerLink , SIAM等的方去下载论文应当成为你的定期功课,使用Google 搜寻引擎中的学术搜寻更是应当成为你的日常必修课。此外,你仍得经常关注是否有与你争论相关的开源工程冒出来,例如当听到有TBB 这样针对多核的开源工程时,你应当第一时间到Google 里输入 TBB 搜寻一下,将其源代码下载下来好好争论一番 , 这 样 也 许 你 的 一 只 脚 已 经 快 迈 进 了 这 层 楼 的 门 槛 。当你象我上面说的那样去做了以后,随着时间的推移,总会有某天,你发觉,在很多小的领域里,你已经学不到什么新东西
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序员的十层楼大家都来测测你的技术层级 程序员 十层楼 大家 测测 技术 层级
限制150内