程序员的技能思考

程序员的两条腿

  • 数学
  • 英语

除此之外是职业技能

  • 学习能力
    通过多途径的方式快速习得必要知识,这些途径包括搜索引擎,实体书籍,电子文档,论坛提问等。
  • 编码能力
    • 编程语言的掌握
      理解语言的特性编写清晰高效的代码,命名直观,注释准确。
      理解语言的实现,能供透过语言的形式了解其背后的原理,从而优化代码,或是触类旁通学习其它语言。
      理解不同编程范式并在合适的场景下应用,命令式,声明式两大类,前者向计算机描述问题的求解过程 how ,后者向计算机描述问题是什么 what,函数式编程归属于声明式。(过程式,函数式,对象式,并发,逻辑等)
    • 技术栈的掌握
      掌握各种框架及工具链解决工程开发问题
      利用各种框架及工具搭建项目工程
      了解各类技术的应用场景与实现
    • 编程思想的理解
      抽象
      模块化、复用
      分层
      低耦合高内聚原则
      SOLID 原则
    • 数据结构与算法
  • 解决问题的能力
    • 发现问题
      调试技巧,经验与直觉
    • 描述问题
      恰当的语言描述问题
    • 解决问题
      直接解决,求助解决,借助互联网解决
  • 设计与架构能力
    • 架构原则
    • 通用设计模式
  • 沟通表达能力
    • 文档编写(PPT,博文)
    • 语言表达
  • 业务领域知识