问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[探讨]优秀程序员和一般程序员差别在哪?

发布网友 发布时间:2022-04-22 23:50

我来回答

1个回答

热心网友 时间:2022-04-19 03:08

还记得研发频道此前发表过的一篇《白班程序员 VS. 夜猫子程序员》吗?在这个世界上有两种程序员,我们称之为:Day Programmers(白班程序员)和Night Programmers(夜猫子程序员)。本文我们将探讨优秀程序员和一般程序员有哪些差别,看看您是属于那一种?来自知乎网上的大牛们各抒己见,一起来看下他们是如何区分的。创业者郭凛:如果纯以编码能力来看,可分为五类1. 拷贝型拷贝型选手就是传说中的“代码拷贝员”了,他们对实现功能几乎没有思路,所作的事情就是从网上或是之前其他团队成员写的代码中拷贝出片段,然后放到项目中,如果运行项目出现了期望结果,则表示任务完成。这类人只会改代码,却不会写代码。他们大多对编程毫无兴趣,只是希望以此糊口而已。2. 新手型当产品有功能需求时,由于经验有限,程序员并不完全知道要如何实现这个功能,需要通过学习、寻找资料等方式来解决问题。这种情况下的编码过程,程序员的主要目标是“完成功能”,那么很难有多余的心思去考虑边界条件、性能、可读性、可扩展性、编码规范等问题,因此代码bug可能较多,稳定性不高,常常会发生开发花费1个月,改bug却要改上好几个月的事情。3. 学习型这类程序员对所在领域的语言已经比较了解,对于一般功能可以有较为清晰的实现思路,给出需求时可以通过自己的思路来实现,并且会一定程度上考虑边界条件和性能问题。但仅此而已,他们对可读性和可扩展性考虑很少,也没有项目级别的考虑,主要是希望通过实现代码来练手或是学习。这类程序员最大的表现在于喜欢“创造代码”,即使有现成的实现,他们也希望自己来实现一套,以达到“学习”的目的。他们不喜欢复用别人的代码,看见项目中别人实现了相类似的功能,他们会以“需求不同”的借口来自己重新实现一套。这类人一般来说对技术有着较为浓厚的兴趣,希望能够通过项目来进行学习。从项目的角度来说,这种做法最大的麻烦在于开发周期可能较长(相比直接使用现成的实现),并且会使得项目代码膨胀,影响未来的维护。但这类程序员由于有兴趣,如果好好培养或许会成为明天的牛人。4. 实现型这类程序员一般有较为丰富的经验,由于写得太多,因此不再追求“创造代码”来进行学习,同时对所在领域可能涉及的很多第三方框架或是工具都比较熟悉,当接受到产品需求时,对功能实现方案已经了然于胸,因此他们可以快速的实现需求,并且对边界、性能都有一定程度的考虑。因为能够快速实现需求功能,经常会被团队评价为“牛人”。但他们一般仅仅停留在“完成功能”级别上,对代码的可读性、可扩展性、编码规范等考虑较少,对项目总体把握也较少(例如控制项目膨胀、方便部署等架构级别的东西)。这类程序员最大的表现在于喜欢“开发项目”,却不喜欢“维护项目”。他们产出的代码最大的问题就是维护较为困难,可能过上几个月回头看自己的代码都会晕头转向。因此即使是自己写的代码,仍然不愿意维护,一般会苦了后来人。因为接口设计的缺乏,当需求变更时,发现代码要改的东西太多,然后抱怨需求变化,却很少认为是自己的代码问题。这样的项目如果经过长时间的变更维护,最终会变得难以维护(一般表现在需求变更响应时间越来越长)甚至无法维护,最终要么是半死不活,要么是被推倒重来。5. 架构型这类程序员比实现型更进一步,他们经验丰富,对相关框架和工具等都很熟悉,“完成功能”、“稳定性”、“性能”这些已经不再是他们的追求,更优美的代码、更合理的架构才是目标。这类程序员代码设计大多建立在对需求的详细了解和对需求变更的预测上——可扩展性较好;代码细节也尽量多的考虑边界情况、性能——稳定高效;代码命名和注释都恰到好处——可读性较高;同时在开发过程中他们会不断重构,对代码做减法——保证项目可持续发展等等,但由于考虑问题较多,单从“实现功能”阶段来看,完成速度不一定会比“实现型”要快。只是到了项目中后期优势才会慢慢体现出来。知乎删代码工程师 安江泽:创造型、管家型、学院派、钟表型、折腾型1. 创造型/创新型以创造/创新为乐的程序员。以新的方法解决现有问题,发明方法解决尚未解决的问题。问题本身并不限于技术领域。硅谷很多技术创始人具备这类的品质。虽然他们创业后都不再全职写代码,但他们这种品质贡献了他们事业的第一步。2. 管家型以管系统演化为乐的程序员。有洁癖,有强迫症,容不得系统有一点的瑕疵。如果你招聘了一个程序员/架构师,2-3年后你的互联网产品再也没有在可见/可扩展性上遇到瓶颈,他多半是这种程序员。3. 学院派型通常在CS某一领域拥有博士学位,或者深受他们的影响的人。对该该领域兴趣浓厚,通常参与企业核心竞争力相关的研发工作。当然,也有一部分也具备第一种特质,中途去改变世界去了。4. 经验型在行内具有多年丰富的经验,可承担责任,考虑全面。团队拥有了这种人,通常会少走很多弯路。但面对新的挑战还是要和其他人站在同一起跑线上的。5. 钟表匠型喜欢并擅长把一个系统从里到外研究通透的人。分享出来都是从里到外让人垂涎欲滴的干货。很多后端工程师都是这种类型。6. 折腾型擅长“折腾”,方案没有最好的,只有最难的。兴趣广泛动手能力强,通过折腾留下很多技术积累。想用哪一块的新技术?先问问他把,8成他很久前就已经玩过了。7. 肉盾型哥甲高血条长,加班如同切菜一般,*急了不睡觉也行。只伸手要过两件东西:原型和咖啡。适合打闪电战。当然,可能事后要打打后勤重构下代码。iApp4Me创始人、iOS开发者郝培强:七大标准 逻辑思维很重要优秀程序员的标准:要懂逻辑,这点其实挺难达到,很多很不错的程序员其实逻辑能力不行,所以我觉得*了他们更深一层次的发展,或者说*了他们解决特别复杂问题的能力。要有分析能力。这也是解决复杂问题不可或缺的能力。要会自学,技术发展速度很快,如果没有自学能力会被淘汰的。所以在中国英语要好,不然看不懂最新的技术走向。要有良好的时间管理习惯和意识。要有耐心,肯于付出。要有良好的工作习惯。会看且勤于看文档。产品管理、IT项目管理 何明璐:优秀程序员具有较明显的自恋和偏执特征对编程有浓厚的兴趣,由兴趣能驱动自己的探索和钻研精神,优秀程序员一般喜欢用业余时间探索和自己琢磨点东西,研究点开源框架和源代码,关注新技术,喜欢研究和探索算法,逻辑方面的内容。优秀程序员一般比较懒于做重复的事情,对于重复事情有独有的程序员思维,即通过程序或其它自动化方式解决重复问题,而留更多时间去思考。优秀程序员更多的会从简单功能实现,花哨的界面转移到对安全,性能,可扩展等底层架构的关注。优秀程序员一般有较明显的自恋和偏执特征,有较为希望独自工作的特征,比较难于被非技术背景管理者驾驭,高度强调自我能力价值的被认可,而且很多优秀程序员并不是好教练。优秀程序员一般有较为扎实的算法,数据结构等理论知识的基础。这些让他们在迅速进入新领域的时候快人一筹。总结:不管是优秀程序员还是一般程序员,小编认为只要你喜欢思考,爱学习,对编码有兴趣,那么你就是最好的。当然掌握技术才是硬道理,套用别人的一句话“不想当CEO的程序员,不是好的产品经理”。程序员们,加油吧!
大神级程序员和普通程序员的区别

