凡事俱在人为,程序员也是人,人的性格会对程序员的工作产生不同的影响。
很多人认为聪明是程序员的一大优势,其实不然,往往是聪明反被聪明误。因为现代软件的复杂性,再聪明的程序员也无法在脑子里同时理清所有的问题,所以真正牛X的程序员是那些认识到了自己的脑子容量有限,而采取了对应措施的人,比如降低软件复杂性。这也就是说好的程序员要谦虚,认识到自己的不足,这样才能进步,这道理在哪里都是一样有效。
有强烈的好奇心并不断地学习新知识是一名好的程序员不可缺少的特性。软件的知识过时很快,不断的有新语言,新环境,新特性冒出来,要跟上发展必须学习。当然,万变不离其宗,很多核心的原理性的东西其实是多少年都不变的,这些东西就需要深刻理解掌握。
诚实,不管对于程序员还是其他人来说都是一样重要。诚实的人可能会吃小亏,但长期其实是赚的。知之为知之,不知为不知,是知也。要敢于承认自己的错误,不掩饰,不懂的努力去搞懂,这样才会进步。对于进度预测,报告等也要诚实,不要为了迎合老板而压缩时间,报喜不报忧,不然只有自己吃亏,不能按时完成减分更多,加班加点累的也是自己。
沟通与合作是老生常谈了,作为程序员,要记得代码是写给人看的,阅读代码也是一种沟通,把代码写得易读也是一种合作。
创造力和纪律往往是相互影响的,程序员的工作需要在一定的纪律约束下的创造力。创造力意味着灵活,如果没有纪律约束,这可能导致不可收拾的局面,那还不如不创造。
懒惰一般来说是不好的,不过为了以后省事而编写一些小工具来偷懒的做法是个例外。高效的懒惰是值得提倡的,虽然它并不常常被人接受。事实上在有效编程中最为重要的现象是人们在思考中往往显得并不忙,于是可能会被老板认为你在偷懒,这真是跳进黄河也洗不清。而那些忙着做赶着做的老板很喜欢,其实那往往是没有安排好和低效的表现。没办法,事实就是这样,除非能碰见无比开明的老板。
软件开发过程中,坚持是一把双刃剑。太过于坚持某一种方法不是好事,它可能导致走进死胡同出不来。要知道什么时候应该放弃,换另一种方法,这个很难,但是很有用。
经验往往没有我们想象的那么有用,一个有十年经验的程序员不一定会比一个只有五年经验的程序员做的更好,程序员是一个需要不断努力的职业,不是可以凭着经验养老的职业。
习惯的力量相当强大,好的习惯会使得程序员写出的代码质量更高,坏的习惯则相反。而且习惯很难改,不管是好的还是坏的,一旦养成,多少年不变。改掉坏习惯的一个方法是用好习惯去取代它,这比直接戒除它会容易的多。这方法也适用与各个领域。所以我们应该努力去养成好习惯,它会在知不知觉中带来很多好处,努力吧!