《远大前程 从软件新手到行业大牛》([美]Sam Lightstone,2012)书上写的一段话,对软件开发人员提出的要求:
至少学习四种不同的编程语言和至少四种不同的数据格式(如JPEG,XML,分隔文本和MPEG)。
开发至少能支持一千人并发访问的软件。
开发可以扩展到超过1TB数据量的软件。
参加10个以上程序员一起做的项目。
做既有代码的扩展工作,这些代码至少是5年前开发的,而且无法从原始作者那里得到任何信息。
解决至少40个别人代码中的缺陷。
编写支持国际化语言输入的程序,包括UNICODE的输入,以及支持两种语言以上的用户输入(错误信息,图形用户界面的文本,等等)。
研究下列情形的性能特点:
无论是否存在CPU缓存中的情况,都能从内存中获取数据。
对比从磁盘连续块读取与随机I/O寻址。
对比大块数据与小块数据的I/O操作。
三种流行的编程语言(如Java,C/C++和PHP)。
建立领域专长
在某个领域要具备成为专家的能力:专家级的程序员、经理、测试人员或技术布道师,或一个特定技术领域的专家(如数据库、虚拟现实、实时通信、客户关系管理系统、移动设备,等等)。你需要用整个职业生涯的关注和努力才能达到世界一流的专业水平。
温故而知新
掌握汇编语言,他们更深刻的理解系统的运行机制,而我们很少有人会获得这样的知识。
人人需要导师
编程语言
不能影响你编程思维方式的语言是不值得学习的。