这个问题我思考了很久,今天说说我的想法。
我记得此前的博客提到过,为什么北方人善于团结,善于政治,而南人好独立,善于经商,我分析可能因为远古时代,北方人主要靠狩猎,狩猎单独行动是很难得,因此就需要有完善的组织,合理的分配制度,因此北方人这方面能力强,南方人主要靠捕鱼,捕鱼的人是不喜欢一起捕鱼的,这样互相争抢,鱼对人的杀伤力较小,因此没有团结的必要,我们从这个引子可以看出性格形成和自然环境有很大关系。在比如我们很容易理解,为什么越南丛林的狩猎武器是一种嘴吹的暗器,而蒙古大草原的狩猎武器确实是弯弓,长箭。
程序员性格形成也要从他们生活的环境出发进行考虑:
(1)程序员的工作对象主要是机器,计算机是不会说或的,计算机是诚实可靠不会说谎的,计算机是要呵护的,因此程序员的性格普遍比较内敛,不善交际,但比较有责任感,能吃苦耐劳,一定程度上陪着机器一起工作。
(2)程序员的学习内容不断变化,软件,硬件技术更新都很快,因此程序员普遍不够自信,因为不懂得很多,懂的东西有些可能过时了,有些即将过时。如何保持长期,持久的学习,对程序员是一个不小的负担,当然程序员也不可能是全科医生,但即便懂一科,和医科不同,计算机科学太新了,变化太快了,这种学习的压力始终折磨着程序员的身心,因此程序员危机感很强。
(3)程序员的工作内容是有挑战性,很少有程序员是几年维护一个系统的,开发新的东西是常态,因此常常会有bug,会因为犯错误而苦恼,成就感也常常很有限,因为作出的东西并没有达到设计的要求,而感到气馁。
我本人也是一个程序员,就如何针对这些问题做改进,提一些自己的建议:
(1)减少陪伴机器的时间,给同学朋友打打电话,参加一些社会活动,提高交际能力,做一些编程以外的事情,培养一些爱好。
(2)不要试图做全科大夫,针对自己喜欢的科目,甚至是科目的子科目投入精力做深入的研究。要有持续的学习能力。
(3)面对新的东西,需要做功课,演员演新戏都需要体验生活的,不要盲目开始,自己没做过,但总有人做过的,找到这些人,论文或者资料进行事先的准备,提出自己更好的方案。