前言
尤里卡时刻
”尤里卡”源自古希腊语”Eureka”(意为”我发现了!”),最早来自古希腊科学家阿基米德的著名故事。据说他在浴缸中突然发现浮力原理时,激动地裸身跑上街头高喊”Eureka!”
1-2 章介绍出入公司开启职业生涯时,应该知道的内容
3-11 章扩展职业技能
- 编写生产级别的代码
- 高效测试
- 代码评审
- 持续集成和部署
- 撰写设计文档
- 技术架构最佳实践
12-14 软技能 - 敏捷设计
- 管理者协作
- 职业生涯规划
第一章 前面的旅程
坎宁安定律 和 自行车棚效应
重点不是要写一个完美的文档,而是要写得足够读,以引发讨论、从事细节。坎宁安定律认为,在互联网获得正确答案的最好方法,并不是提出问题,而是发布错误的答案。
自行车棚效应则是说过度集中在细枝末节上的讨论总是会很冗长。这是一个寓言故事,说因为发电厂的设计过于复杂,无法讨论出实际的内容,所以花了几分钟就通过这个计划,后面又花了 45 分钟来讨论自行车棚的材料问题。
第二章 步入自觉阶段
无意识的无能力
有意识的无能力
有意识的有能力
无意识的有能力
学习如何学习
前置学习
学习一切如何运作
实践学习
降低系统风险并使这些错误不那么致命时你的管理者和团队的工作。
运行实例代码
阅读
阅读源码,开源项目,形成自己的风格
阅读团队内的一些事情,来掌握整个的进度,团队的发展
结对编程
1. 准备工作
- 环境配置
- 准备一台性能良好的电脑,配备大屏幕或双屏
- 安装必要的开发工具和插件
- 远程协作时,准备稳定的网络环境
- 团队准备
- 确定搭档(建议新手配专家)
- 约定工作时间
- 设定当天的开发目标
2. 具体实施步骤
第一步:任务分解
- 共同讨论需求
- 将任务分解成小块
- 设定优先级
- 估算时间
第二步:角色分工
- 驾驶员(写代码的人)
- 负责具体编码
- 解释正在做什么
- 接受导航员的建议
- 导航员(观察的人)
- 审查代码
- 提供建议
- 思考更好的解决方案
- 查找相关资料
第三步:执行过程
- 每30-45分钟交换角色一次
- 使用番茄工作法控制时间
- 及时总结和记录问题
- 定期休息,避免疲劳
3. 有效沟通技巧
- 使用清晰的语言描述想法
- 提问时具体明确
- 有不同意见时友善表达
- 多用”我们”而不是”你”
- 及时确认对方的理解
4. 工具推荐
本地结对
- 大屏幕或双屏设置
- 可调节的桌椅
- 外接键盘鼠标
远程结对
- VS Code Live Share
- JetBrains Code With Me
- Zoom/Teams 进行视频会议
- Git 进行代码版本控制
5. 注意事项
- 避免常见问题
- 不要独占键盘
- 保持耐心和开放心态
- 避免过度批评
- 提高效率的技巧
- 提前准备好开发环境
- 使用快捷键提高效率
- 及时记录重要决策
- 保持代码规范一致
- 持续改进
- 每天总结配对经验
- 收集反馈并改进
- 定期回顾和调整方式
6. 建立良好习惯
- 准时开始和结束
- 保持工作区整洁
- 做好session记录
- 遵循团队约定的规范
提出问题
设置时间限制
写下全过程
别打扰别人
在网络通信中, 组播是指将消息发送到一个群组,而不是个人目标 异步时指可以稍后处理的消息,不需要立即响应
克服成长障碍
冒充者综合征
无论我们多么频繁的告诉工程师,他们做得很好,有些人就是不相信。 他们说他们只是很幸运,他们不值得别人认可。 这就是冒充者综合征 #note 完全就是我自己啊。
当你取得一些成就的时候,那是因为你真真切切的做到。 你的同行都是有能力的人,如果他们说一些积极的话,那是因为他们确实有充分的理由这样做。
重塑消极的想法 我不得不求助达里亚来帮助我解决软件上的竞争条件难题 变成 我联系达里亚,现在我知道了如何解决竞争条件难题 #note 怎么样不会出现反效果,就是到底是谁借的问题呢?
请你尊敬的人来告诉你,你做得怎么样。
邓宁-克鲁格效应
人们认为自己比实际情况更有能力。“无意识的无能力”
方法
- 有意识的培养好奇心
- 对犯错持开放态度
- 找一位尊敬的人,讨论做得怎么样
- 讨论设计决策,尤其是那些你不同意的决策
- 培养一种权衡利弊的心态,而不是非黑即白的心态
升级加油站
- 软件开发者路线图:从学徒到高手
- 你要做的全部就是提问:如何掌握成功最重要的技能
- 结对编程
- 解析极限编程——拥抱变化
- 论结对编程
- 成长障碍
- 高能量姿势:肢体语言打造个人影响力