书评:Edmond Lau的有效工程师

本书重点介绍了硅谷的许多软件工程建议和最佳实践。 它专注于“杠杆”的概念,以最少的时间产生最大的影响。 我向软件开发人员或管理人员推荐这本书,以努力提高个人和团队的生产力,并促进他们的职业发展。 这本书有来自Google,Facebook,Quora,Dropbox,Box,LinkedIn,Quip等公司的高级工程师的轶事和故事的支持。将其应用到我们的日常工作中将为我们带来巨大的成就。

笔记

1.专注于高杠杆活动
*产生的杠杆影响/投入的时间
*始终努力完成最高杠杆率的任务
*最高杠杆率任务并非总是轻而易举。 只有长期投入精力才能取得某些结果
*改变Facebook的招聘心态
*为Quora的新工程师制定入职计划
2.优化学习
*学习是指数式的。 尽早学习某些概念可以为新的机会打开新的大门。 尽早投资于学习
*在Google工作,并吸收所有代码实验室,讲座和学习资料。 创业公司没有那么多资源
*采用成长心态。 真正相信您可以学习和改进,这实际上会使它成为现实
* Dweck实验。 认为可以提高智力的学生比没有智力的学生表现更好
*专门学习
* 20%的时间在Google。
*参加研讨会,阅读博客,辅助项目等。
3.定期排定优先级
*保留待办事项清单。 定期排列待办事项清单的优先级
*使用某些软件的笔和纸
*没有太多正在进行的任务。 而是专注于完成任务。
*通过用重要性和紧迫性绘图来分析任务的优先级。 首先完成重要任务,不要被紧急但不重要的任务分散注意力
4.投资迭代速度
*构建使您的工作流程更快的工具。 如果您已两次执行同​​一操作,请第三次为其构建工具。
*缩短调试生命周期
*掌握您的编程环境
*熟悉基本的Unix / Shell命令
*熟悉IDE键盘快捷方式的快捷方式
5.衡量您要改进的地方
*如果无法测量,则无法完善。
*弄清楚并确定要度量的度量标准对将要完成的工作有很大影响。
*您可以使用行业标准之类的数字进行快速比较或基准测试
6.尽早验证您的想法
*精益创业方法论,尽早寻求反馈以验证您的假设
*使用AB测试连续验证更改
*始终尝试获得有关您工作的频繁反馈。 独自工作,没有反馈回路是天才的行为。
7.提高您的项目估算技能
*使用里程碑跟踪长期项目的进度
*清楚说明项目目标,仅就完成目标所需的工作进行工作。 不要让别人高兴地拥有东西,或让它成为项目的相关但非必要的任务。
*在Oolaya重建视频库被推迟了几个月,因为它试图包含太多目标
*在Box上将MySQL数据库分片具有里程碑意义和明确的目标
*将GoogleDocs从C#迁移到Java具有明确的目标
*神话般的一个月人。 降低投资回报率。 增加的小时数与完成工作所需的时间不是线性关系
8.在质量与实用性之间取得平衡
*建立可持续的代码审查流程。 代码审查对于代码质量和团队所有权具有长期利益。
*初创公司或更多实验/原型项目可能不需要像大公司那样严格的代码审查过程。
*为问题选择正确的抽象级别
*自动化测试
*偿还技术债务
* Asana波兰和油脂周。
* Google Fixit Days
9.最小化运营负担
*简化操作
* Instagram通过使用稳定的技术成功地扩展到数百万用户,而只有几个工程师。 您添加的每种新技术都需要付费。 他们使用Postgres数据库而不是更新的NoSQL替代方案。 他们从应用程序中删除了所有功能,但照片功能除外。
*自动执行技工任务
*自动化节省的时间和精力可以用于自动化之外的更有价值的任务
10.投资团队的成长
*营造强大的工程文化。 良好的入职可以为团队创造很多价值。
*帮助您周围的人并使自己更成功