10x程序员工作法
郑晔
火币网首席架构师,前ThoughtWorks首席咨询师 ,TGO鲲鹏会会员
立即订阅
7943 人已学习
课程目录
已完结 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程序员工作法
登录|注册

29 | “懒惰”应该是所有程序员的骄傲

郑晔 2019-03-18
经过前面几个模块的学习,我们的专栏终于进入到程序员看上去最熟悉的一个主题:自动化。
每每提及自动化,我就会想起 Perl 语言的发明人 Larry Wall 一个经典叙述:优秀程序员应该有三大美德:懒惰、急躁和傲慢(Laziness, Impatience and hubris)。
有人甚至为此专门打造了一个三大美德的网站,阐释这个初看起来匪夷所思的说法。
懒惰,是一种品质,它会使你花很大力气去规避过度的精力消耗,敦促你写出节省体力的程序,别人也能很好地利用,你还会为此写出完善的文档,以免别人来问问题。
急躁,是计算机偷懒时,你会感到的一种愤怒。它会促使你写出超越预期的程序,而不只是响应需求。
傲慢,极度自信,写出(或维护)别人挑不出毛病的程序。
不知道你是否感受到,程序员独有的幽默和透露出的那种骄傲:我做的东西就应该是最好的。
之所以要从 Larry Wall 的这段话开启“自动化”这个模块,因为只要一说到自动化,我就会情不自禁地联想到“偷懒”这个词。是的,我们程序员的工作,本质上就是打造各种自动化的工具,让人们从各种繁复的工作中解脱出来,让人有机会“偷懒”。
不过,我也知道,从机器那里偷来的“懒”很快就被更多的工作填满了。但 Larry Wall 的这段话却可以鼓励我们不断地打造出更好的工具。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《10x程序员工作法》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(14)

  • Jxin
    从老师这学到一个很喜欢的思想。有价值的事并不局限性于事情本身。做自动化很重要,写代码很重要。但根据根据现有情况判断是否需要自动化,是否需要写代码也很重要。有的放矢,任务分解。权衡跟设计是件很艺术的事情,令人着迷。

    作者回复: 以现在大家的努力程度,少做点事是需要锻炼的技能。

    2019-03-18
    9
  • Sudouble
    最近确实感觉追随快速迭代技术追得自己挺迷茫的,也一直在思考到我究竟缺了什么。之前偶然看了软件工程相关的,才意识到算法、分析、设计等基础重要性,看到郑老师这一篇,让我更加坚信了这一点!

    作者回复: 追变的东西,永远追不完,追不变的东西,就那么点东西。

    2019-03-20
    6
  • 西西弗与卡夫卡
    面试的时候,常常听到应聘者提起换工作的原因之一是手头任务重复性高,都是增删查改,代码粘帖复制。我就会问,你有没有想过把工作变得不那么重复,不要粘帖复制代码。有不少人就没什么话说了。

    其实还是有很多可做的。比如自动生成增删查改的管理功能和页面,集成好缓存、搜索等服务。

    懒惰真的是程序员的优秀品质,只是有些人理解成思想上的懒惰了

    作者回复: 动手的人多,动脑的人少。

    2019-03-18
    6
  • Lyam📵
    “你讨论的是设计,他讨论的是实现”,提到软件设计那一段真的是直戳心窝啊!

    作者回复: 能分清设计与实现的,都是好同志!

    2019-03-28
    5
  • enjoylearning
    做值得做的事确实很重要,否则你忙活半天项目失败了,可能你也能赚一部分钱,或者技术得到了提升,但对客户却是损失,明知不可为还要去干就是不职业了。另外就是变中求不变,注重软件设计很重要,就像有些公司面试只考算法,根本不关注你用什么框架和语言,因为技术很多都是想通的,所有的Orm框架不能说完全相同,但设计思想总是想通的吧。可是国内有些单位在筛选人简历时就是看你用过的框架和语言,我招的是java,你简历中项目用的c#,所以不合适直接过滤掉。其实一个合格的程序员又怎么会被语言和框架固化住呢,只不过是不同的场景选择最适合的就是最好的。
    2019-03-27
    1
  • 大力
    懒惰的美德,指的是可以不做什么,是行动上的“懒惰”,但思想上还是得下功夫的,需要去思考可以怎么懒。

    作者回复: 很多人都搞错了懒惰的方向。

    2019-03-24
    1
  • 111
    老师推荐几本软件设计的书

    作者回复: 别急,软件设计的话题很快就到了!

    2019-03-24
    1
  • 极客不落🐒
    郑老师提到的那个问题,其实还有另外种解决方案:远程调试。当然这也无法避免部署的活,但是可以大幅减少部署的次数。有次出现了开发环境无法复现,只有测试环境才能复现的问题,就是通过远程调试解决的,当初使用的中间件是 WebSphere(估计很多童鞋都不知道了)。

    作者回复: 远程调试,是一种重量级的工具,能不用就不用。

    2019-03-18
    1
  • hua168
    老师,有什么好的软件设计的书推荐吗?目前没学过软件设计,后面有没有相关章节介绍的?

    作者回复: 在这个模块的后半部分,我会讲到一些设计的话题,到时候如果还有问题,欢迎提出!

    2019-03-18
    1
  • 西西弗与卡夫卡
    另外,文中提到的TW顾问值得赞扬,能为客户着想
    2019-03-18
    1
  • Geek_46c5dd
    少即是多。
    不想偷懒的程序员,不是合格的程序员。
    2019-10-19
  • like_jun
    自动化。从重复的老动中解脱出来。
    2019-03-22
  • 非鱼
    软件设计除了设计模式以外,还有其他方面吗?

    作者回复: 本模块后半部分我们来谈。

    2019-03-19
  • “懒惰”就要有付出,同时并不是想付出就能付出的,不到那个火候往往很难出一个好的自动化工具。前面也提到过,手里有锤子满眼是钉子,先权衡一下是否有必要再造一个轮子。如果有,该怎么做?是设计先行还是实现优先?怎么做好自动化,让团队效率和个人价值得到最大化,我想后续课程会一一道来!

    作者回复: 期待值这么高,我努力啊!

    2019-03-19
收起评论
14
返回
顶部