程序员思维——四个思考原则

2024-01-04

一、什么是四个思考原则?

  • 以终为始,确定好真实目标;
  • 任务分解,找到实施路径;
  • 沟通反馈,解决与人打交道出现的问题;
  • 自动化,解决与机器打交道出现的问题。

二、如何运用思考框架?

运用这个思考框架,我们需要问自己一些问题:

  • Where are we?(我们现在在哪?)
  • Where are we going?(我们要到哪儿去?)
  • How can we get there?(我们如何到达那里?)

三、场景实践

在实际的工作中,这个思考框架会帮助我更好地了解自己的工作。

比如,当一个产品经理给开发交代一个要做的功能特性时,要学会提出这样一些问题:

  • 为什么要做这个特性,它会给用户带来怎样的价值?
  • 什么样的用户会用到这个特性,他们在什么场景下使用,他们又会怎样使用它?
  • 达成这个目的是否有其它手段?是不是一定要开发一个系统或者一定这种设计?
  • 这个特性上线之后,怎么衡量它的有效性?

如果产品经理能够回答好这些问题,说明他基本上已经把这个工作想得比较清楚了,这个时候,才可以放心地去了解后续的细节。

问题1:用思考框架对照一下,为什么会问这些问题?

一般来说,一个新特性要开发时,现状是知道的。所以,开发者会更关心目标,这里“为什么要做这个特性?” 就是在问目标,“给用户带来怎样的价值”是在确定这个目标的有效性。

接下来,关注实现路径,用户会怎么用,是否有其他的替代手段,开发需要了解产品经理的设计是经过思考的,还是“拍着脑袋”给出的。衡量有效性,则是要保证工作不会被浪费。

问题2:怎么会想到问这些问题?

给出思考框架是为了明白为什么要提出问题,而具体问题要怎么问,就可以遵循下面这四项原则:

  • 以终为始

就是在工作的一开始就确定好自己的目标。

我们需要看到的是真正的目标,而不是把别人交代给我们的工作当作目标。

你可以看出这个原则是在帮助我们回答思考框架中,Where are we going?(我们要到哪儿去?)这个问题。

  • 任务分解

是将大目标拆分成一个一个可行的执行任务,工作分解得越细致,我们便越能更好地掌控工作,它是帮助我们回答思维框架中,How can we get there?(我们如何到达那里?)的问题。

  • 沟通反馈

是为了疏通与其他人交互的渠道。

一方面,我们保证信息能够传达出去,减少因为理解偏差造成的工作疏漏;另一方面,也要保证我们能够准确接收外部信息,以免因为自我感觉良好,阻碍了进步。

  • 自动化。

就是将繁琐的工作通过自动化的方式交给机器执行,这是我们工程师本职工作的一部分,我们擅长的是为其他人打造自动化的服务,但自己的工作却应用得不够,这也是我们工作中最值得优化的部分。
在这里插入图片描述
前两个原则是要在动手之前做的分析,后两个原则是在通往目标的道路上,为我们保驾护航,因为在实际工作中,我们少不了与人和机器打交道。

四个原则互相配合,形成了一个对事情的衡量标准。总体上可以保证工作是有效的,在明确目标和完成目标的过程中,都可以尽量减少偶然复杂度。

问题3:分析这四个原则是怎么运用的?

前面的场景,产品经理把要做的功能特性摆在我面前。

站在 以终为始 的角度,我们需要了解真正的目标是什么,所以会关心 为什么要做这个特性 。为了保证目标是有效的,会关心 它给用户带来的价值

有了 任务分解 的视角,我需要将一个大的目标进行拆解,如果我要达成这个目标,整体解决方案是远远不够的,还需要把任务分解成一个一个小的部分。所以会关心一个一个 具体的使用场景 。一方面,了解到更多的细节,另一方面,当时间紧迫的时候,可以和产品经理来谈谈究竟优先实现哪个场景。

