10x程序员工作法
郑晔
火币网首席架构师,前ThoughtWorks首席咨询师 ,TGO鲲鹏会会员
立即订阅
7975 人已学习
课程目录
已完结 56 讲
0/4登录后,你可以任选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 | 我们应该如何保持竞争力?
答疑解惑 | 如何在实际工作中推行新观念?
划重点 | “综合运用”主题内容的全盘回顾
总复习 | 重新审视“最佳实践”
总复习 | 重新来“看书”
结束语 (1讲)
结束语 | 少做事,才能更有效地工作
10x程序员工作法
登录|注册

01 | 10x程序员是如何思考的?

郑晔 2018-12-26
在开篇词中我们提到,程序员在工作中遇到的很多问题,大多不是程序问题,辛苦而低效的工作,多数是由偶然复杂度导致的。那这个由于偶然复杂度造成的差距会有多大呢?
1975 年,弗雷德里克·布鲁克斯(Frederick Brooks)出版了软件行业的名著《人月神话》,他给出了一个统计结果,优秀程序员的开发效率是普通程序员的 10 倍。40 多年过去了,这个数字得到了行业的普遍认同。
成为 10x 程序员是很多程序员的追求。但工作产出并不只是由写代码的效率决定的,一些不恰当工作方法很大程度上影响着你的产出。
在接下来的这段时间里,我希望通过这个专栏和你一起探讨,作为一个程序员,该如何更高效地工作,怎样才能把时间和精力尽可能地放在处理本质复杂度的事情上,减少在偶然复杂度上的消耗。
作为整个课程第一讲,我就从我常用的一个思考框架开始。

一个思考框架

