10x 程序员工作法
郑晔
开源项目 Moco 作者
53432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
思考框架 (1讲)
10x 程序员工作法
15
15
1.0x
00:00/00:00
登录|注册

08 | 为什么说做事之前要先进行推演?

改进的思考
推演的必要性
沙盘推演的应用
推演能力的重要性
目标与路径的关系
意识到问题的关键性
负责人的追问
工作经历对比
上线方案
任务分解
上线计划
替代计划
技术选型任务
公司业务发展
总结时刻
通往结果之路
个人回顾
负责人的要求
问题意识
任务描述
一个技术任务
为什么做事之前要先进行推演?

该思维导图由 AI 生成,仅供参考

你好,我是郑晔。
经过前面的学习,想必你已经对“以终为始”这个原则有了自己的理解。你知道接到一个任务后,要做的不是立即埋头苦干,而是要学会思考,找出真正的目标。那目标明确之后,我们是不是就可以马上开始执行了呢?
先不着急给出你的答案,今天的内容从一个技术任务开始。

一个技术任务

你现在在一家发展还不错的公司工作。随着业务的不断发展,原来采用的关系型数据库越发无法满足快速的变化。于是,项目负责人派你去做个技术选型,把一部分业务迁移到更合适的存储方式上。
经过认真的调研和思考,你给负责人提出了自己的建议,“我们选择 MongoDB。”出于对你的信任,负责人无条件地同意了你的建议,你获得了很大的成就感。
在你的喜悦尚未消退时,负责人进一步对你委以重任,让你来出个替代计划。替代计划?你有些不相信自己的耳朵,嘴里嘟囔着:“把现在存到数据库的内容写到 MongoDB 不就成了,我就一个表一个表地替换。难道我还要把哪天替换哪个表列出来吗?”
刚刚还对你欣赏有加的负责人,脸色一下子沉了下来。“只有表改写吗?”他问你。你一脸懵地看着他,心里想,“不然呢?”
“上线计划呢?”负责人问。
“我还一行代码都没写呢?”你很无辜地看着负责人。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文以“以终为始”为主题,通过作者的经历分享了在技术任务中提前进行推演和考虑上线过程的重要性。作者以一个技术选型任务为例,讲述了负责人的追问和细致考虑如何帮助作者更全面地思考问题,避免上线时的手忙脚乱。文章强调了在面对技术任务时,需要从“最后一公里”的角度思考问题,以及如何通过推演和细致考虑来提升解决问题能力。作者还提到了军事上的沙盘推演思想,并将其应用到软件开发中,强调在动手做事之前先进行推演的重要性。总结时刻强调了在确定工作目标后,仍需推演实施步骤,以发现前期准备不足之处,避免在“最后一公里”摔跟头。最后,鼓励读者在做事之前进行推演,以发现可以改进的地方。整体而言,本文通过作者的经历和思考,强调了在技术任务中提前进行推演和考虑上线过程的重要性,为读者提供了有关技术任务处理方式的宝贵经验。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《10x 程序员工作法》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(48)

  • 最新
  • 精选
  • ZackZzzzzz
    项目上线之前,一般都会有一个launch plan, 数据库迁移这种项目,不去考虑上线回滚我认为是设计上的缺失。我们公司的launch plan一般是写成一步一步的checklist, 在上线之前会做同伴审查

    作者回复: 做得很棒,值得分享!

    2019-01-11
    55
  • Gojustforfun
    非常喜欢老师这种对话式职场故事风格! 曾经对领导问东问西,他说:“先把眼前事做好,先跑通再说……”,听完后我就吭哧吭哧地开始实现,想要跑通后做出来看看,然后各种不对。 现在想想我是会错意了,领导说的是不要过度设计,只要满足当前需求就好,不要在脑中脑补未来可能出现的高并发大流量的需求。而事前分析即事前推演该做还得做,为了“满足当前需求”而做!

    作者回复: 分析和设计是少不了的,不发散也是重要的。

    2019-01-11
    2
    18
  • Scott
    我觉得领导说先跑通再说和事前推演是不矛盾的,很多时候,我们需要一个poc来证明这个项目是可行的,这其实也是事前推演的一部分。 上线要事无巨细的检查推演,和快速跑通poc不矛盾,当然现实世界是,大家就急着把poc当正式产品上线了,这是无数个悲剧故事的序章。

    作者回复: 对,能分清楚PoC和产品是两个不同东西的团队,都是好团队。PoC就是该丢弃的,包括代码,因为它的代码质量是不合格的。

    2019-01-12
    2
    15
  • 道爷请留步
    上线前,哪些机器什么配置应该有一个预期甚至提前准备好

    作者回复: 很好的补充

    2019-01-11
    12
  • sam
    最近负责一个项目对接,计划把对方一个内网应用服务接入到移动端应用平台上,排期2~3天,结果联调过程中,新的问题不断发现,从原有的内网应用,到经过防火墙、nginx代理的外网请求,内外网域名变了,安全策略也变了,网络环境变了,半个多月过去了,还在延期。 这个过程,如果要做沙盘推演,是需要对两边整个技术架构都了解的人,也才能事前规划好。

    作者回复: 不清楚的事,需要有一个计划,把事情弄清楚。

    2020-06-30
    2
    5
  • 大彬
    我们工作、生活都是有目标的,达到目标有2种方法:A. 先规划好到目标的路线,一步一步往下做。B. 没有规划完整路线,而是依据当前的情况去做。 A方案也许会遇到未曾预料的问题,但总体比较顺畅,能达成目标。B方案一路披荆斩棘,累死累活,结果可能还不能及时达成目标。想想工作中没做好的任务,是不是前期没有好好准备?

    作者回复: 一个正常的做法应该是,有方法按照方法做,没方法再想办法。可是,很多人把所有事情都做成了现想办法,那就会很辛苦。这种做法就像低等生物一样,完全靠外界刺激。

    2019-01-15
    5
  • 下个目标45k
    上家公司专门有个需求“发布计划”服务,产品、开发、测试每个角色的任务需求在发布前装备好并保存到发布系统上。创建好会自动拉群,每个人的任务状态变化事件都会实时的推送到发布群。

    作者回复: 挺好的,信息同步非常的重要。

    2020-11-21
    3
  • helloworld
    好文!在开始之前先做推演的工作方式非常好,可以防止工作疏漏更重要的是可以提前知道预先设定的方案到底可不可行

    作者回复: 把事情做在前面,减少后续的忙碌。

    2019-02-20
    2
  • 公号-技术夜未眠
    以终为始,通往目标的要事第一。

    作者回复: 什么是要事,我们在 任务分解 模块聊。

    2019-01-12
    2
  • 请叫我和尚
    系统的容灾性,其实也属于推演中的一个 checklist 吧

    作者回复: 看系统的规模,小系统实话说不值得。

    2020-11-20
    1
收起评论
显示
设置
留言
48
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部