为什么要学会 沟通反馈 ?因为我需要明确,自己是否真正理解了产品经理提交的需求。所以,我要不断地问问题,确保自己的理解和产品经理交代的内容一致。另外,也需要保证产品做出来确实能够达到目标。所以会关心它上 线后的衡量手段 。因为这个行业里有太多代码上线后,从来没有运行过。

从自动化的角度看,我们做的方案通常是一个自动化方案,但我们需要了解这个方案没有自动化之前是怎么做的。如果不自动化,用户会怎么用。所以会关心是不是还有其它替换方案,比如,买一个现成的服务。因为很多需求的提出,只是因为我们有了一个开发团队而已。

四、总结

大多数人工作低效是由于工作中偶然复杂度太多造成的,只要能够更多地将注意力放到本质复杂度上,减少偶然复杂度造成的消耗,我们“真实”的工作效率自然会得到大幅度提升。

而想要减少偶然复杂度的消耗,就要了解一些高效的工作方式和行业的最佳实践,而这一切是可以用统一的框架进行思考的。

我们不是一个人孤独地在工作,而是与其他人在协作,想要做到高效工作,我们就要“抬起头”来,跳出写代码这件事本身。所以,工程师解决的问题,大多不是程序问题

这就是真实世界,它不像考试一样,有一个标准答案。

