2023年程序员的十层楼.doc

上传人:枫** 文档编号:558936745 上传时间:2024-01-12 格式:DOC 页数:49 大小:64.04KB
返回 下载 相关 举报
2023年程序员的十层楼.doc_第1页
第1页 / 共49页
2023年程序员的十层楼.doc_第2页
第2页 / 共49页
2023年程序员的十层楼.doc_第3页
第3页 / 共49页
2023年程序员的十层楼.doc_第4页
第4页 / 共49页
2023年程序员的十层楼.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《2023年程序员的十层楼.doc》由会员分享,可在线阅读,更多相关《2023年程序员的十层楼.doc(49页珍藏版)》请在金锄头文库上搜索。

1、自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此也许有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达成或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员 有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差距,差距有多大。当然,对于如何划分程序员的技术层级,不同公司或不同人会有不同的划分标准,下面的划分仅代表个人

2、的观点,如有不妥之处,还请砸板砖予以纠正。第 1层 菜鸟第1层楼属于地板层,迈进这层楼的门槛是很低的。基本上懂计算机的基本操作,了解计算机专业的一些基础知识,掌握一门基本的编程语言如 C/C+,或者Java,或者JavaScript,均可入门迈进这层。在这层上,中国有着绝对的优势,除了从计算机专业毕业的众多人数外,尚有大量的通信、自动化、数学等相关专业的人士进入这一行,此外尚有众多的其他专业转行的人士,人数绝对比西方多余甚多。并且尚有一个优势就是我们这层人员的平均智商比西方肯定高。没有多少人乐意一辈子做菜鸟,由于做”菜鸟”的滋味实在是不咋的,整天被老大们吆喝着去装装机器,搭建一下测试环境,或者

3、对照着别人写好的测试用例 做一些黑盒测试,好一点的可以被安排去写一点测试代码。当然假如运气”好”的话,碰到了国内的一些作坊式的公司,也有机会去写一些正式的代码。所以,菜鸟们总是在努力学习,希望爬更高的一层楼去。第2层 大虾从第1层爬到第2层相对容易一些,以C/C+程序员为例,只要纯熟掌握C/C+编程语言,掌握C标准库和常用的各种数据结构算法,掌握STL的 基本实现和使用方法,掌握多线程编程基础知识,掌握一种开发环境,再对各种操作系统的API都去使用一下,搞网络编程的当然对socket编程要好好掌握 一下,然后再学习一些面向对象的设计知识和设计模式等,学习一些测试、软件工程和质量控制的基本知识,

4、大部分人通过23年的努力,都可以爬到第2层,晋 升为”大虾”。中国的”大虾”数量和”菜鸟”数量估计不会少多少,所以这层上仍然远领先于西方。大虾们通常还是有些自知之明,知道自己只能实现一些简朴的功能,做不了大的东西,有时候还会碰到一些疑难问题给卡住,所以他们对那些大牛级的人物通 常是非常崇敬的,国外的如Robert C. Martin、Linus Torvalds,国内的如求伯君、王志东等通常是他们崇拜的对象。其中的有些人希望有一天也能达成这些大牛级人物的水平,所以他们继续往楼上爬去。第 3层 牛人由于”大虾”们经常被一些疑难问题给卡住,所以有了”大虾”们只好继续学习,他们需要将本来所学的知识进

5、一步纯熟掌握,比如以熟练掌握C+编程语 言为例,除了学一些基础性的C+书籍如C+ Primer,Effective C+,Think in C+,Exception C+等之外,更重要的是需要了解C+编译器的原理和实现机制,了解操作系统中的内部机制如内存管理、进程和线程的管理机制,了解解决器的基础知识和 代码优化的方法,此外还需要更进一步地学习更多的数据结构与算法,掌握更进一步的测试和调试知识以及质量管理和控制方法,对各种设计方法有更好的理解等。学习上面说的这些知识不是一挥而就的,不看个三五十本书并掌握它是做不到的。以数据结构算法来说,至少要看个 510本这方面的著作;以软件设计来 说,光懂结

