1)在第三章软件工程师成长的内容中,谈到了软件工程师与普通程序员的对比,如何才能成为一名合格的软件工程师?
首先,需要学习良好的编程能力,作为一个合格的软件工程师至少要精通一门编程语言,编程能力直接决定了项目的开发效率;具有较强的英文能力,在目前英文编程的大环境下,最近的技术和文章都离不开英文;要有良好的团队意识,只有团队才可以更好的解决大规模的项目。
2)在第四章介绍的两人合作中,如果一个人编程能力很强,那么两人合作是否会降低两人的工作效率?或者说没有将两个人的能力应用到做大化?
首先,结对编程可以两人互相帮助,得到两人能力上的互补,同时可以提高代码的质量,减少BUG的产生,在编程中可以互相讨论,更加有效的解决问题。但是,有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾,有经验的人更喜欢单兵作战,两人一起可能会让他感到非常的不爽,最终导致编程时受到情绪影响,并且,两个人在一起工作可能会出现工作精力不能集中的情况,程序员可能会交谈一些与工作无关的事情,反而分散注意力,导致效率比单人更为低下。
3)在第九章软件需求方面,如何做到用尽量短的时间作出尽量全面的调查,既满足领导的要求,有符合用户的需求,并且适合程序员的开发习惯?
要从用户那里进行需求的获取,包括问题获取和分析等,可以使用访谈来了解用户领导层或者业务层方面的需求,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性,需求说明不可有二义性,更不能前后相矛盾。
4)在十六章中谈到了IT行业的创新,那么创新对于IT行业来说有多重要?
创新是一个行业发展的源泉,只有创新才能保证行业不断的发展。IT行业是现在新型的产业,是第三次工业革命的主导产业, IT技术固然需要创新,但是创新不仅是技术上的创新,更是思维上的创新。
5)第十三章谈到了关于软件测试的一些方法,但是在实际中,有些程序的bug发生的概率极小,那么我们可不可以忽略它而不进行相应的测试?
小概率的BUG在大多数的软件产品中都存在,但是由于其偶然性,很难被测试人员发现。如果小概率的BUG对系统的影响比较轻微,甚至可以忽略不计,那么可以不对这些进行测试,如果这些BUG会使系统崩溃,造成灾难性的影响,就要及时通知开发人员对其进行修复。