《程序员的职业素养》是Robert C.Martin 大师的经典著作之一,旨在讨论如何成为一名专业的软件开发人士,以及专业的软件开发人士所需的各种品质。他被人们亲切的称为Bob大叔。
在读过之后,我对本书的一些理解,这些理解只是我个人的理解,可能比较片面,也有些理想化,毕竟每个人的理解都不尽相同。
专业的软件开发人士需要具备如下素养:
1、专业的软件开发人士能够真正正确的认识软件开发这一职业,这是一个需要不断学习,不断积累,不断实践的职业。尽管其他职业也是如此。因为没有哪种职业能够靠之前短短几年的知识积累而从容应对整个职业生涯的,从来没有。
2、专业的软件开发人士能够知道在何时说“不”,通过说不,来对付一些不必要的无理要求,能够在一些没有意义的且毫无价值的事情上勇敢的拒绝。
3、专业的软件开发人士能够做出承诺并且清晰地认识到一旦做出了承诺将意味着什么,承诺意味着责任,意味着按时交付,并且不仅仅是完成。
4、专业的软件开发人士知道如何管理自己的注意力,能够自如清晰的进行时间的管理与分配,知道自己在何时注意力最佳集中,何时自己不在状态,以及如何调整自己的状态,来实现效率与效果的最大化。
5、专业的软件开发人士知道如何管理自己的身体,情绪,情感,他们知道必须让自己成为身体,情绪,情感的主人,而不被它们所左右。
6、专业的软件开发人士知道如何寻求帮助以及该在何时寻求帮助,因为他们知道自己不完美,他们也需要别人的帮助,并且乐于接受别人的帮助与接受建议。他们接受自己的不完美,并且乐于帮助别人,以此循环。
7、专业的软件开发人士知道如何组建团队,知道如何与团队更加有效的协同工作以完成共同的目标。
8、专业的软件开发人士知道如何有效的处理冲突。
9、专业的软件开发人士知道如何管理项目、工作和生活所带来的巨大压力,他们懂得如何释放压力,懂得如何调整自己以最佳的状态迎接接下来的各种挑战。
10、专业的软件开发人士知道如何写出简洁、优雅的代码,并不断的精雕细琢他们的产品代码。
11、专业的软件开发人士知道如何有效地进行估算,并且给出估算的依据。
12、专业的软件开发人士知道拥抱变化,并且乐于拥抱变化,尝试最佳实践。
优秀软件强大、优雅而实用,让人惊叹不已,不论是开发者还是用户都乐于使用这样的软件。它们并非是由机器编写出来的,而是出自哪些对软件技艺拥有坚定信念的专业软件开发者之手。
成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为他们拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
其实不止软件行业,其他各行各业也需要职业素养。
软件不止软件开发,程序员不止程序。
人生不止工作,还有生活!