极客时间已完结课程限时免费阅读

编译原理之美

开篇词 | 你为什么应该学好软件工程?

特别放送 | 从软件工程的角度解读任正非的新年公开信

学习攻略 | 怎样学好软件工程?

01 | 到底应该怎样理解软件工程?

02 | 工程思维:把每件事都当作一个项目来推进

03 | 瀑布模型:像工厂流水线一样把软件开发分层化

04 | 瀑布模型之外,还有哪些开发模型?

05 | 敏捷开发到底是想解决什么问题?

06 | 大厂都在用哪些敏捷方法?(上)

07 | 大厂都在用哪些敏捷方法?(下)

08 | 怎样平衡软件质量与时间成本范围的关系?

“一问一答”第1期 | 30个软件开发常见问题解决策略

09 | 为什么软件工程项目普遍不重视可行性分析?

10 | 如果你想技术转管理,先来试试管好一个项目

11 | 项目计划:代码未动,计划先行

12 | 流程和规范:红绿灯不是约束,而是用来提高效率

13 | 白天开会,加班写代码的节奏怎么破?

14 | 项目管理工具:一切管理问题,都应思考能否通过工具解决

15 | 风险管理:不能盲目乐观,凡事都应该有B计划

16 | 怎样才能写好项目文档?

17 | 需求分析到底要分析什么?怎么分析?

18 | 原型设计:如何用最小的代价完成产品特性?

19 | 作为程序员,你应该有产品意识

20 | 如何应对让人头疼的需求变更问题?

“一问一答”第2期 | 30个软件开发常见问题解决策略

21 | 架构设计:普通程序员也能实现复杂系统?

22 | 如何为项目做好技术选型?

23 | 架构师:不想当架构师的程序员不是好程序员

24 | 技术债务:是继续修修补补凑合着用,还是推翻重来?

25 | 有哪些方法可以提高开发效率?

26 | 持续交付:如何做到随时发布新版本到生产环境?

27 | 软件工程师的核心竞争力是什么?(上)

28 | 软件工程师的核心竞争力是什么?(下)

29 | 自动化测试:如何把Bug杀死在摇篮里?

30 | 用好源代码管理工具,让你的协作更高效

“一问一答”第3期 | 18个软件开发常见问题解决策略

31 | 软件测试要为产品质量负责吗?

32 | 软件测试:什么样的公司需要专职测试?

33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?

34 | 账号密码泄露成灾,应该怎样预防?

35 | 版本发布:软件上线只是新的开始

36 | DevOps工程师到底要做什么事情?

37 | 遇到线上故障,你和高手的差距在哪里?

38 | 日志管理:如何借助工具快速发现和定位产品问题 ?

39 | 项目总结:做好项目复盘,把经验变成能力

“一问一答”第4期 | 14个软件开发常见问题解决策略

40 | 最佳实践:小团队如何应用软件工程?

41 | 为什么程序员的业余项目大多都死了?

42 | 反面案例:盘点那些失败的软件项目

43 | 以VS Code为例,看大型开源项目是如何应用软件工程的?

44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?

45 | 从软件工程的角度看微服务、云计算、人工智能这些新技术

“一问一答”第5期(内含彩蛋) | 22个软件开发常见问题解决策略

结束语 | 万事皆项目,软件工程无处不在

结课测试 | 这些软件工程知识,你都掌握了吗?