绝大多数外行人可能会认为对于程序员来说,最难搞定的工作就是写代码,而实际上并非如此。要知道写代码可是程序员的基础工作,也是程序员的看家本领,当然好的代码还要具备高内聚,低耦合,高效率,易维护,易扩展等诸多标准,但是就写代码本身而言,对程序员来说并不是难事,因为还有很多事情远比写代码要头疼的多 从08年参加工作以来,已经做了10年的程序员了。从初期的java开发,到后来的php、python等语言的开发,经历过不同的语言的学习过程。 从早期的工程师,到后期的高级工程师、资深工程师、架构师,还担任过项目经理的角色。从我的经历来说,对程序员来说最难的往往不是写代码。 首先,程序员学习一门新的语言或者新的算法,只要理解了语言的规则和算法的本质,只需要使用某种编程语言实现算法的实现即可,这也是大部分程序员都擅长的。 程序员是一个很特殊的人群,让一个程序员去研究一门新的技术,往往能超过你的意料,对于他们痴迷的技术,甚至能够废寝忘食,我就遇到过我的同事为了解决问题,竟然到晚上才想起来自己没吃午饭。 其次,程序员擅长跟计算机打交道,不知道是不是跟计算机打交道时间长了,大部分程序员跟别人沟通都不会很流畅。你会发现,程序员跟程序员之间,有说不完的话,而程序员跟陌生人,往往没什么沟通的语言。程序员是一个不擅长沟通的人群,这也能明白程序员为什么经常会跟产品经理干起来。 还记得平安的产品经理提出“实现手机主题根据手机壳颜色进行调整”的需求,最后跟程序员干架的例子吧。从程序员的角度来说,这明显是产品经理在刁难程序员,而产品经理的思维是:不关心能否实现,只关心大众的需求。 最后,我认为程序员最难的不是写代码,对程序员比较难得是:做项目的程序员比较难的是理解客户的需求;对产品的程序员来说,比较难的是理解产品经理的需求。归根结底,对程序员最难的还是“沟通问题”。 文:开心的溺水的鱼 图来源于网络 侵删 |
|