个人登录
数狐在线-做最好的在线学习社区java c# liferay jsp
数狐精讲40 - 好程序员与坏程序员的差别详细分析!
北鼎K105养生壶 进口加厚玻璃水果茶花草茶煎药壶电水壶养身壶
    2018-2-24 14:11:24    作者: 数狐精讲      进入评论页


有人说中国程序员过剩,但是企业招聘的主管们动辄就花费N久还不能找到合适的软件人才,其中原因就是中国的程序员同质化严重,但是程序员不是流水工人,不是做标准计件的工人,需要程序员有各种能力尤其是创新能力,但是我们的中国程序员大多在大学里学的是同一本教材,可以这样讲面试一个程序员以后,大致就了解了后面所有程序员的知识结构,这些程序员在工作以后,只有很少的人,可以通过自己超凡的悟性,打开真正通向顶级程序员的大门,大多数的程序员工作3年的跟工作1年的其实差别不大,这也是为什么软件公司会很热衷裁员,尤其是把老程序员裁掉换新的,因为这些被裁掉的老程序员大多都是混日子的,在项目组大多成了老油条,干活只做面上的活,从不系统的解决一个软件问题,而是靠打补丁的思路,反正干不下去,干不爽了,就跳槽,没准工资在新公司还能浮动增长百分之20%呢!所以你看,很多程序员在一家公司里工作的时间,尤其是第一家公司,很少超过3年的。

回到文章的主题,我列举下我心目中的好程序员或者说优秀程序员与坏程序员的差别:

1,差程序员喜欢讨巧,只满足软件系统能运行下去,不报错,至于后面的代码多么混乱,多么脆弱,不会真心关注,因为差程序员就是混工资的,主要是看钱的面子干软件工作;好程序员系统从根本上解决问题,对软件系统的运行具备足够的责任心,认为软件系统的运行好坏关系个人的职业精神和人品,所以对代码自我要求很严格,文档化很完备。

2,差程序员编写系统的时候,首先就是满世界找各种样式的插件,顶着不重复制造轮子的口号,追求短期成果,通常极少认真考虑实现软件功能的思路,而是用各种插件,开源组件,API,拼凑出企业要求的功能出来,但是可悲的是差程序员使用各种插件的初衷是省事,所以绝对不会认真研读这些插件的文档,仅仅满足一知半解,所以后期软件系统一旦出了问题,坏程序员就一筹莫展了,因为底层的实现自己根本就不清楚,而对开源组件的使用又是马马虎虎,所以你会看到差程序员跟你承诺1个月完成的工期,能往后无限期拖延,最终当差程序员过多了,就完全把项目团队拖死了;而好的程序员则首先会从软件架构的思想,整理出自己系统化的软件设计思想,和代码结构体系来,好程序员也会使用插件,但是以自己实现功能为主,尤其是核心功能,而以使用插件为辅,并且对使用的插件能做到了然于胸,消化到自己的知识结构里,并且在合适的时间,会用自己理解的插件的设计思维,重新写代码,替换掉插件,追求软件设计的乐趣,和探索软件功能完美解决方案是好程序员做软件工作的核心动力,好程序员不会把薪水放在首位,而是更关心项目中自己能否接触到更新,更完美的技术架构和是否能与一流的人一起合作,享受聪明人做出伟大软件作品,改变世界的成就感,因此通常好程序员的薪水要远远高于坏程序员。



3,差程序员一般工作几年就自我膨胀,认为自己什么项目都做过,自己说的什么都对,不允许别人质疑自己的想法,至少私下里会非常不开心;而好程序员工作时间越久越心情平和,越能虚心的放下身段,跟各种层次的技术人员和不同团队的人进行友好交流,并且在交流中不断吸收软件行业新的变化,新的信息,所以你看到差程序员平时开会就会重复那几句:我认为;我觉得;我怎么样;而好程序员则很少说话,只有在需要的时候,才会画幅图,言简意赅的表达出自己完美的设计方案,大多数情况下,都能得到项目组其他成员的发自内心的赞同,所以好程序员往往很受团队的尊重;而坏程序员却完全跑偏,精于办公室政治。

4,差程序员一般很自私,当遇到新同事提问的时候,往往表现的不屑于回答,或者干脆排斥;而好程序员具备好的人格魅力,遇到新人请教,总能放下手里的活,耐心与人讨论,讲解。

5,差程序员一般仅仅把软件工作当做高薪的载体,其实并不喜欢软件工作,甚至一遍拿着软件工程师的钱,还一边骂着软件程序员的工作变态,苦,老加班,可就是不辞职,或者转行,结果往往坏程序员总是结局比较惨,被新人替换,因为他们没有独特的公司价值,不具备不可替换性;好程序员把软件工作当做自己的爱好,事业,工作的过程很享受,很多时候都是废寝忘食的工作,尤其是遇到技术难点的时候,就跟科学家一样,非常投入的查找各种资料,进行各种实验,当看到符合预期的结果的时候,高兴的会像孩子一样,所以好程序员往往是公司项目里的灵魂人物,构建或亲自编写了核心的代码库,好程序员具备独特的不可取代的公司价值,因此好程序员总是为没有假期感到苦恼,不能陪家人,总是各处出差灭火,这样的人正是软件公司想用一辈子的真正的软件人才。

66ac0005c34589b2a740

中国拥有庞大的人口,但是我们的顶尖软件人才却出奇的少,甚至都赶不上很小的国家,原因就是程序员培养过程,缺乏标准和考核,工作2年多的人,就可以到一家培训机构当讲师,试问2年工作经验的人,能教会那些新人什么?而且培训机构的培养目标过于功利,打出的广告往往是:就业VIP班类似! 潜意识里,就是告诉学习者,我们学习的目的就是高薪,而忽略了对学习者对软件本身爱好和好奇心及自学能力,探索精神的培养。

本文作者微信公众号:elearn007



官方微信服务号
进入评论页
合作企业