ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

《10x 程序员工作法》笔记

《10x 程序员工作法》笔记 文章目录1.本质复杂度Essential Complexity和偶然复杂度Accident Complexity核心思考框架落地执行原则2. DoDDefinition of Done完成的定义1. DoD 是一份检查清单由多条检查项组成2. DoD 的检查项必须实际可检查、可验证3. DoD 是团队协作的汇报机制工作只有两种状态做完 / 没做完4. DoD 是一种思维模式用来消除不确定性、达成团队共识3. 扩大工作上下文1. 核心认知角色差异的本质是上下文差异2.局部优化≠全局最优上下文缺失易做“无用功”3.程序员的常见盲区过度依赖技术忽略上下文4.打破盲区的关键主动扩大工作上下文5.扩大上下文的具体方式了解软件开发全生命周期6.扩大上下文的核心价值拥有“降维攻击”的视角7.实例佐证4. 测试做好标准1.测试核心流程前置准备→执行→断言→清理2.测试核心原则A-TRIP5. T型人才1.职业焦虑的根源时代与认知的脱节2.破解焦虑的关键成为T型人才3.T型人才的核心逻辑“专”是基础“能”是延伸4.“一专”为基“多能”拓宽职业路径5.“多能”反哺“一专”打破职业瓶颈6. ThoughtWorks 技术雷达1.技术雷达核心概况2.技术雷达的四大生命周期阶段3.各阶段关注优先级建议4.补充参考资料1.本质复杂度Essential Complexity和偶然复杂度Accident Complexity本质复杂度指解决问题时无论采用何种方案都无法规避的核心固有工作量是问题本身自带的底层复杂度。偶然复杂度因方案选型不合理、流程不规范、工具落后等人为因素额外产生的冗余工作量属于可优化、可消除的非必要复杂度。软件开发想要稳步推进、高效落地核心关键就是选对设计思路与研发模式最大限度削减偶然复杂度聚焦解决业务本质问题。核心思考框架梳理现状客观盘点当前问题、现存瓶颈与现有资源明确目标锚定最终交付结果与核心价值拒绝模糊诉求规划路径拆解步骤、制定方案搭建从现状到目标的落地链路落地执行原则以终为始跳出单一任务指令聚焦业务核心目标与最终价值不将表层任务当作最终目的避免无效劳作。合理任务分解将宏大目标逐层拆解为轻量化、可落地、可验收的细分任务。拆解越精细进度可控性越强风险越容易提前预判。高效沟通反馈双向同步信息精准传递需求与进度规避理解偏差引发的返工主动接收外部反馈与优化建议避免闭门造车、固步自封。流程自动化标准化、重复性、低价值的繁琐工作通过工具、脚本、流水线自动化落地解放人力聚焦核心研发工作。2. DoDDefinition of Done完成的定义DoD即完成的定义用来清晰界定一件事做到什么程度才算真正收尾统一团队认知减少因理解偏差导致的返工、内耗与无效浪费。核心理念凡事先行定义完成标准再动手执行。1. DoD 是一份检查清单由多条检查项组成用一条条明确条目约束工作告别 “凭感觉、看经验” 判断进度。举例一个接口开发任务检查项可以是接口代码已编写完成入参、出参规则已按需求实现异常场景已做兼容处理依靠清单逐项核对不漏项、不遗漏。2. DoD 的检查项必须实际可检查、可验证拒绝模糊化描述每一条标准都能客观判定 “合格 / 不合格”。反例不可检查代码写得没问题、功能大致能用。正例可检查所有接口请求响应耗时控制在 200ms 以内不存在崩溃、报错、白屏等线上问题核心流程连续测试 20 次无异常3. DoD 是团队协作的汇报机制工作只有两种状态做完 / 没做完杜绝「差不多好了、快完成了、基本没问题」这类模糊状态。举例没有 DoD 时开发说功能写完了测试介入后发现缺逻辑、缺边界处理反复返工。有 DoD 时不满足全部检查项一律判定为未完成不流转下一环节从源头减少跨环节返工。4. DoD 是一种思维模式用来消除不确定性、达成团队共识它不只是一张表单更是提前对齐预期的工作思维。举例需求迭代前期产品、开发、测试一起约定 DoD包含功能、性能、文档、自测、评审等要求。所有人提前明确验收底线不会出现「我以为要做」「你觉得不用做」的认知分歧大幅降低协作中的偶然复杂度。3. 扩大工作上下文1. 核心认知角色差异的本质是上下文差异在软件开发协作中不同角色的工作核心差异本质是上下文的不同产品关注业务价值测试关注质量底线开发关注技术实现。每个角色都有自身的工作边界和思考维度这直接决定了看待问题的视角。关键结论单一局部上下文里难以破解的难题跳出固有边界、切换到更广阔的上下文甚至可能无需刻意解决这就是“跳出局部看全局”的意义。2.局部优化≠全局最优上下文缺失易做“无用功”若始终局限于自身角色边界即便在单个环节付出再多努力也只是“局部优化”很难实现整体工作的最优效果更无法从根源上减少前文提到的“偶然复杂度”。举例只专注于优化某段代码的执行效率却忽略其对应的业务场景是否合理、是否有更简洁的业务逻辑可替代最终努力可能沦为“无用功”甚至增加后续维护成本。3.程序员的常见盲区过度依赖技术忽略上下文技术是程序员的“利刃”但并非所有问题都需要用技术解决。“手里有了锤子眼里都是钉子”正是很多程序员的盲区——过度依赖技术思维会下意识用技术应对所有问题甚至花费大量精力解决“根本不是问题”的问题。盲区根源上下文缺失始终站在“程序员”单一维度看问题未跳出角色了解业务全貌、项目目标和其他角色需求。4.打破盲区的关键主动扩大工作上下文破解盲区的核心是跳出程序员角色思维主动扩大工作上下文多问几个“为什么”为什么做这个需求核心诉求是什么有无非技术解决方案多与产品、测试、运营等角色沟通探讨更高效的做法很多困惑会迎刃而解。5.扩大上下文的具体方式了解软件开发全生命周期对程序员而言扩大上下文最直接的方式是主动熟悉软件开发全流程从需求调研、产品设计、技术选型到编码开发、测试验收、部署上线再到运维迭代、问题排查。核心改变不再只看到“编码”这一个孤立的点而是看到完整的工作链路思考重心从“写好代码”转向“让代码更好地服务业务、提升整体效率”。6.扩大上下文的核心价值拥有“降维攻击”的视角扩大上下文后与他人讨论问题时会更有底气、视角更全面相比只局限于单点思考的人相当于拥有“降维攻击”的能力。关键体现站在项目整体目标、业务长期价值等更高维度思考会发现很多低维度、单一环节难以解决的难题在广阔上下文里根本不是问题。7.实例佐证程序员接到“开发用户数据统计报表”的需求若局限于“开发”上下文可能花费大量时间优化查询效率、美化页面但扩大上下文后与产品沟通得知报表仅用于临时业务复盘、使用频率极低最优方案无需开发完整模块只需通过SQL查询导出数据用Excel整理即可满足需求从根源减少了偶然复杂度。4. 测试做好标准做好软件测试核心需遵循“前置准备、执行、断言、清理”四大核心流程同时满足A-TRIP五大核心原则二者结合可确保测试工作规范、高效、精准从源头把控产品质量减少因测试疏漏导致的返工与风险。1.测试核心流程前置准备→执行→断言→清理测试工作的完整性离不开四大流程的闭环推进每一步都不可或缺直接影响测试结果的准确性前置准备测试前的基础铺垫包括明确测试范围、梳理测试用例、搭建测试环境、准备测试数据含正常、异常、边界数据同时对齐DoD验收标准避免测试无方向、无依据。执行按照测试用例逐步执行测试操作全程记录操作步骤、出现的异常现象确保操作可追溯不遗漏任何一个测试场景避免“凭经验测试”。断言将测试执行结果与预期结果进行对比明确判定“通过”或“不通过”拒绝模糊判定若出现异常需精准定位问题、描述问题为开发修复提供清晰依据。清理测试结束后清理测试环境中的测试数据、临时文件恢复环境初始状态避免残留数据影响后续测试执行保证测试环境的洁净度与稳定性。2.测试核心原则A-TRIPA-TRIP五大原则是测试工作的“质量标尺”贯穿测试全流程确保测试结果可靠、可复用、有价值具体解析如下Automatic自动化对于高频重复、标准化的测试场景如回归测试、接口测试优先采用自动化测试工具实现减少人工操作成本避免人工失误同时提升测试效率让测试人员聚焦于复杂场景的测试。 举例接口回归测试通过编写自动化脚本每日自动执行所有接口测试用例无需人工逐一对接大幅节省时间。Thorough全面的测试需覆盖所有核心场景、边界场景、异常场景不遗漏任何可能出现问题的点兼顾功能、性能、兼容性等多维度确保测试无死角。 举例测试登录功能需覆盖正确账号密码、错误账号、错误密码、空账号、空密码、特殊字符账号等所有场景同时检查登录超时、多设备登录等边界情况。Repeatable可重复的测试过程可复现、测试结果可验证无论谁执行、何时执行只要按照相同的测试用例、测试环境操作都能得到一致的测试结果避免“一次性测试”无法追溯问题。 举例某功能测试用例明确记录操作步骤、测试数据、预期结果任何测试人员按照该用例执行都能复现相同的测试结果便于问题排查与回归验证。Independent独立的测试用例之间相互独立、互不影响单个用例的执行结果不会干扰其他用例同时测试环境独立于生产环境避免测试操作影响生产数据与业务正常运行。 举例测试“用户注册”与“用户登录”功能两个用例分开设计、独立执行即便注册功能测试失败也不影响登录功能的正常测试测试环境单独部署不与生产环境共用数据库。Professional专业的测试人员需具备专业的测试知识、业务认知与问题分析能力能够精准识别测试重点、设计合理的测试用例同时规范记录测试报告清晰反馈问题、给出优化建议而非单纯“执行操作、记录结果”。 举例测试过程中发现异常不仅记录异常现象还能初步判断问题可能出现的环节如前端交互、后端接口、数据库为开发修复提供专业参考测试报告规范、清晰包含测试范围、测试结果、问题明细、优化建议等内容。5. T型人才1.职业焦虑的根源时代与认知的脱节核心焦虑来源对未来的不确定性这种不确定性是特定时代与特定行业共同作用的结果。时代对比上世纪80年代前人们虽生活条件有限但人生路径清晰很少有发展焦虑如今身处快速发展时代未来充满未知而思维模式仍未摆脱上一代人“稳定至上”的认知进一步加剧焦虑。2.破解焦虑的关键成为T型人才T型人才核心定义一专多能——“T”的一竖是某一领域的深厚专业能力专“T”的一横是跨领域的广博知识与技能能二者结合可在多变时代站稳脚跟。3.T型人才的核心逻辑“专”是基础“能”是延伸核心前提有了“一专”“多能”才具有真正价值若无核心专业能力支撑“多能”只是低水平重复无法形成核心竞争力这也是很多人职业生涯无起色的根本原因。“专”的核心含义绝非简单的“熟练操作”而是深入底层的专业积淀——对技术原理的通透理解、对业务逻辑的精准把握、面对复杂问题的快速破局能力而非表面熟练度。4.“一专”为基“多能”拓宽职业路径当具备深厚技术功底、通晓软件开发核心逻辑与全流程后拓展“多能”可摆脱单一角色局限常见方向带领团队落地项目、协同推进工作成长为技术领导者将技术理解系统化分享帮助他人成长成为技术培训师在实战中精准定位问题、提供解决方案成为技术咨询师。5.“多能”反哺“一专”打破职业瓶颈“多能”的价值拓宽视野帮助跳出单一技术视角看清核心专业能力的应用场景避免“手握技术就天下无敌”的狭隘认知。程序员的常见瓶颈视野狭窄、缺乏大局观只专注于代码编写不了解业务价值、团队协作、行业趋势最终停留在“技术工匠”层面难以实现更高成长。6. ThoughtWorks 技术雷达1.技术雷达核心概况基本信息ThoughtWorks 技术雷达 由 ThoughtWorks 技术咨询委员会Technology Advisory Board编写每6个月发布一次是一份聚焦技术趋势的专业报告。核心优势得益于 ThoughtWorks 丰富的项目多样性其能精准捕捉各类技术趋势相比行业其他预测报告技术雷达更具体、更具可操作性可直接为项目实践提供参考。2.技术雷达的四大生命周期阶段技术雷达将技术、工具等划分为四个生命周期阶段核心关注重点为“采用”和“暂缓”两项采用Adopt建议重点考虑使用的技术/工具经过实践验证成熟度高、实用性强试验Trial已具备使用条件但成熟度不及“采用”阶段可根据项目需求尝试应用评估Assess需重点关注、深入研究但暂不建议急于试验除非与项目高度契合暂缓Hold需谨慎推进存在潜在风险不建议盲目应用。3.各阶段关注优先级建议核心关注项“采用”和“暂缓”两项从近年发展趋势来看技术雷达在这两项上的推荐大部分较为靠谱可作为技术选型、风险规避的重要参考。次要关注项“试验”和“评估”两项多属于新兴技术的试验区核心作用是开拓视野可在空闲时间逐步了解无需急于落地应用。4.补充除技术雷达外推荐关注 InfoQ可获取更多技术趋势、实践案例等优质内容助力拓宽技术视野、提升专业能力。参考资料10x程序员工作法
返回列表