颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程

世界上需要什么样的程序员不想当工程师的程序员不是好民工 。 会编程不代表会工作 , 工程能力包含软硬技能 , 面向的是实际应用 。 从程序员变为工程师 , 得先“入门”然后才是“上道” , 从而成为“工型人才”有人工作几年还没入门 , 只会简单开发;有人开发技能娴熟 , 却找不到进步成长的路径 , 陷入迷茫之中;更有不少人自诩为IT精英 , 却不了解行业格局、发展趋势 , 很快就遇到职业发展瓶颈 , 蹉跎了岁月 , 虚度了青春 。
在我看来 , 好的程序员应该是“工型人才” 。 所谓“工型” , 是指从下到上的能力提升过程 。 具体来说 , 就是先要具备完成完整应用的能力 , 包括:线上运维 , 成为熟手 , 这是下面的一横;在某些领域足够深入 , 成为高手 , 这是中间的一竖;在达到更高的水平之后 , 兼通很多领域 , 比如业务、产品、项目管理、测试、运维、团队组织 , 成为驱动者和领导者 , 这是上面的一横 。
颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
本书使用人群
颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
有很多程序员刚进入职场时自己的职业规划几乎为零 , 一心想着怎样尽快学习更多的技术和积累更多的业务经验 , 但现实是每天都深陷永无止尽的业务需求开发中 。
也有些程序员因为长期埋没于代码世界的浩大分工体系中 , 无法看清从业务到系统架构的价值链条 , 无法清晰定义自己在分工体系中的位置 , 处理不好自身与技术、业务的关系 。
更有些程序员在到了35岁之后 , 发现工作瓶颈已到 , 对未来的发展感到迷茫 。
要是能有人帮他们规划 , 他们可能进步得更快 。
《程序员的三门课:技术精进、架构修炼、管理探秘》作者均有扎实的技术功底和十分丰富的工作阅历 , 已经摸索出相对清晰的职业发展路径 。 他们把自己的亲身经验总结和踩过的坑总结成这本书 , 以帮助和他们一样致力于在IT道路上走得更远的人 。
作者简介
颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
本书内容分为三大篇第1篇介绍程序员的技能成长路径 , 介绍如何通过学习来加速成长 , 并讲解非常重要的业务分析和设计知识;
颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
第1章 程序员技能与成长 2
1.1 如何学习新的编程语言 2

  • 1.1.1 重点学什么 3
  • 1.1.2 学习方法 3
1.2 代码规范与单元测试 6
  • 1.2.1 编码规范 6
  • 1.2.2 单元测试 7
  • 1.2.3 测试驱动设计 9
1.3 使用静态代码分析工具 18
  • 1.3.1 什么是静态代码分析 19
  • 1.3.2 静态代码分析工具 19
1.4 代码审查 24
  • 1.4.1 什么是代码审查 24
  • 1.4.2 代码审查的好处 24
  • 1.4.3 如何做代码审查 25
1.5 清单和模板 29
  • 1.5.1 清单实践 29
  • 1.5.2 产品需求文档模板 31
1.6 程序员的工作法则 33
  • 1.6.1 工具化法则 33
  • 1.6.2 自动化法则 38
  • 1.6.3 关于文档的问题 40
  • 1.6.4 关于YAGNI 40
1.7 程序员的工具箱 41
  • 1.7.1 可帮我们提升工作效率的硬件 42
  • 1.7.2 可帮我们提升工作效率的操作系统 43
  • 1.7.3 可帮我们提升工作效率的软件 43
  • 1.7.4 在线工具 50

颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
第2章 加速成长与学会学习 56
2.1 程序员如何加速成长 56
  • 2.1.1 积极主动 56
  • 2.1.2 空杯心态 57
  • 2.1.3 选择合适的平台 57
  • 2.1.4 别怕犯错 58
  • 2.1.5 注意细节 58
  • 2.1.6 时间管理 58
  • 2.1.7 打破边界 61
  • 2.1.8 写业务代码中的成长机会 61
2.2 学会学习 66
  • 2.2.1 高效学习的方法 67
  • 2.2.2 高效学习的途径 69
  • 2.2.3 舒适区与小步子原则 72
  • 2.2.4 两个著名的学习理论 72
  • 2.2.5 终身成长 74

颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程文章插图
第3章 业务分析与设计 75
3.1 黄金圈法则 75
3.2 UML建模工具 77
  • 3.2.1 用例图 78
  • 3.2.2 类图 79
  • 3.2.3 对象图 80
  • 3.2.4 状态图 80
  • 3.2.5 活动图 81
  • 3.2.6 序列图 82
  • 3.2.7 协作图 82
  • 3.2.8 构件图 83
  • 3.2.9 部署图 84
3.3 业务分析与设计的方法 85
3.4 系统分析与设计的三个发展阶段 87