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程序员工作法
登录|注册

27 | 尽早暴露问题: 为什么被指责的总是你?

郑晔 2019-03-06
今天我准备讨论一个经常会让很多程序员郁闷的事情,为什么你已经工作得很辛苦了,但依然会被指责。在讨论这个问题之前,我们先来讲一个小故事。
程序员小李这天接到了一个新的任务。系统要做性能提升,原先所有的订单都要下到数据库里,由于后来有很多订单都撤了,反复操作数据库,对真正成交过程的性能造成了影响。所以,技术负责人老赵决定把订单先放到缓存里。
这就会牵扯到一个技术选型的问题,于是,老赵找了几个可以用作缓存的中间件。为了给大家一个交代,老赵决定让小李给这几个中间件做一个测试,给出测试结果,让大家一起评估。小李高兴了,做这种技术任务最开心,可以玩新东西了。
老赵问他:“多长时间可以搞定?”
小李说:“一个星期吧!”
老赵也很爽快,“一个星期就一个星期。不过,我得提个要求,不能是纯测中间件,得带着业务跑。”
“没问题。”小李一口答应下来。老赵怕小李做多了,还特意嘱咐他,只测最简单的下单撤单环节就好。
等真的开始动手做了,小李发现,带着业务跑没那么容易,因为原来的代码耦合度太高,想把新的中间件加进去,要先把下单和撤单环节隔离开来。而这两个操作遍布在很多地方,需要先做一些调整。
于是,小李只好开始不分白天黑夜地干起来。随着工作的深入,小李越发觉得这个活是个无底洞,因为时间已经过半了,他的代码还没调整完。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《10x程序员工作法》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • 西西弗与卡夫卡
    及早暴露问题其实是反人性的,因为意味着要向领导或众人展示自己的无知。回顾过往某个项目的时候,发现自己其实在过程中已经意识到存在问题,但因此要暂停项目、产生更多成本,就会下意识安慰自己说,其实问题没那么严重,就这么来吧,问题会解决的。现在想想,这种心态真是要不得。及早承认问题,袒露自己的不足,并积极寻找解决方案,才是成熟的标志吧

    作者回复: 反人性,有点说重了,不理性更恰当。理性一点的话,我们就会发现,在事前做其实成本反而是低的。

    2019-03-06
    7
  • helloworld
    程序员通常都有这种缺点:遇到自己不会的技术后,碍于面子,打心眼里不愿意求助别人,更不想把这种状态让领导知道,因为自认为这是一种低能的表现,导致最后被动的被别人发现。提早的主动暴露问题,确实能规避很多问题,让项目朝良性发展方向,但是这是有前提的,除非你的老板是个开明的人,否则你主动暴露问题,不开明的老板就认为你能力欠缺,最终的绩效评估受伤的还是你自己啊……

    作者回复: 糊涂的老板还伺候啥劲。

    2019-04-27
    1
    5
  • David Mao
    在工作中经常会遇到这样的人,尤其是新人。按照自己的思路做了好久,也没把事情搞定。研发里的敏捷开发,每日展会,快速反馈,快速交付和这个有异曲同工之妙。

    作者回复: 对,是这样的。

    2019-03-06
    5
  • 我的做法是让程序员做之前先自述流程和思路,然后分解任务尽可能细,我可以估摸着后面可能会出问题的点,他不说我可以提前问,但有人就是细不了,那我会要求他每天提交代码,这样我的每天的事会多。还有一种是在任务分解和预估时间有的人总是过于乐观,以致我都不太相信,但又想看看这次是不是真有惊喜,有点矛盾😂我想问问老师我的做法可以有啥调整改进,或者有别的建议,毕竟现状我也有些无奈,自我感觉也并不轻松~

    作者回复: 你做得很好,执行之后再拿结果和小伙伴们对一下,让他们知道自己的差距在哪里,有意识改进就更好了,所谓复盘。

    2019-03-08
    4
  • One day
    突然想起之前做过一个项目,经理把模块功能都分清楚了,把有联系功能的人分租2-5人一组。每个组都有一个或两个大牛,因为项目比较紧,项目经理说的最多的句话就是及时沟通,及时反馈,及时解决。在时间维度就有很好的把握,从项目立项之初,也是按老师递推演进的方式,计划SIT,UAT,灰度发布等时间结点按照倒推的方式进行,也给项目重要结点预留时间,最后结果是大家基本很少加班,验收没什么问题,还给我们多放几天假等等。那个时候我就觉得在这个项目经理下做事最有效率,事情安排妥当,把可能会遇到事情,做一部分预知,对于无法预知的也能让人尽早提出来,及时解决

    作者回复: 好的项目都是类似的,糟糕的项目各有各的不幸。

    2019-03-06
    4
  • kevin
    之前有个习惯喜欢给接口参数搞个什么默认值,这样可以支撑更多的不同情况,但是忘记思考这个参数到底是不是一个重要的参数,如果是就要尽早暴露出去

    作者回复: 补充了一点缺失,就可以上升一个台阶了。

    2019-04-10
    2
  • 捞鱼的搬砖奇
    做需求流程没搞清就动手做,写到出问题的地方卡住了。一直卡在谁也不告诉,知道被问起进展才知道厌恶了进度。

    作者回复: 我隔着屏幕都能听见你的一声叹息。

    2019-03-06
    2
  • 长期规划
    这篇文章真好。其实这是个心态问题,怕失败,怕别人批评。遇事积极求助是好事,不是懦弱和无能的表现,这也是一个让人成长的过程。自己搞的话,优点是自己记忆深,缺点是慢;向别人求助,与之相反。但工作不是上学,不能影响项目进度,项,团队是相互支撑的,你工作进度延迟会影响其他人的进度。搞不定及时求助是开放,有团队精神的表现,在团队中不能只考虑自己,一定要从大局考虑,这样,也助于自己提升自己的格局。我在这个问题上有比较深的教训,这篇文章很赞。
    2019-06-18
    1
  • zwfec
    我的管理方法是:一个问题解决时间超一个小时,还没思路的话,一定要去寻找帮助,聊一聊,团队成员必须遵守这个纪律
    2019-06-11
    1
  • Practice_蚂蚁骨头
    尤其是能力与位置不匹配的时候,心里障碍愈发顽固
    2019-05-10
    1
  • Practice_蚂蚁骨头
    确实,最大的障碍是心里障碍。
    2019-05-10
    1
  • Xunqf
    Fail Fast,提前暴露问题,我写代码为了保证不崩溃,经常会兼容各种奇葩问题,或者给个默认值,听完这一讲如梦方醒啊!

    作者回复: 以后别给自己挖坑了

    2019-03-08
    1
  • AlanP
    我在带团队(研究生团队)做项目的时候经常遇到这种问题,大家总是要等到每周例会的时候才说遇到了什么什么问题,老师也反复强调了几次遇到问题要及时说,但是听的人不多,不过我已经养成了一旦发现自己暂时解决不了的问题就及时找老师讨论。但团队还是要做工作的,我想到的解决方法是用Scrum的每日站会,这样能及时了解大家的状态。

    作者回复: 先解决自己,再用过程解决团队。

    2019-03-06
    1
  • 春之绿野
    最近我的一个case总是失败,偶尔分到一次地址,其他的很多次都分不到,我看隔壁项目的同样的case已经合进了master,以为他们能跑过,一定是我这边有什么问题,折腾了很久,最后去问隔壁组他们也拿不到,如果早点暴露问题和沟通就好了,可能还是太畏惧沟通,畏惧和别人交流,尤其是求助型的
    2019-09-29
  • Frank
    刚工作时自己确实有这种一条路走到黑,挨于面子不好意思问,所以工作效率确实低效。后面慢慢接触到不同的人,不同的做事方式,慢慢懂得求助他人的道理。这篇文章其实不仅仅适用于程序员,在生活中也适用。
    2019-07-12
  • Galwin-Chain光威
    遇到问题不及时提出,会不会跟文化有关呢?因为领导不希望看到有问题,无论怎样都会受到指责

    作者回复: 你是说老板愿意当花剌子模国王?做好自己该做的事,你不是为一个人打工。

    2019-03-10
  • zhengfc
    这种方式就是代码入口先写卫条件的工作化
    2019-03-09
收起评论
17
返回
顶部