如果本文的内容你只能记住一件事,那请记住: 面对问题时,用思考框架问问自己,现状、目标和路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员思维——四个思考原则 的相关文章

  • 【个人成长】两个帮助你认清职场中自己位置的工具

    原文来自吴军老师的 谷歌方法论 第182封信 xff1a 两个帮助你认清自己位置的工具 当你在职场中不顺的时候可以考虑进行下自我位置评估 工具一 xff1a 主客观评价四方表 xff1a 表中的第一列自己填写 第一行填写自己的优点 成绩 贡
  • 求职面试之项目经验介绍总结

    项目经验介绍 一定要突出 经验 二字 自己在工作 发现问题 并解决问题的过程 显得尤为珍贵 一般面试官会问到这个项目的整体架构如何 模块之间如何交互 遇到的最大难题是什么 如何解决 哪些问题是你发现并解决的 面试官通过这些问题 就可以考察求
  • 尝试构建知识体系

    1 构建知识体系架构是需要 深入 广知 思考 整理 深入 需要反反复复 学致用 用致学 深度思考 锤炼打磨 不同角度不同方式去尝试思考 实践 广知 需要周围东西的敏感度 好学 求知 充满兴趣 我们积累的知识 能否形成体系 却依赖于我们能否做
  • 程序员是否可以在家办公——在家办公的利与弊

    对软件技术工作者来说 办公的场所对工作效率似乎并没有大的影响 毕竟 大部分软件工程师给人的印象是埋头于电脑前 似乎只要给他们一 台能够连上Internet或是公司VPN的电脑 他们就能产出我们期望的代码 在理想情况下 公司还能通过这样的方式
  • 程序员是如何思考的?

    1975 年 弗雷德里克 布鲁克斯 Frederick Brooks 出版了软件行业的名著 人月神话 他给出了一个统计结果 优秀程序员的开发效率是普通程序员的 10 倍 40 多年过去了 这个数字得到了行业的普遍认同 成为优秀程序员是很多程
  • 踩坑:Vue.js中v-for和v-if不能同时使用

    踩坑 Vue js中v for和v if不能同时使用 问题出现之时 v if代码地方出现报错下面有红色的波浪线 具体报错信息大概是说v for和v if不能混用 取而代之要使用computed计算属性 让数组变量替换为返回的已过滤数组的计算
  • 张五常《思考方法》

    思考的方法 上 据说熊彼德 J A Schumpeter 曾在课堂上批评牛顿 指责这个如假包换的物理学天才只顾闭门思想 没有将他思考推理的方法公开而留诸后世 这批评有点道理 但牛顿在物理学上的丰功伟绩 是他在逃避瘟疫的两年中想出来的 其后就
  • 那些会阻碍程序员成长的细节[4]

    照例 如果没有读过之前的系列 在这里可以先回顾一下 那些会阻碍程序员成长的细节 1 那些会阻碍程序员成长的细节 2 那些会阻碍程序员成长的细节 3 本文共 1637 字 预计阅读时间 5 分钟 不愿意跟领导走的近 是不是有这样的体会 凡事有
  • 那些会阻碍程序员成长的细节[3]

    前两篇文间几乎是想到那里就写到那里 没有分门别类的加以阐述 本篇延续以上两篇文章的思路 在之前的基础再追加 没有看过前两篇文章的同学可通过这两个链接回顾一下 那些会阻碍程序员成长的细节 一 那些会阻碍程序员成长的细节 二 不能主动推动事物前
  • [思考进阶]01 如何克服自己的无知?

    除了要提升自己的技术能力 思维的学习和成长也非常非常重要 特推出此 思考进阶 系列 进行刻意练习 从而提升自己的认知 有段时间我特别喜欢研究一些定律和法则 比如 熵增定律 懒蚂蚁效应 蝴蝶效应 吸引力法则 多米诺效应等等 大部分都是看书或者
  • [机缘参悟-89]:《本质思考》- 本质思考的7种习惯

    目录 一 精准性思考 精确 表面词语要精确 二 非歧义思考 深度 明确表面词语背后的动机 三 多维度思考 广度 全方面思考 四 反馈式思考 确认 反复确认 五 适应性思考 变化 因环境变化而变化 六 循环式思考 持续改进 逐渐得到问题的本质
  • 权衡问题---学习了微服务各大常用组件的一点思考

    1 没有什么技术可以完全通用 只要深度使用一定需要从业务出发对技术进行权衡 从几个例子出发 1 ES的分片机制天生支持分布式 同时也带来了分布式了弊端 排序和算分问题 搜索的场景需要严格的定制化 通过对mapping的修改可以支持算分的调整
  • 佩服,主动让自己不舒服的人

    个人特别喜欢金庸的武侠 零度曾也梦想仗剑走天涯 奈何bug太多 最后就没去了 金庸武侠里面的主角有一个特点 主角都是从最底层开始并且开始条件不好 最后成功走向巅峰的 由于反差极大 也特别励志 现实中有没有那种开始条件不好 后来走向巅峰的呢
  • 为什么技术开发者应该读一读《浪潮之巅》

    上周已经阅读完吴军老师的著作 浪潮之巅 第二版 迄今仍然激情澎湃 这本著作以平和直白的笔触介绍了硅谷IT企业们的发展史 看像微软 谷歌 苹果等优秀的IT企业们 从白手起家 到发展壮大成为今天的巨头 再看太阳微系统公司 雅虎公司从创造辉煌 到
  • 那些30几岁的程序员都去哪了

    三十而立 简单四个字 鞭策着多少年轻人 不成想 三十已过 变成了三十而已 程序员对三十这个词比较敏感 之前不少文章也都提及过 有天 忽然冒出来一个问题 90后慢慢变成了中坚力量 曾经的80后程序员一代在公司里慢慢变少了 这些人去哪了呢 下面
  • 一个人走的快,一群人才走的远

    有太多的技术文章来指引我们解决技术痛点问题 但很少有文字来帮助我们解答个人成长 职业发展 持续学习等思维意识层面的问题 07年计算机专业毕业后 抱着无限的迷茫踏上了漫漫职业生涯路 从菜鸟做起 一路走来也是跌跌撞撞 诚惶诚恐 很多时候都在想
  • [谦实思纪 02]整理自2023雷军年度演讲——《成长》(下篇)创业之旅(创业与成长)

    文章目录 谦实思纪 整理自2023雷军年度演讲 成长 下篇 创业之旅 创业与成长 0 写在前面 1 创业 创业与成长 1 1 找互补的朋友一起干 更容易成功 1 2 创业中必须要有领导者 核心思维 1 3 从失败开始 学海无涯 1 4 金山
  • 30多岁挨踢人要转行的焦虑,是真的吗

    30多岁挨踢人要转行的焦虑 是真的吗 从菜鸟到高级都在焦虑的一个问题 到了30多岁还没有做出点成就的话 就只能转行了 诸如做管理 创业开饭馆等等 我一直对此观点持保留态度 粗略看国内挨踢的发展历程 2000年出现第一次泡沫 往前推的话 有规
  • 我的2017年度技术回顾

    我为之前浪费的大把光阴后悔不已 如今正奋起直追 不知 为时可晚 较早是从事传统软件开发 主要以交付项目为主 后来慢慢转向互联网 属先知后觉那一类 一直从事Java软件研发管理工作 时下热门的小程序 大数据 人工智能 机器学习等接触很少 一方
  • 你们所不了解的程序员思维黑洞

    如果你也是程序员 看看你中了几条 1 数数会从 0 开始数起 比如 程序员吵架的时候会说 我数三下 你再不闭嘴 我就不客气了 零 一 二 或者 在列清单的时候 编号会从 0 开始写 为什么会这样 因为 0 是数组的第一个元素 在经过无数次的