我曾经组织过针对应届毕业生的培训,第一堂课我往往亲自操刀,其中有一个头脑风暴的环节“畅想未来”,我会让大家思考三个问题:
我现在是个什么水平?
我想达到一个什么水平?
我将怎样到达那个目标?
大家会围绕着这三个问题,从各种角度展开讨论。这是一个有趣的练习,你会发现大家“最擅长”的是回答第一个问题:我现在处于什么水平?和有经验的人相比,他们大多自认为比较“菜”。但对于后两个问题的讨论,却可以切实看出人和人之间处理问题的能力差异。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《10x程序员工作法》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(49)

  • 此方彼方Francis
    这个方法论恐怕要建立在开发和产品双方地位比较平等的基础上。
    以我们目前的现状,很多时候产品要做这需求的理由就一个:老板要的!

    作者回复: 后面还真有一篇怎么对付顶着老板名义做事的产品经理,敬请期待。

    2018-12-26
    46
  • 现状:勉强的架构师、技术管理
    目标:架构师、cto
    途径:1.理论加强学习:togaf学习理论
              2.实践技能应用: netty、redis、mysql、niginx、微服务架构、分布式架构
              3.做微信公众号,多思考多积累经验,形成自己的套路,同时形成影响力。
    2018-12-26
    35
  • 张维元
    思考框架是道,原则是演化下的术,我们从 A → B,有无穷无尽的路径,最有效的唯有那条直线。本质上,各个维度、原则(不限于作者提到的四项原则)都是帮助我们更好地定位 A 在哪里,B 在哪里,那条直线在哪里。

    这个思考工具算是吸收了,四项原则也是有借鉴意义,谢谢

    作者回复: 这个理解真棒!

    2019-01-03
    9
  • codeparser
    以终为始的理念还是非常有启发的,具体工作中往往会陷入细节中而看不到目标或者忽视目标,例如把实现路径当成了目标。同时,有了目标还需要不断的反思,孔子日三省吾身,我们起码按季度需要重新总结和考虑一下目标和路径的合理性。另外,文中讲到的沟通和自动化如果更加深入些就好了

    编辑回复: 后续内容会针对这四项原则进行深入探讨的,加油💪

    2018-12-26
    8
  • Xunqf
    我们的产品经理的回答是:“你是在拷问我吗?这个你不需要知道,做出来就好了。”或者:“先做出来上线看看用户的反馈,不行了再下掉。”又或者:“这个是老板提的需求,优先级最高”

    作者回复: 不靠谱的产品经理,总拿老板说事,刚好是后面的两个主题,欢迎关注!

    补充一点,不允许问问题的产品经理一看就是虚的,如果他不让提问,那就把问题带到老板面前,让老板判断一下,自己问的问题是不是合理,扩大上下文是解决问题的一个好办法,对,这也是后面的一个主题,敬请期待!

    2019-01-05
    1
    7
  • David Mao
    结合工作中每年都要基于现状制定KPI,但往往忽视了最重要的环节,实现途径或方法。老师讲的逻辑很清晰,简单明了。虽是简单的三个环节,但每个环节要想认识清楚,还是需要很深的功力。总结起来:
    1. 认清现状
    2. 制定切合实际的目标
    3.落实切实可行的实现方法。
    2018-12-26
    5
  • Demi
    计划赶不上变化,怎么办?

    作者回复: 计划太大,变化就可怕,后面很多内容就是在讲拥抱变化。

    2018-12-26
    4
  • Geek_fe0336
    很多团队的问题是人的问题,那些小公司的团队,收入不高,生活压力大,本身就生活在焦虑和恐惧中,哪有心情讨论需求的背景,要解决的问题,解决方案,非功能需求......。最后就是程序员看需求人员2,需求看程序员无法进行人类沟通。

    作者回复: 这就是大多数人连1x 程序员都算不上的原因。

    2019-03-21
    2
  • 红糖白糖
    这让我想起了金字塔原理。在解决问题领域可能是这样的:
    1. 目标导向,在这里也就是以始为终。思考自己的目标
    2. 分类,也就是思考从当前位置到目标有哪些影响因子
    3. 优先级,在这里其实是选择适合的方法
    4. 解决问题
    解决问题的具体方法那就该是:
    1. 任务分解
    2. 自动化
    3. 沟通反馈

    作者回复: 用金字塔原理解释是个很恰当的角度,后面我也会讲到。

    2019-03-02
    2
  • 现状:中级Java程序员
    目标:架构师
    实现路径:主要从技术和管理两个方面进行修炼提高,针对每个方面的能力要求,先制定长中期目标,然后拆分中期目标为短期目标,一个个击破,同时要检验目标达成效果,不断优化,从而实现自己的最终目标
    2019-01-01
    2
  • 极客不落🐒
    老师举得针对拿到产品经理新特性要求之后的灵魂四连问,刨根究底,其实也是为了避免 X-Y Problem,免得浪费无谓的人力和精力。关于 X-Y problem,可以看下隔壁专栏作者耗叔的 https://coolshell.cn/articles/10804.html (我保证不是耗叔派来的,哈哈
    2018-12-27
    2
  • 妮可
    既是产品经理也是项目经理也是程序员,所以全部是我本职工作,IT部部长要的结果就是我的目标。
    2018-12-26
    2
  • 苏忆
    我觉得程序员的优秀程度最能体现在自动化这个环节中,高手首先对自己要到达的目的地的实现细节了如指掌,同时可以用较短的时间转化为自动化工具或者程序。同时超前的视野和丰富的开发经验也不是一个新手能很快拥有的。这两个都可以有效的缩短开发时间。那么问题来了,这些经验视野和高手所拥有的熟练度转化度怎么能更系统的来培养?
    2018-12-26
    2
  • white_fisher
    在哪?到哪去?怎么去?
    答案:勉强程序员;架构师;知识储备深度广度,应用实践
    问题:目的地变更了甚至不存在了怎么办?到达路径走不通或者出现了更好的路径怎么办?
    总结:即时反馈,实时调整
    2018-12-26
    2
  • 大力
    现状:普通前端开发工程师

    目标:web全栈架构师(五年内)

    路径:

    理论学习:极客时间及其他线上课程;

    实践应用:通过工作及自己开发小程序摸索

    2019-05-10
    1
    1
  • InfoQ_686548eeb0d8
    产品经理觉得自己很牛逼,你问她为什么做这个特性,她不解释,怎么办,她就是要做

    作者回复: 赶紧学习后面的内容,有办法。

    2019-04-13
    1
  • helloworld
    非常接地气的建议好好学习,从现在开始实践,遇到问题后参考一下思维框架

    编辑回复: 加油💪

    2019-02-15
    1
  • conanxu
    很惊喜,和我老大说的方法论大同小异,不一样的是这里的内容会更细致,有更多的例子,等不及去听下面的内容了。
    现状高级开发,目标资深技术专家。
    需要工作如下:
    补全工作方法论
    补全数据结构和算法
    完成一个广泛使用的框架
    有大量实质性产出
    2018-12-27
    1
  • iHTC
    非常感谢!三个方法论非常棒,希望更多人能学习,已分享到朋友圈,给想进阶的程序员学习!😄
    2018-12-27
    1
  • 马大发
    仔细想了向老师讲的方法论。如何具体应用:

    1 自身职业发展上,
    提供了如何用全新的维度思考, 来达到领导, 团队,项目对“我”作为一个工程师的预期。
    - 这样可能有升职。
    还有我自己对自己的技术,心态和学习态度上的预期,并且向新的高度努力。
    - 和从前的自己比 技术和心态更成熟,看待事物更加客观

    2 在公司和团队里的项目规划上
    如何从宏观到微观。把整个事件的动因,迭代,发展和最终结果提前有规划和预判。
    2018-12-27
    1
收起评论
49
返回
顶部