background image

 

所以,菜鸟们总是在努力学习,希望爬更高的一层楼去。

2

 

 

层 大虾

从第

1 层爬到第 2 层相对容易一些,以 C/C++程序员为例,只要熟练掌握

C/C++编程语言,掌握 C 标准库和常用的各种数据结构算法,掌握 STL 的基

 

本实 现和使用方法,掌握多线程编程基础知识,掌握一种开发环境,再对各种
操作系统的

API 都去使用一下,搞网络编程的当然对 socket 编程要好好掌握

 

一下, 然后再学习一些面向对象的设计知识和设计模式等,学习一些测试、软
件工程和质量控制的基本知识,大部分人经过

2~3 年的努力,都可以爬到第 2

层,晋升为

" 大虾"  

中国的

"大虾"数量和"菜鸟"数量估计不会少多少,所以这层上仍然远领先于西

方。

大虾们通常还是有些自知之明,知道自己只能实现一些简单的功能,做不了大
的东西,有时候还会遇到一些疑难问题给卡住,所以他们对那些大牛级的人物
通常是非常崇拜的,国外的如

Robert C. Martin、Linus Torvalds,国内的如

求伯君、王志东等通常是他们崇拜的对象。其中的有些人希望有一天也能达到
这些大牛级人物的水平,所以他们继续往楼上爬去。

3

 

 

层 牛人

由于

"大虾"们经常被一些疑难问题给卡住,所以有了"大虾"们只好继续学习,

他们需要将原来所学的知识进一步熟练掌握,比如以熟练掌握

C++编程语言为 

例,除了学一些基础性的

C++书籍如《C++ Primer》,《Effective C+

+》,《Think in C++》,《Exception C++》等之外,更重要的是需要了

C++编译器的原理和实现机制,了解操作系统中的内部机制如内存管理、进

 

程和线程的管理机制,了解处理器的基础知识和 代码优化的方法,此外还需要
更深入地学习更多的数据结构与算法,掌握更深入的测试和调试知识以及质量
管理和控制方法,对各种设计方法有更好的理解等。

学习上面说的这些知识不是一挥而就的,不看个三五十本书并掌握它是做不到
的。以数据结构算法来说,至少要看个

5~10 本这方面的著作;以软件设计来

 

说,光 懂结构化设计、面向对象设计和一些设计模式是不够的,还要了解软件
架构设计、交互设计、面向方面的设计、面向使用的设计、面向数据结构算法

 

的设计、情感化设计等,否则是很难进到这个楼层的。

当然除了上面说的知识外,大虾们还需要去学习各种经验和技巧。当然这点难
不倒他们,现在出版的书籍众多,网络上的技术文章更是不胜数,然后再去各
种专业论坛里泡一泡,把这些书籍和文章中的各种经验、技能、技巧掌握下来,
再去学习一些知名的开源项目如

Apache 或 Linux 操作系统的源代码实现等。