程序员的养成

Reading makes a full man; conference a ready man; and writing an exact
man. Francis Bacon

优秀的程序员应该具备两方面能力:

良好的程序设计能力:

  • 掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);
  • 理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络);
  • 熟悉至少两门以上编程语言(例如C++,Java,C#,和Python);

专业的软件开发素养:

  • 具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码;
  • 把握客户需求,按时交付客户所需要的软件产品;
  • 理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发,持续集成,和持续交付等等)。

  • 经典书籍需要不断被重读——每一次重读都会有新的体会;
  • 书籍并非读的越多越好——大多数书籍只是经典书籍中的概念延伸(有时甚至是照搬);

Reference 程序员必读书单 1.0

分享到: