对自己读过的书做一些梳理,这是第一本:《代码整洁之道:程序员的职业素养》。作者从成为专业的程序员需要什么态度,需要遵循什么样的原则,需要采取什么样的行动三个方面说起。对日常工作受用较大,包括如何编码、如何和业务方沟通、怎样做会议汇报、如何高效开展工作、提高团队工作效率的准则等等,其实总结起来就是说:如何成为一名专业的技术人员,对于新手来说非常值的一看。
大致总结:
1、程序员应该具备的职业素养:
- 了解你的领域
- 坚持学习
- 刻意练习
- 合作
- 与客户、雇主保持一致
2、如何say no
- 团队精神
- 信守承诺
- 坚守原则
3、测试
- TDD测试驱动开发
- 对完成的定义
- 自动化测试的重要性
4、时间管理
- 会议的价值
- 会议上如何汇报工作事项
- 迭代回顾和功能展示
5、面对压力
- 沟通
- 依靠你的纪律原则
- 寻求帮助
职业素养体现在你如何解决问题,思路,步骤及反思
因为我们需要招聘的不是“经历丰富”的人,而是“有职业素养”的人。你遇到的问题可能很容易也可能很难,但我看重的并不是问题的难度,而是解决问题的方式、步骤以及反思的程度
面对重大事故,一方面需要及时挽救,将危害降到最低。另一方面需要事后复盘,内容包括:问题为何发生、下次如何避免。从中可以学习的是:解决问题的思路、步骤、后续完善及避免再次发生的措施
恢复误删数据,对很多人来说这是非常简单的任务。我更感兴趣的是怎样分析问题,找了怎样的资料,采取了怎样的步骤,此后做了哪些措施来避免这种错误再次出现。在我看来,与问题本身的难度相比,解决问题的方式、步骤以及反思的程度,才能体现出一个人的职业素养。
职业素养强调持续的沉淀。包括但不仅限于:1、编码能力 2、善于解决问题 3、了解代码背后的意义 4、对自己的代码负责
因为素养强调的并不是天赋的神秘,也不是技艺的高深,而是持续积淀的结晶:一方面,它体现了能力和素质;另一方面,它又强调了持续的积累和养成。作为职业开发人员,基本技能不够熟练,当然谈不上职业素养。但是仅仅能迅速地编写代码,却不关心代码背后的意义,不能迅速判断、解决程序运行中的各种问题,不能自信满满地为自己交付的程序承担责任,同样是与职业素养绝缘的——许多所谓的“高手”,正是缺乏职业素养的典型。
什么情况下说yes?和别人承诺时你需要做到 自己重复一遍需求,tcp三次握手的那种。先讲自己要做成个什么东西,再讲自己的实施步骤和计划,最后确认deadline
比如:什么情况下应该对业务部门说“是”,说“是”意味着什么。如果你没有想过这些问题,或者没有明确的答案,不妨看看Bob大叔是怎么说的:
(说“是”时)你对自己将会做某件事做了清晰的事实陈述,而且还明确说明了完成期限。那不是指别人,而是指你自己。你陈述的是自己会去执行的一项行动,而且,你不是“可能”去做,或是“可能做到”,而是“会”做到。
如何应对客户反复修改的需求
真正的解决办法,是约定共同认可的验收测试标准,并在开发过程中保持沟通
好代码 vs 坏代码
最好的软件开发人员都知道一个秘密:美的东西比丑的东西创建起来更廉价,也更快捷。构建、维护一个美的软件系统所花费的时间、金钱都要少于丑的系统。……美的系统是灵活、易于理解的&#