“经济危机环境差,开发人员状不佳;好在手握七宝剑,劈荆斩棘就靠他。”
在文章开始之前,我们首先定义开发人员的范畴,我所指的开发人员包括程序员、高级程序员、项目经理、架构师、技术总监,并不包括产品经理和CTO。
IT开发人员是一个很特殊的群体,特殊性在于和别的职位相比,他们交流的对象更多地是电脑而不是人,更因为他们进行的是一项依赖高技术的思维逻辑的工作。
这里包含两个要点,首先,要有很好的逻辑思维能力,试想如果一个人本身的逻辑思维就很混乱,那么他编写的程序一定漏洞百出,当然并不是说逻辑思维能力差就不能当程序员,只是如果要做好,做到高级程序员、甚至架构师、项目经理、技术总监,那么逻辑思维能力是必不可缺的;
其次,对技术要求很高,这里也包含着两层意思,其一,要有一定的技术基础,技术的来源可以是培训机构、学校、工作中甚至自学,其二,要不断的学习新技术,否则就会被淘汰,但并不是因为要被淘汰而去被动学习,或者说我学了新技术才能避免淘汰,而是积极主动的、带有强烈求知欲的去学习新技术武装自己,试想追美女和被丑女追,跑的可能都挺快的,但哪个跑起来心情愉悦、身轻如燕呢?显然是前者。
基于以上的特殊性,结合目前经济危机的大环境,我总结出IT开发人员的7种技能,只有提升自己的综合素质,才能使自己在危中求机。
语言是第一种技能。著名的通天塔故事体现了自然语言表达的重要性:失去了语言沟通能力,团队协作就变成了不可能的任务。语言能力的习得,有一句话可以概括“听说领先,读写跟上”,学习本国语言和外语皆是如此。语言的重要性,实际上体现的就是沟通的重要性。我举两个例子说明我在这方面的实践,第一,面试时,我会先让被面试的人做5分钟的自我介绍,时间要求不多不少,就看你在特定的时间内的语言组织和把控能力;第二,我在给程序员分配任务后,要求程序员进行复述,这就是沟通的正向和反向过程,保证渠道的畅通。
代码的可读性也是语言能力的体现,有人把编程比喻成文学作品,我很认同。既然是文学作品,就会有不同的风格,有晦涩难懂,也有深入浅出、生动有趣。所以作为一名好的开发人员,需要对自然语言和编程语言都有深刻的理解,要懂得欣赏和创造文章之美,代码之美。
数理逻辑是第二种技能。我们需要对数字敏感,需要具有归纳和演绎的能力。这样的能力虽然也包含在语言学习之中,但更多地包含在数学、物理等理科课程里。数学是思维的体操,它让我们的思维更灵活、更缜密。许多大学的计算机系都是从数学系分出来的,我所念的河北大学则是二者为一,曰为数学与计算机学院,简称“计院”,此计院非彼妓院也,仅此玩笑而已。
以上两种技能是学校教育中教授得最多的内容,体现在语、数、外三门主课上。能够熟练灵活地运用语言进行沟通,并能够运用逻辑推理找出问题和解决问题,我们就具备了基本的能力。但除此之外,还有一些扩展性的智能,对于软件开发者也很重要。
空间色彩是第三种技能。九十年代是GUI的十年,在这十年里,软件的美由内而外,扩展到了视觉领域。叔本华说“美是最高级的善,创造美是最高级的乐趣”。在这方面,APPLE是业界的领先者,他的作品代表了一种时尚、一种享受。但是,我们不时会看到一些殊无美感的设计,那真是叫“乏善可陈”,这里涉及到了美工,如果美工设计出来的作品,风格设计和颜色搭配连我们也看不上,纵使他有很高的技术水平,也是一个不合格的美工。而作为程序员,我们经常需要阅读图表、画设计草图、运用图表或幻灯片来传达信息,空间色彩能力也是相当重要的。
“流光容易把人抛,红了樱桃,绿了芭蕉。”“知否?知否?应是绿肥红瘦。”中国人讲究“诗中有画,画中有诗”。软件是散文,是诗,其中也蕴含着色彩和空间之美。
音乐是第四种技能。没错,就是音乐。很多科学家和IT界的知名人士都在音乐方面有很深的造诣,音乐本身就是一种美,将旋律和节奏紧密结合,我个人比较喜欢在工作环境中使用一些背景音乐,记住,是背景音乐,这样能够舒缓压力,轻松上阵。
运动锻炼是第五种技能。许多职业棋手和企业高级管理人员都通过运动锻炼,保持有活力的工作和思考,使自己处于最佳状态。我们目前的二五制--“每周工作四十小时”作为一种最佳实践,但是如果你的身体有问题,就会连四十个小时也做不到,更不要说加班了--这对于程序员来说似乎是家常便饭。我们锻炼的目的是为了使我们的身体能够有韧性,可以在增加工作时间的情况下仍然保持高效率,决不仅仅是为了应付加班,尤其是华为的那种榨干耗尽。--最经济省时的锻炼就是骑自行车,而且还能听听新闻,一举两得。
以上三种智能,体现在音、体、美这三门副课上。将这三种技能提高到一定水平,就可以说是全面发展了。
自知是第六种技能。曾子曰:吾日三省吾身。我在面试时最常问的题目就是,说出你的三个优点和三个缺点,如果这也说不出来,那对不起,你连自己都不了解,何以了解别人、了解世界呢。人贵有自知之明。
知人是第七种技能。越来越多的工作,正由团队来承担,而团队合作是一项很重要的个人技能。要成为团队的一员,你需要读懂他人,并具备一定的社交技能。然后,通过实现团队的目标来实现自我。如果你是项目经理,那么知人善任就是一项重要的能力,只有选择了正确的人,才能做成正确的事情,才能得到正确的结果和客户。
以人为镜,可以明得失。见贤思齐焉,见不贤者自省也。所以,知人也可以促进自知。
知人者智,自知者明。以上两种技能,就属于情商的范畴了,关于情商,建议大家多去听听余世维的相关讲座,大受裨益!
我将7种技能概括为三类,基础(主课)、中间件(副课)和上层应用(情商)。掌握好基础你就是一个不错的程序员,吃透了中间件你就是一个了不起的高级程序员,而要做好项目经理则必须达到上层应用的高度。
每个人在这7种技能上的发展都不尽相同。可能因为各自成长经历和条件,我们在某些方面的技能没有得到很好的发展。随着年龄的增长和自省技能的提升,你可能会认识到人生就是练功、升级。如果你现在已经走上了一条主动地持续改进之路,那么你打算如何在这些方面提高自己呢?
加载中,请稍候......