做更好的开发者,交付更好的代码
通过阅读本书,你将知晓以下问题的答案:
单凭敏捷开发流程为什么无法使项目成功?软件工艺为什么对项目的成功至关重要?
软件工艺理念怎样帮助开发者合理地开发软件,怎样在代码之外的层面上协助客户?
应该以什么样的方式、在什么样的时机拒绝不合理要求,拒绝之后又应该如何给出替代方案?
优秀的开发者为什么有时也会写出糟糕的代码,开发者怎样阻止自己写出这种代码,怎样改掉这种坏习惯?
如何更顺利、更高效地应对遗留代码?
如何以务实而不僵化的态度来选择开发方式及开发工具?
如何引领软件工艺师,如何将其吸引到你的公司来?
在发布招聘启事、面试及雇用开发者时,需要避免哪些不合适的做法?
开发者与其项目经理应该如何打造学习氛围?
如何推动技术变革,如何应对变革过程中所遇到的各种质疑?
有先进的工具和流程,软件项目为何仍会失败?因为很多公司依然把软件开发当成一条生产线,就连很多开发者也这么认为,并且按照生产线的方式来工作。
桑德罗·曼卡索的这本书提供了一条更合理、更令人满意的途径。如果你想以自豪而专业的态度开发软件,如果你热爱软件开发,并且想把它做好,如果你追求那种有足够自主权、能够磨练技艺而且又有清晰目标的职业,那你首先要意识到自己是一位软件工艺师。接受了这种理念之后,你就有动力把自己的技术水平及客户对你的满意程度提升到前所未有的高度。
围绕软件工艺理念,作者详细讲述了几组话题。首先,讲述了软件开发者所应具备的工作和学习态度,以及如何交付软件产品、如何选择软件开发方式、如何规划职业发展道路等问题。然后,作者根据自己的工作经历,讲述了公司应该怎样吸引并招募这种对技术热衷、对工作负责的人,其中谈论面试禁忌的那一章给出了很多中肯的建议,值得大家参考。接下来,作者讲述了怎样在公司内部打造学习氛围,以及如何有效地推动技术变革。如果软件开发者自身和软件开发公司都能抱持这种尊重专业技能、用心服务客户的理念,那么整个软件开发行业的面貌就会有所改观,我们会逐渐抛弃那种把开发者当成码工、把制作软件当成应付差事的消极态度,而这也正是软件工艺致力解决的主要问题。最后两章及附录列出了在推行软件工艺及规划职业发展时的注意事项。
★作者在书中提出计划和策略,并指明做事态度以及一系列指导原则,程序员、开发团队及软件组织都可以由此摆脱平庸、走向专业,使工作变得更有效率,并对工作倍感自豪。这本书范围很广。从设计模式、结对编程及测试驱动开发,谈到如何安排面试、如何评价面试效果,再谈到怎样应对紧迫的工期、怎样撰写职位描述信息,以及怎样与同事和管理层相处。
——Robert C. Martin