你将获得什么?
- “反直觉式”工作法,带你突破思维惯性;
- 1 个框架 +4 个原则,可复制的“高效模版”;
- 顶级程序员的 40 个实操秘笈。
课程介绍
一个好程序员的工作效率是普通程序员的 10 倍,成为 10x 程序员应该是每个开发者的追求。
但效率是由编程能力决定的吗?答案是“未必”。工作中,你可能有过这样的困惑:作为程序员,你很想潜心钻研技术,却发现每天耗费大量精力解决的问题,多数都不是纯粹的技术问题,总会有一些令你抓狂的意外。你写完代码,但需求变了;你做出的东西,总是和要求不符,经常返工;你错估了工作量,因而要拼命加班弥补……诸如此类,不胜枚举。
于是,你的工作很被动,经常加班、熬夜、忙忙碌碌,却总在解决这类看似很“不值当”的事儿。
归根结底,程序员面对的并不是单纯的线性工作,你的编程技术提高,并不代表工作效率也会相应提高。你的工作方法,正在成倍地影响着你的开发效率。而只有了解并掌握了高效工作的方法和原理,你才真正有机会成为 10x 程序员,甚至是 100x 程序员。
为此,我们特意邀请了郑晔,在这个课程里为你分享顶级程序员的工作方法和思维方式。
模块介绍
本课程共分为六大模块。
有效工作的思考框架篇,为你提供一个可套用的思考框架,帮你在遇到问题时梳理自己真正要做的事情。同时还会给你提供践行这套框架所需的几项基本原则。
以终为始篇,从完成的定义、需求的完成、代码的完成、产品特性的完成等几个方面,来帮你明确真正的目标。通过跳出角色、数字校验、沙盘推演等方式确保目标的可行性,让你的每一丝努力都不白费。
任务分解篇,通过德雷克公式、埃隆·马斯克、“老虎”伍兹等案例,为你分析任务分解的重要性。通过对测试驱动开发进行完整地了解,让你更好地掌握任务分解的“度”。对需求以及产品的分解以及对优先级的讲解,可以让你与其他人的协作更加游刃有余,掌握主动权。
沟通反馈篇,从信息论的角度出发,让你明白“理解的偏差”是如何产生的。专栏将从代码的沟通、团队的沟通、可视化的沟通等角度为你讲解许多实践背后的沟通法则,通过开发的反馈、团队的反馈以及用户的反馈为你介绍反馈在软件开发中的价值,消除你与真实世界间的理解偏差。
自动化篇,你以为自动化就是写代码,其实不然。有时候不写代码而解决问题,才是一个好方案。自动化版块中从构建脚本、shell 编程出发,给你介绍了持续交付、验收测试背后的自动化理念,以及做好自动化需要了解的单一职责、分层架构等思想,让你知道什么情况下,你可以骄傲地“偷懒”。
综合运用篇,结合程序员日常工作场景,将 1 个思考框架和 4 个基本原则进行综合应用分析。让你能够学会高效工作方法并融会贯通,从各个维度帮你解决效率问题。
课程目录
开篇词 (1讲)
开篇词 | 程序员解决的问题,大多不是程序问题
思考框架 (1讲)
01 | 10x程序员是如何思考的?
以终为始 (11讲)
02 | 以终为始:如何让你的努力不白费?
03 | DoD的价值:你完成了工作,为什么他们还不满意?
04 | 接到需求任务,你要先做哪件事?
05 | 持续集成:集成本身就是写代码的一个环节
06 | 精益创业:产品经理不靠谱,你该怎么办?
07 | 解决了很多技术问题,为什么你依然在“坑”里?
08 | 为什么说做事之前要先进行推演?
09 | 你的工作可以用数字衡量吗?
10 | 迭代0: 启动开发之前,你应该准备什么?
答疑解惑 | 如何管理你的上级?
划重点 | 关于“以终为始”,你要记住的9句话
任务分解 (11讲)
11 | 向埃隆·马斯克学习任务分解
12 | 测试也是程序员的事吗?
13 | 先写测试,就是测试驱动开发吗?
14 | 大师级程序员的工作秘笈
15 | 一起练习:手把手带你分解任务
16 | 为什么你的测试不够好?
17 | 程序员也可以“砍”需求吗?
18 | 需求管理:太多人给你安排任务,怎么办?
19 | 如何用最小的代价做产品?
答疑解惑 | 如何分解一个你不了解的技术任务?
划重点 | 关于“任务分解”,你要重点掌握哪些事?
沟通反馈 (12讲)
20 | 为什么世界和你的理解不一样?
21 | 你的代码为谁而写?
22 | 轻量级沟通:你总是在开会吗?
23 | 可视化:一种更为直观的沟通方式
24 | 快速反馈:为什么你们公司总是做不好持续集成?
25 | 开发中的问题一再出现,应该怎么办?
26 | 作为程序员,你也应该聆听用户声音
用户故事 | 站在前人的肩膀上,领取属于你的高效工作秘籍
27 | 尽早暴露问题: 为什么被指责的总是你?
28 | 结构化:写文档也是一种学习方式
答疑解惑 | 持续集成,一条贯穿诸多实践的主线
划重点 | 一次关于“沟通反馈”主题内容的复盘
自动化 (12讲)
加餐 | 你真的了解重构吗?
29 | “懒惰”应该是所有程序员的骄傲
30 | 一个好的项目自动化应该是什么样子的?
31 | 程序员怎么学习运维知识?
32 | 持续交付:有持续集成就够了吗?
33 | 如何做好验收测试?
34 | 你的代码是怎么变混乱的?
35 | 总是在说MVC分层架构,但你真的理解分层吗?
36 | 为什么总有人觉得5万块钱可以做一个淘宝?
37 | 先做好DDD再谈微服务吧,那只是一种部署形式
答疑解惑 | 持续集成、持续交付,然后呢?
划重点 | “自动化”主题的重点内容回顾汇总
综合运用 (7讲)
38 | 新入职一家公司,怎么快速进入工作状态?
39 | 面对遗留系统,你应该这样做
40 | 我们应该如何保持竞争力?
答疑解惑 | 如何在实际工作中推行新观念?
划重点 | “综合运用”主题内容的全盘回顾
总复习 | 重新审视“最佳实践”
总复习 | 重新来“看书”
结束语 (5讲)
结束语 | 少做事,才能更有效地工作
第二季回归 | 我带着软件设计课回来了!
结课测试 | 这些10x程序员工作法的知识你都掌握了吗?
第三季回归 | 我们一起来写好代码!
第四季回归 | 通向高质量代码之路
讲师介绍
郑晔,网名 dreamhead,火币网首席架构师,前 ThoughtWorks 首席咨询师 ,TGO 鲲鹏会会员,Oracle Duke 选择奖获奖作品 Moco 的创始人,在软件行业奋斗了近二十年。