普通程序员和顶尖程序员之间的区别在于优雅和美观的抽象能力。好的系统通常是要做到两个方面才合格,其一是好用,其二是好看。但是令人遗憾的是,普通程序员仅仅从实现的角度进行堆砌。顶尖程序员往往能够更进一步,经常会去思考用户在操作这个功能的时候,到底还会做什么事情。5、面对如何开源社区态度 普通程...

月薪五万的程序员和月薪五千的程序员的区别

从以下几点来谈谈差别:1.思路 编程思路,是系统的计划和设想,是程序员写程序时的条理和线索。优秀的思路背后一定是不断的积累。在熟知编程基础的前提下,优秀的程序员会积累尽可能多的经验,这份经验让他们更快的得出更好的思路。2.解决问题的能力 解决问题的能力不是与生俱来的,还是要靠后天的经验...

软件工程师和程序员到底有多大的区别?

首先软件工程师与程序员工作上最大的不同,可以打一个比喻:把一款软件比做一座大桥,那么软件工程师相当于施工总指挥,而一般的开发人员也就是程序员相当于建筑工人!所以很多人就说自己是IT民工就是这么来的;软件工程师的工作不同于程序员但是一个软件工程师必定是一个优秀的程序员!为什么工程师要懂...

一个优秀的程序员真的能顶10个普通的程序员吗

不可能的。除非他是神一样的人,一个人总是干不过一个团队,一个团队干不过一个公司 1. 掌握基础知识 不管任何行业和任何工作,概念的理解都是成功的关键。除非你有强大的概念基础,否则就不可能成为一名优秀的程序员。核心概念的理解有助于你用最 佳的方式设计和实施解决方案。如果你觉得你现在还没...

普通程序员和大神程序员,到底有啥区别?「渡一教育」

不得不承认,同样是程序员,普通程序员和大神的差别是巨大的。 当普通程序员尝试重构一个简单的模块 当大神级程序员重构代码 普通程序员做的多线程 大神级程序员做的多线程 是否过于真实?刚入门的小白程序员流下了羡慕的泪水。。。 另外,据不权威调查显示,大神程序员的生活作息远不同于普通人类,基本上是...

