前言

尤里卡时刻
”尤里卡”源自古希腊语”Eureka”(意为”我发现了!”),最早来自古希腊科学家阿基米德的著名故事。据说他在浴缸中突然发现浮力原理时,激动地裸身跑上街头高喊”Eureka!”

1-2 章介绍出入公司开启职业生涯时,应该知道的内容
3-11 章扩展职业技能

  • 编写生产级别的代码
  • 高效测试
  • 代码评审
  • 持续集成和部署
  • 撰写设计文档
  • 技术架构最佳实践
    12-14 软技能
  • 敏捷设计
  • 管理者协作
  • 职业生涯规划

第一章 前面的旅程

坎宁安定律 和 自行车棚效应
重点不是要写一个完美的文档,而是要写得足够读,以引发讨论、从事细节。坎宁安定律认为,在互联网获得正确答案的最好方法,并不是提出问题,而是发布错误的答案。
自行车棚效应则是说过度集中在细枝末节上的讨论总是会很冗长。这是一个寓言故事,说因为发电厂的设计过于复杂,无法讨论出实际的内容,所以花了几分钟就通过这个计划,后面又花了 45 分钟来讨论自行车棚的材料问题。

第二章 步入自觉阶段

无意识的无能力
有意识的无能力
有意识的有能力
无意识的有能力

学习如何学习

前置学习

学习一切如何运作

实践学习

降低系统风险并使这些错误不那么致命时你的管理者和团队的工作。

运行实例代码

阅读

阅读源码,开源项目,形成自己的风格
阅读团队内的一些事情,来掌握整个的进度,团队的发展

结对编程

1. 准备工作

  1. 环境配置
    • 准备一台性能良好的电脑,配备大屏幕或双屏
    • 安装必要的开发工具和插件
    • 远程协作时,准备稳定的网络环境
  2. 团队准备
    • 确定搭档(建议新手配专家)
    • 约定工作时间
    • 设定当天的开发目标

2. 具体实施步骤

第一步:任务分解
  1. 共同讨论需求
  2. 将任务分解成小块
  3. 设定优先级
  4. 估算时间
第二步:角色分工
  • 驾驶员(写代码的人)
    • 负责具体编码
    • 解释正在做什么
    • 接受导航员的建议
  • 导航员(观察的人)
    • 审查代码
    • 提供建议
    • 思考更好的解决方案
    • 查找相关资料
第三步:执行过程
  1. 每30-45分钟交换角色一次
  2. 使用番茄工作法控制时间
  3. 及时总结和记录问题
  4. 定期休息,避免疲劳

3. 有效沟通技巧

  • 使用清晰的语言描述想法
  • 提问时具体明确
  • 有不同意见时友善表达
  • 多用”我们”而不是”你”
  • 及时确认对方的理解

4. 工具推荐

本地结对
  • 大屏幕或双屏设置
  • 可调节的桌椅
  • 外接键盘鼠标
远程结对
  • VS Code Live Share
  • JetBrains Code With Me
  • Zoom/Teams 进行视频会议
  • Git 进行代码版本控制

5. 注意事项

  1. 避免常见问题
    • 不要独占键盘
    • 保持耐心和开放心态
    • 避免过度批评
  2. 提高效率的技巧
    • 提前准备好开发环境
    • 使用快捷键提高效率
    • 及时记录重要决策
    • 保持代码规范一致
  3. 持续改进
    • 每天总结配对经验
    • 收集反馈并改进
    • 定期回顾和调整方式

6. 建立良好习惯

  • 准时开始和结束
  • 保持工作区整洁
  • 做好session记录
  • 遵循团队约定的规范

提出问题

设置时间限制

写下全过程

别打扰别人

在网络通信中, 组播是指将消息发送到一个群组,而不是个人目标 异步时指可以稍后处理的消息,不需要立即响应

克服成长障碍

冒充者综合征

无论我们多么频繁的告诉工程师,他们做得很好,有些人就是不相信。 他们说他们只是很幸运,他们不值得别人认可。 这就是冒充者综合征 #note 完全就是我自己啊。

当你取得一些成就的时候,那是因为你真真切切的做到。 你的同行都是有能力的人,如果他们说一些积极的话,那是因为他们确实有充分的理由这样做。

重塑消极的想法 我不得不求助达里亚来帮助我解决软件上的竞争条件难题 变成 我联系达里亚,现在我知道了如何解决竞争条件难题 #note 怎么样不会出现反效果,就是到底是谁借的问题呢?

请你尊敬的人来告诉你,你做得怎么样。

邓宁-克鲁格效应

人们认为自己比实际情况更有能力。“无意识的无能力”

方法

  • 有意识的培养好奇心
  • 对犯错持开放态度
  • 找一位尊敬的人,讨论做得怎么样
  • 讨论设计决策,尤其是那些你不同意的决策
  • 培养一种权衡利弊的心态,而不是非黑即白的心态

升级加油站

  • 软件开发者路线图:从学徒到高手
  • 你要做的全部就是提问:如何掌握成功最重要的技能
  • 结对编程
    • 解析极限编程——拥抱变化
    • 论结对编程
  • 成长障碍
    • 高能量姿势:肢体语言打造个人影响力