`
txf2004
  • 浏览: 6873545 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

什么人算是程序员??

 
阅读更多

博客园文章同步地址:http://www.cnblogs.com/sufei/archive/2010/11/15/1877774.html

起因


先声明,只是谈自己想法,和大家讨论一下

当了几年的程序员了,一直都在想一个问题,什么是程序员,程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的程序员算是负责的程序员呢?

工作当中我发现有不少员工是为了工作而工作,怎么回事呢?他们只是把我分配的工作分毫不差的完成,但从不问为什么?有些程序员是喜欢随便改变需求,自己感觉不错就得改,改了还不做报告,最后上交项目时才发现和需求不一样?于是傻了。

我根据自己的经验把程序员分为以下几种

单纯没有脑子的


这种程序员是最让经理气的一种,因为大多是刚入门的,或是学生刚走出校门,不喜欢问,也不懂得分析,只是一味的很听话,为什么说他们单纯呢?那是因为他们从来不会问,不会说也没有自己的想法,你让干什么就干什么,让自己怎么干就怎么干,听上去感觉特好的员工,很听话,如果只是这样就好了,可怕的是他们没有脑子,比如你说让他完成一个增加的功能吧,他们很听话的给你做出来,但只是一个增加的功能,他根本不会在增加功能之后再给你处理一下刷新数据的问题,或是做一些必要的验证,更说不上代码的扩展性,那都是见不着边的事,不可能。

你说让做一个查询功能,他完全有可能给你做出来一个查询所有的功能,不会管你要不要根据时间,要不要分页,或是其它的方式的查询,人家还可有理,会告诉你,你需求上没说啊,只说要有一个查询的功能?然后你无语。

有脑子先斩后凑的

这类程序员大致是工作有一年或是两年工作经验的人,自认为自己有些经验了,做了几个项目,感觉自己NB的不得了了。分配一个功能总有一些自己的想法,其实他自己不知道这些想法还不成熟,只是个人主观意向,你说让人家做一个导航条吧,你清楚的告诉他是在头部用的,要直排下拉类型的。

好了得到需求了,他根本不管你为什么要这样做,在做的过程中,他发现自己以前做一些项目里有导航条的,而且很好看,他们想,经理是怎么想的,设计的还不如我设计的好看,我给他改一下说不定还能得到他的奖励,于是自己把直排下拉的导航改成了,直排出面板那种的,因为好看,而且还不告诉经理,想给大家一个惊喜,谁知道经理一看,说怎么改需求了,客户不要这样的,然后他就跟你讲理,说这样的好看,而且什么扩展性还好,技术先进,流行,然后你会很无耐的告诉他,你做的确实很好看,但是客户不付钱怎么办,于是没办法在你的“强逼”之下他不得不改,于是你对他的工作很不满意,首先是这个人不好管,老自己做主,不把你当回事,怎么办,好点的经理会慢慢引导一下,脾气大的经理会直接扔出两字“滚蛋”

我们来分析一下他的心理,第一种可能就是感觉自己做了很多项目,有一点自大,目中无人的心态,看不起别人设计的东西,总以为自己的技术和代码很棒了,因为自己在程序界摸爬滚打一两年了,也算是有所见识了。但他们确不明白,现在的自己正像当前的曹仁学曹操一样,只是学得其形而为尽其神。大部分的软件,网站,不能只看网站本身的价值,成功不成功,不是自己说了算,也不是经理说了算,还得看客户,一句话客户喜欢的就是好东西,客户不懂技术啊,你写的再好,客户不懂哦,所以一定不要乱改需求,软件要和市场结合才能真正体现出它的价值,做让大家喜欢的软件,而不是单纯的技术堆积。

第二种可能就是,自己懒,因为两年内也写了不少代码,手上有很多的源代码,直接找个好点的能上就行了,为什么要自己写啊,而且好看还快速。

第三种可能是自己实现不了,而又不想学习,感觉浪费时间,所以直接改动一下得了。感觉自己如果写的话,写好了还好说,写不好,耽误时间,一个导航几天能不完,会很丢人的。于是要加速。

这类程序员有脑子,但是不听话,管理是问题,一定要好好的引导,也希望在这个阶段的朋友们注意了。加强学习,认真做项目,让自己正规化。不要入魔道了。多看看资深的程序员的代码,想一下经理为什么要这样做,听听他的理由,在改需求的同时一定要写报告,或是直接找经商量一下,不要自己做主。

有脑子,很听话,很认真,但基础不好,代码有局限性


这类型的程序员大多是工作一到两年的程序员,但和上面的不同,他们很有脑子思路很好,而且很听经理的话,做东西很认真,做不完了自己会加班写,学新的东西也很快,但是有一点不好的是,他们有很多理由说自己没时间学习基础,这些人一般是在学校没有学好,出来之后后悔了,学起来很认真,由于学了些新的知识,起点高,看不起基础的东西,从不想着没事去看看编程基础,看看算法,看看数据结构,总是以为我都能做出这样的项目了,还看那些小东西会很丢人的,于是在公司从不看回家更不想看,时间长了,技术会有很大的局限性,对某一块技术很不错,但是对其它技术不怎么好,于是在接到一个项目时,总喜欢使用自己现有的,会的技术去实现,转了一圈又一圈总算是把东西写出来了,而且还是加班完成了,但是代码的性能,稳定性,和效率上差的很远,扩展性也谈不上,时间一长,项目一多起来,就会出现多次反工,因为需求是会不断变化的,于是自己的代码也要变化,感觉很是理所当然,一个项目没事,接手的多了就麻烦了,新项目刚到手,老项目就出问题了,不是这里有点小毛病就是那个功能要升级,于是新项目放下,着手改老项目,手上能有三四个项目时,就会忙个不停,改的多了,没办法再改了就得重新设计,或是直接说这个功能实现不了。

其实在这个阶段的朋友很有潜力的,只要花点心思补习一下自己的技术缺陷,多看看高手的代码,写之前想一下,设计一下,自然事半功倍,千万不要有眼高手低的心态。

真正的高手Nb人物是怎么工作的------------程序员

1.不随便改变需求

他们不会主观的改变一些东西,不管是对还是错,如果要改的话他们会在开会时,或是私下跟你提出来,通过后再改,否则会按需求办事

2.不写没有思想的代码

在写功能时会加上一些人性化的功能,比果加个小图标,加一些验证,处理一些操作习惯,加加快捷键,处理好Tab顺序,等这些,不用你说,他们自己会处理好。

3.不写没有远见的代码

他们在写代码时会想,不会是单纯的实现功能,他要想,如果别人也要用这个方法怎么办,以后要改的时候怎么办,代码这样写是不是合理,是不是会影响性能,然后才会”吝啬“的出手。

4.不写不负责任的代码

我们写代码一是为客户用,二是方便其他人看,不单单是自己维护,要对自己的代码负责,从自己手上出去的代码代表的就是自己的脸,代码不好,人家会“打脸”的。他们不愿意挨打所以他们负责。

高手在编程效率方面可能并不比普通程序员快多少,因为他们会吝啬自己敲下的每一行代码。这种“吝啬”有两方面的含义,一是项目的架构性和整体性考量,二是从性能和优化的角度进行Coding。其实,这里所映射的是一个开发者的技术视野。

  有多位技术专家强调项目执行时的全局观。面对一个项目,即使是团队中的普通一员,也要力求从项目整体架构的角度审视开发需求,对各个模块、接口和通信做最优化的预想和配置。这样可以从全局审视整个项目的技术布局,预判可能出现的问题。

  在确定了整体之后,落实到具体的模块实现,每一行代码不但有上下文的考量与规划,还要具备模块间的整体布局。这是模块内的技术视野,比如接口的定义、注释的可读性、代码的执行效率等。当你写下一行代码前,要考虑它是否会对整个系统造成影响,是否方便其他接口进行调用,这些都是一个开发高手的“技术潜意识”。

  据一些经常带领入门级开发者的技术经理介绍,多数人只考虑自己所负责的模块进行开发,缺乏一个全局性的技术视野和对代码性能苛刻的态度,这样虽然能按交付日期完成项目,却对项目质量和开发者的自我提高有很大阻碍。

开发高手是代码阅读者。大多数技术专家的代码阅读量是普通程序员的百倍,代码阅读的时间比写代码的时间要长得多。

多数程序员只把程序开发当成一份工作,他们在乎平台的前景、语言的优劣、报酬的高低;他们不愿为一个技术点反复钻研,不愿为一个bug精心测试,不愿为自身技术水平的提高多花时间。而开发高手往往具有单纯的技术梦想,愿意为技术付出自己全部的时间。

这几段话是来自 程序员:差距在哪里,你与开发高手的距离到底有多远?



分享到:
评论

相关推荐

    程序员如何做导师

    程序员如何做导师,以及团队带头人,职业成长方向,有兴趣的可以看一看,算是一个好资源,PPT转为PDF的.

    程序员养生书

    对每个程序猿来说,在保证程序质量的同时不能忽视自己的身体健康状况,此书算是对每个猿人身体塑造的流程。

    结合业务的数据库设计文档

    想成为搞基程序员吗?想成为项目核心猪肝吗?想成为公司大拿吗?此文档是你成功之路的捷径。教你学会通过业务,设计自己的库表结构。让你在项目中不止是一个会听话写代码的人。看完之后别忘记留言,说下你的感受。

    C++编程惯用法+高级程序员常用方法和技巧!

    在国际象棋中,学会如何移动棋子只能算是入门:要想掌控整个棋局,我们必须了解自己所下的每一步棋后的策略和战术。在C++中也同样如此。掌握正确的策略可以帮助我们避免常见的陷阱,并提高我们的工作效率。在本书中...

    如何让代码从“无”到“有”

    我算是半程序员吧,能写10 000+行的代码,能在一天之内搞定n个独立的MFC应用程序的开发,能用C在WinCE下开发ARM7/ARM9的驱动。所以我还是有些资格。当然,我没孙鑫那么NB去写一本《VC++深入详解》,所以要是有那么高...

    makefile 教程

    makefile 教程 还算是详细。 “ 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像...

    中国程序员你的名字绝不该是“浅薄”

    我认为有些人的观点错了。错得一塌糊涂。我的基本观点是:任何实践都是理论的载体或表现形式。而理论也是由实践上升而来的。两者是辨证的。今天,我们只关注它的前一部分:任何实践都是理论的载体和表现形式。我不是...

    DELPHI控件开发深入简出

    有人说过“不会开发控件的Delphi程序员不是真正的程序员”。Delphi正是由于高度的可扩展性和大量的第三方控件的支持才能吸引无数程序员挑剔的目光。即使是由于工作需要使用其他开发工具的开发者也常常怀念和Delphi...

    渗透测试全过程记录

    我先感慨一下,在做网络安全这些年感觉一直在漂,从05年刚到北京的远东到08年的大连,再到11年的启明,没有一个地方能...在这个拿网络安全人才当民工的时代,也许这个事件算是给那些高傲的、高薪的程序员上的一堂课吧。

    谢宇:拒绝做程序员“砖工”

    谢宇在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,经过自己的不断努力与坚持,走到现在,自认为还算是一个不错的“泥水匠”。作者把在这一过程中所经历过的许多问题和技术细节,以及自己...

    程序员5个刷题网站-web-frontend-interview-questions:Web前端面试题集合

    程序员5个刷题网站 Web前端面试题集合 因为公众号上最近没有那么多面试相关的话题了,但又不能拿之前的文章再说一遍车轱辘话,所以整理下面试相关的内容归档在这里,欢迎大家补充。 整体面试题目可分为两类,第一类...

    程序员面试刷题的书哪个好-LibrarySystem:数据库作业(手动斜眼笑)

    程序员面试刷题的书哪个好 软件工程小组作业 使用了,虽然本人觉得该框架实在有点反人类,但是也算是第一次使用PHP的框架。 可以对于MVC有更深的理解。网址在 前端这样: 后台这样: 好像是有角色管理,记不得了。年...

    Shellcoder’s Handbook: Discovering and exploiting Security Holes---中文CHM

    还是那句话,一个程序员做到W.Richard.Stevens那个份上,做到逝世后还能叫全世界的顶级hacker们专门著文怀念,但生前却不曾著文攻击,想想看,那是一种什么样的境界,那是一份什么样的淡然。我们可以大肆讨论技术...

    程序员面试刷题的书哪个好-SJTU-RM-Experience:SJTU-RoboMaster电子控制的一些小建议

    程序员面试刷题的书哪个好 Introduction 本人萌新一枚,此次随着同级大佬参加SJTU校内Robomaster比赛,并一人负责电控部分。毕竟我仅仅对于写代码比较熟练,对于电机设备,型号,接线这类知识一窍不通,导致遇到了很...

    overview_java:从零开始,系统得梳理一遍一个合格的 Java web 工程师所必备的所有知识体系,如有不当有误之处,望各位指出以共同进步

    ()这个专题不是简单的罗列以前的文章,而是从最基础的开始,构建一个完整的体系,也算是一个 JavaWeb 程序员的成长路径吧,如图:这是我的一个回顾与重新学习的过程,也是一种记录与成长的过程,以后文章中相关的...

    黑马培训营Java基础题目答案打包

    操蛋的黑马培训营,搞一个培训机构还搞那么多面试题目,还要在博客上发标他妹的10篇日志,还要在黑马论坛获得25分技术分,还要面试............操蛋的入学要求,老子不去啦!在这里分享一下黑马Java...算是为后来人铺路吧!

    CMS之数据库设计.docx

    首先呢,我是程序员(嘿嘿),我先想到的是我自己能不能做出来?别人能做我为什么不行?我不是顾客,我也不是有钱人,到处去弄现成的。其次呢,做一个CMS也是一个练手的机会,同时也是自然框架的一个Demo,比较大的...

    人工智能发展存在的问题.docx

    为此,人工智能程序员必须与领域专家合作——回归该领域的学术根源——以缩小人与机器感知之间的差距。 3.黑匣子难题 许多企业都想使用人工智能,但金融服务等行业的公司必须非常小心,因为对于人工智能是如何得出其...

Global site tag (gtag.js) - Google Analytics