普通的程序员和大神级的程序员有什么区别?

多隆不爱带团队,团队一般沟通成本高、水平参差不齐,而他一个人就能顶一个高效顶尖的团队。作为淘宝最早的程序员之一,很多产品早期就是他一个人开发维护的,文件系统tfs、key-value系统tair,cache、搜索、通讯框架等等,引用阿里云总裁行癫对他的评价:在内网的标签上,他被称为神,这不是恭维,在...

普通的程序员和大神级的程序员有什么区别?

有自己的思想框架,走出自己的思路。不是按部就班,非常的灵活,而且严谨。普通的程序员,大部分没有自己的格局思维

程序员比一般人聪明吗

1. 程序员通常拥有较高的学历和强大的学习能力,因为他们的工作需要处理复杂的逻辑和算法。2. 编程是一项对脑力要求极高的工作,程序员在解决技术问题时展现出强大的逻辑和分析能力。3. 由于长时间专注于代码,程序员可能在社交环境中显得有些专注,但这并不意味着他们在智力上有所欠缺。4. 实际上,...

我是个计算机初学者,我知道编程很重要也很想学好它,我想要知道我现在有...

真正优秀的程序员是能够最基本的一点就是要能够通过自己的知识来解决一般程序员所无法完成的问题。而数学能力就是一个很重要的环节。 其次就是要对数据结构引起足够的重视。如果说计算机专业的学生与非计算机专业的最根本的差别绝对是数据结构(数学大家都一样学了,主要看你自己学得好坏)。对数据结构的掌握与运用能力...

计算机专业的人和普通程序员有什么区别?

而科班的人一上来就知道所谓框架不过是人家写好的code,你理解他在做什么就可以了。3.对操作系统的理解,这一点上很容易看出科班跟非科班的差距,大部分非科班的人看到的都是程序呀,语言这一层面的,但是科班的人,如果操作系统学的不错的,他关注的其实是对机器的抽象,他知道我们要run一个程序,...

好的程序员和差的程序员 程序员和码农的差别 大数据和程序员的差别 程序员和软件工程师的区别 程序员和工程师差距 如何成为一名优秀的程序员 程序员的差别 架构师和程序员的区别 it运维和程序员的区别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么软件借钱容易审核过 wifi监控摄像头能监控到我上网浏览的内容吗? 中国岛屿绝大部分分布在()以南的海域? 体温正常,医生看喉咙也没事,就是喉咙左侧疼的厉害,跟针扎一样疼,扭动脖... 被骗在借条上签名了怎么办呢 喉咙里面左边疼,感觉吞口水或喝水疼,右边没事,就喉咙左边疼啊,有点肿... 因为受骗而写的借条有法律效果吗? 嗓子左边疼… 被骗打借条不放款我应该怎么办? 被骗写借条会怎么处理 这是什么螺口的灯泡? 作为一个程序员,该如何更好地发现自己的特长? Led螺纹灯泡有10瓦的吗 程序员能成为很多女生结婚对象的不二人选,这是为什么? 螺纹灯泡怎样接开关、火线、零线。(示意图) 普通的程序员和大神级的程序员有什么区别? 灯泡规格有很多种,你知道是怎么划分的吗? 什么样的人适合做程序员工作? 什么样的人适合it编程 灯泡上的螺纹是充当火线还是零线,通电的情况下,人手去摸灯泡上的螺纹,会触电不? 零钱通如何打印流水? 螺口灯泡 和 卡口灯泡的灯泡和灯头构造有什么不同?这两种灯泡分别是怎样让电流通过灯丝的? 程序员的性格特点 谁知道e14和e27螺纹灯泡有什么区别,常用的灯头有? 螺口灯泡的介绍 给对方微信转账在银行能打印流水出来吗? 微信从零钱里面转出去的钱去银行能拉出来单子吗? 安卓手机怎么查询苹果耳机电量 请帮我一下,这个不锈钢螺丝要哪里买? 邯郸市永年区固贝尔紧固件销售有限公司怎么样? 什么是灯泡的螺口? 普通led灯泡是大螺口还是小螺口的? 螺纹灯泡头有大小吗 灯泡是用什么东西固定在螺口上的? 苹果7手机怎么拆开? 苹果7进水开不了机还能修吗? 苹果7plus怎么拆 苹果7plus怎么拆侧键 苹果手机7开机键怎么拆下来? 苹果手机7开机键怎么拆下来 iphone7换电池拆解图解 iphone6怎么换电池 苹果7音量键怎么拆,不是拆机是拆音量键 苹果7屏幕坏了,想自己买个屏幕换,但是又怕换坏? 苹果7 plus侧键怎么拆卸? iPhone 7 Plus怎么拆解 谁有iphone7或哪一代,压指纹排线的维修视频,换指纹排线需要什么机器, iphone7怎么刷机图解 苹果7怎么刷机图解教程 手机号欠费了收不到验证码怎么办? 电信手机欠费是不是就收不到验证码了? 中国移动欠费收不到验证码?