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