申华章,有梦的人,以后认识我,就晚了。
我不是技术背景,从旁观者的角度说说。1.基本功扎实,精通一种语言,其它的几天就能手到擒来。2.懂算法,一样的问题实现出来速度能差到一至几个数量级。3.有同情心,知道读代码是很痛苦的一件事,所以写的很容易读懂。.沟通能力,可以和产品,设计,上下级做有效沟通。
金晨,移动互联技术专家,计算机科学博士,高森明…这个问题问的是“软件工程师”而不是“程序员”,我假设问的人和回答者均了解“工程师”和“程序员”之间的区别,尽管上面一些答案明显指向的是“优秀的程序员”。我认为三种特质的显著与否决定工程师的优秀程度:
好奇:充满对软件工程的激情会导致一种好奇心,这种好奇心驱使一个人去了解全景,掌握思考问题的卓越方法论,知其所以然,不限于表象的掌握,追求更深层次的完整理解,并好奇于新技术和技术创新的方法,持续采用更精湛的方式思考和解决问题,好奇是根本源泉。
质疑:不完全相信权威,对专业存在自己的看法是很重要的,其中包括了一种专业观点,一名优秀的工程师应该对所在专业有自己的观点,才会形成自己的方法论,自己的设计模式和实现的把握。如果工程师能够产生自己的方法论和观点,并统一地以此思考问题,必然产生对很多权威的质疑,质疑导致了论证和对自身观点及方法论的持久矫正。
精明:很多文章说优秀的工程师都很懒,因为懒才字字玑珠,我认为那是外行的说法,成为优秀工程师的道路是靠努力作为基本基础的,勤劳和天赋是权重相当的两个因素,但缺一不可。优秀的工程师不是“懒”,而是精明,程序的极简实现、直接命中主题的设计都来自于“事事精明”的习惯,而且融会贯通才能不拘一格,产生漂亮的设计和实现,不相信“勤能补拙”,但坚信“事事精明”应该是个工程师的基本心态,优秀的工程师明白自己的优势在于融会贯通的精明思考,而非蛮力导致的码农苦力。
本文内容转自:《酷勤网》
赞赏