6、构化设计、面向对象设计和一些设计模式是不够的,还要了解软件架构设计、交互设计、面向方面的设计、面向使用的设计、面向数据结构算法的设计、 情感化设计等,否则是很难进到这个楼层的。当然除了上面说的知识外,大虾们还需要去学习各种经验和技巧。当然这点难不倒他们,现在出版的书籍众多,网络上的技术文更是不胜数,然后再去各种 专业论坛里泡一泡,把这些书籍和文中的各种经验、技能、技巧掌握下来,再去学习一些知名的开源项目如Apache或 Linux操作系统的源代码实现等。 此时对付一般的疑难问题通常都不在话下,菜鸟和大虾们会觉得你很”牛”,你也就爬到了第3层,晋升为”牛人”了。看了上面所讲的规定,也许有些大虾要

7、晕过去了,成为牛人要学这么多东西啊!规定是不是太高了?其实规定一点也不高,这么点东西都掌握不了的话,怎么能让别人觉得你”牛”呢?需要提一下的是,进入多核时代后,从第2层爬到第3层增长了一道多核编程的门槛。当然要迈过这道门槛并不难,已有很多前辈高人迈进了这道门槛,只 要循着他们的足迹前进就可以了。想迈进这道门槛者不妨去学习一下TBB开源项目的源代码(链 接:),然后上Intel的博客(http: /softwareblogs- 一旦成为”牛人”,通常可以到许多知名的公司里去,运气好者可以挂上一个架构师的头衔,甚至挂上一个”首席架构师”或者”首席xx学家”的头衔也局限性为 奇。有不少爬到这层的人就

8、认为到了楼顶了,可以眼睛往天上看了,开始目空一切起来,认为自己什么都可以做了,什么都懂了,经常在网络上乱砸板砖是这个群体 的最佳写照。由此也看出,国内的牛人数量仍然众多,远多于西方的牛人数量,在这层上仍然是领先的。也有不少谦虚的”牛人”,知道自己现在还不到半桶水阶段。他们深知爬楼的游戏就像猴子上树同样,往下看是笑脸,往上看是屁股。为了多看笑脸,少看屁股,他们并没有在此停步不前,而是继续寻找到更上一层的楼梯,以便继续往上爬。第4层 大牛从第 3层爬到第4层可不像上面说过的那几层同样容易,要成为大牛的话,你必须要能做牛人们做不了的事情,解决牛人们解决不了问题。比如牛人们通常都 不懂写操作系统,不会

9、写编译器,不懂得TCP/IP协议的底层实现,假如你有能力将其中的任何一个实现得象模象样的话,那么你就从牛人升级为”大牛”了。当然,由于各个专业领域的差别,这里举操作系统、编译器、TCP/IP协议只是作为例子,并不代表成为”大牛”一定需要掌握这些知识,以时下热门的 多核编程来说,假如你能比牛人们更进一步地掌握其中的各种思想原理,能更加自如的运用,并有能力去实现一个象开源项目TBB库同样的东西,也可以成为”大 牛”,又或者你能写出一个类似Apache同样的服务器,或者写出一个数据库,都可以成为”大牛”。要成为”大牛”并不是一件简朴的事情,需要付出比牛人们多得多的努力,一般来说,至少要看过20040

10、0本左右的专业书籍并好好掌握它,除此之外,还得经常关注网络和期刊杂志上的各种最新信息。当”牛人”晋升为”大牛”,让”牛人们”发现有比他们更牛的人时,对”牛人”们的心灵的震撼是可想而知的。由于牛人们的数量庞大,并且牛人对大虾和 菜鸟阶层有言传身教的影响,所以大牛们通常能获得非常高的社会知名度,几乎可以用”引无数菜鸟、大虾、牛人竞折腰”来形容,看看前面提过的Linus Torvalds等大牛,应当知道此言不虚。虽然成为”大牛”的条件看起来似乎很高似的,但是这层楼并不是很难爬的一层,只要通过一定的努力,素质不是很差,还是有许多”牛人”可以爬到这一层的。由此可知,”大牛”这个楼层的人数其实并不像想像的

11、那么少,例如比尔?盖茨之类的人仿佛也是属于这一层的。由于”大牛”这层的人数不少,所以也很难记录除到底是中国的”大牛”数量多还是西方的大牛数量多?我估计应当是个旗鼓相称的数量,或者中国的”大牛”们会更多一些。看到这里,也许会有很多人会认为我在这里说瞎话,Linus Torvalds写出了著名的Linux操作系统,我国并没有人写出过类似的东西啊,我国的”大牛”怎么能和西方的比呢? 不知大家注意到没有,Linus Torvalds只是写出了一个”象模象样”的操作系统雏形,Linux后来真正发展成闻名全球的开源操作系统期间,完全是由于许多支持开源的商业公司如 IBM等,派出了许多比Linus Torv

12、alds更高楼层的幕后英雄在里面把它开发出来的。也许有些菜鸟认为Linus Torvalds是程序员中的上帝,不妨说个小故事:Linus,Richard Stallman和Don Knuth(高德纳)一同参与一个会议。Linus 说:”上帝说我发明了世界上最优秀的操作系统。”Richard Stallman自然不甘示弱地说:”上帝说我发明了世界上最佳用的编译器。”Don Knuth一脸疑惑的说:”等等,等等,我什么时候说过这些话?”由此可以看出,Linus Torvalds的技术水平并不像想像中那么高,只是”牛人”和”大虾”觉得”大牛”比他们更牛吧了。在我国,有一些当时还处在”大虾”层的人物,

13、也能写 出介绍如何写操作系统的书,并且书写得非常杰出,并且写出了一个有那么一点点象模象样的操作系统来。我想中国的”大牛”们是不会比西方差的,之所以没有人 写出类似的商业产品来,完全是社会环境的因素,并不是技术能力达不到的因素。“大牛”们之所以成为大牛,重要的因素是由于把”牛人” 给盖了下去,并不是他们自己觉得如何牛。也许有很多菜鸟、大虾甚至牛人觉得”大牛”这层已经 到顶了,但大多数”大牛”估计应当是有自知之明的,他们知道自己现在还没有爬到半山腰,也就勉强能算个半桶水的水平,其中有些爬到这层没有累趴下,仍然能 量充沛,并且又有志者,还是会继续往更上一层楼爬的。看到这里,也许有些菜鸟、大虾、牛人想

14、不明白了,尚有比”大牛”们更高的楼层,那会是什么样的楼层?下面就来看看第5层楼的奥妙。第5层 专家当大牛们真正动手做一个操作系统或者类似的其他软件时,他们就会发现自己的基本功仍然有很多的局限性。以内存管理为例,假如直接抄袭Linux或者其 他开源操作系统的内存管理算法,会被人看不起的,假如自动动手实现一个内存管理算法,他会发现现在有关内存管理方法的算法数量众多,自己并没有所有学过和 实践过,不知道到底该用那种内存管理算法。看到这里,也许有些人已经明白第5层楼的奥妙了,那就是需要做基础研究,当然在计算机里,最重要的就是”计算”二字,程序员要做基础研究,重要的内容就是研究非数值”计算”。非数值计算可是一个非常庞大的领域,不仅时下热门的”多核计算”与”云计算”属于非数值计算范畴,就是软件需求、设计、测试、调试、评估、质量控 制、软件工程等本质上也属于非数值计算的范畴,甚至芯片硬件设计也同样牵涉到非数值计算。假如你还没有真正领悟”计算”二字的含义,那么你就没有机会进到 这层楼来。也许有人仍然没有明白为什么比尔盖茨

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号