随机推荐

  • EasyRecovery2024永久免费版电脑数据恢复软件

    EasyRecovery是一款操作安全 价格便宜 用户自主操作的非破坏性的只读应用程序 它不会往源驱上写任何东西 也不会对源驱做任何改变 它支持从各种各样的存储介质恢复删除或者丢失的文件 其支持的媒体介质包括 硬盘驱动器 光驱 闪存 以及其
  • 智康护居家养老服务上门介绍

    近年来 我国老龄化进程不断加速 养老服务成为社会关注的热点之一 居家养老服务上门作为养老服务的一项重要服务方式 受到越来越多老人和家庭的青睐 居家养老服务上门分为生活照料 基础照护 健康管理 探访服务等几个方面 下面我们就来详细介绍它们 生
  • css学习之路:sass学习基础篇

    SCSS 一 动态的样式语言 让CSS有变量的概念 css有很多的缺点 语法不够强大 没有变量和合理的样式复用机制 导致难以维护 我们就可以使用动态样式语言 赋予CSS新的特性 常见的动态样式语言 scss sass scss兼容sass
  • 设计创新,流程优化:3D开发HOOPS在数字化工厂中的多面应用

    随着科技的不断发展 数字化转型已经成为各行各业的共同趋势 而工业领域也不例外 在这一浩大的变革浪潮中 Tech Soft 3D的 HOOPS 正以其卓越的性能和多功能性 成为数字化工厂领域的关键推动力 数字化工厂概述 数字化工厂是指通过将传
  • Ontrack EasyRecovery(易恢复中国)2024专业数据文件恢复软件

    Ontrack EasyRecovery 易恢复中国 是全球著名数据厂商Kroll Ontrack出品的一款专业数据文件恢复软件 EasyRecovery数据恢复软件支持恢复不同存储介质数据 硬盘 光盘 U盘 移动硬盘 数码相机 RAID磁
  • CSS学习之路: 基础学习篇

    css基础 一 css3 概述 1 1 什么是css Cascading style sheets 层叠样式表 级联样式表 简称样式表 1 2 css作用 对页面中html元素进行美化 1 3 HTML和css的关系 HTML 负责页面结构
  • LeetCode-数组-双指针-中等难度

    文章目录 双指针 1 删除有序数组中的重复项 入门 1 1 题目描述 1 2 解题思路 1 3 代码实现 2 删除有序数组中的重复项 II 简单
  • 时间序列平稳性相关检验方法

    理解平稳性 一般来说 平稳时间序列是指随着时间的推移具有相当稳定的统计特性的时间序列 特别是在均值和方差方面 平稳性可能是一个比较模糊的概念 将序列排除为不平稳可能比说序列是平稳的更容易 通常不平稳序列有几个特征 平均值随时间推移发生变化
  • 内网穿透常用方法系列总结

    前言 在内网渗透时 一个WebShell或CobaltStrike Metasploit上线等 只是开端 更多是要内网横向移动 扩大战果 打到核心区域 但后渗透的前提是需要搭建一条通向内网的 专属通道 才能进一步攻击 可实战中因为网络环境不
  • 智康护智慧养老院建设之养老院护工的排班系统

    智康护是一种针对养老院护工的排班系统 主要目的是优化养老院护工的排班管理 提高护工工作效率并降低工作负担 下面从排班调休 人员定位 排班班次和工单申请等几个方面来阐述智康护的功能 排班调休 智康护系统可以根据养老院的护工资源和护理需求 智能
  • iOS手机查看蓝牙底层日志

    文章目录 一 需要的环境 二 在iOS设备上安装Profiles文件 三 安装Xcode 四 安装packetLogger 五 启动蓝牙数据包分析 参考文档 A New Way to Debug iOS Bluetooth Applicat
  • 用友签约新奥集团,共建智慧资产管理平台

    近日 用友成功签约新奥集团数智资产项目 项目将以数据驱动 资产创值为牵引 将全集团所有板块的资产数据按照标既定模型全面可视化展示 通过数据分析 模型沉淀 智能识别低效闲置资产 预警 赋能资产处置 盘点等事项形成处理闭环 通过数智驱动处置等活
  • 振弦采集仪在地基沉降监测中的应用研究

    振弦采集仪在地基沉降监测中的应用研究 振弦采集仪是一种专门用于测量地基沉降的仪器 它采用振弦原理来测量地基的沉降情况 振弦采集仪通过在地基上安装一根细长的弹性振弦 并测量振弦的变形来获得地基沉降的数据 在地基沉降监测中 振弦采集仪可以提供精
  • promethues grafana 安装和使用

    文章目录 1 promethues安装 2 node exporter安装 3 grafana安装 4 配置promethues监控node节点 5 grafana操作 外传 Docker 镜像下载地址 https hub docker c
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -小程序端TabBar搭建

    锋哥原创的uniapp微信小程序投票系统实战 uniapp微信小程序投票系统实战课程 SpringBoot2 vue3 2 element plus 火爆连载更新中 哔哩哔哩 bilibili uniapp微信小程序投票系统实战课程 Spr
  • LONGQLORA: EFFICIENT AND EFFECTIVE METHOD TO EXTEND CONTEXT LENGTH OF LARGE LANGUAGE MODELS

    本文是LLM系列文章 针对 LONGQLORA EFFICIENT AND EFFECTIVE METHOD TO EXTEND CONTEXT LENGTH OF LARGE LANGUAGE MODELS 的翻译 LONGQLORA 扩
  • 新规施行推动数据资产化迈出关键一步

    经济参考报 1月2日刊发文章 新规施行推动数据资产化迈出关键一步 文章称 2024年1月1日起 企业数据资源相关会计处理暂行规定 下称 暂行规定 正式施行 暂行规定 明确数据资源的确认范围和会计处理适用准则等 业内人士表示 这是推动数据资产
  • PD SINK协议芯片系列产品介绍对比-ECP5701、FS312A、CH221K、HUSB238、AS225KL

    目录 一 ECP5701 二 FS312A 三 CH221K 四 HUSB238 五 AS225KL 在如今快节奏生活不断蔓延的背景下 人们对各种事情的处理也渐渐地开始要求在保证质量的情况下 不断加快 手机快充就是一个典型的例子 从开始的1
  • 智康护智慧养老院建设之智慧视频联动解决方案

    智康护智慧养老院建设之智慧视频联动解决方案是一种基于智能技术和视频监控的创新解决方案 旨在提升养老院的安全管理和服务质量 通过视频联动实现智能化的监控和应急响应 建设背景 随着人口老龄化问题的日渐严重 养老院作为提供长期照护和安居服务的场所
  • 程序员思维——四个思考原则

    一 什么是四个思考原则 以终为始 确定好真实目标 任务分解 找到实施路径 沟通反馈 解决与人打交道出现的问题 自动化 解决与机器打交道出现的问题 二 如何运用思考框架 运用这个思考框架 我们需要问自己一些问题 Where are we 我们