1. 聚能聊>
  2. 话题详情

“有能力”的程序员和“熟练”的程序员谁更牛?

timg_jpeg

如果想成为一名程序员,只需要学习一门语言就算踏入了程序员的行列,被称为程序员。但如果要成为一名优秀的程序员,就需要不断地学习掌握并将之应用到工作中。 周而复始,而在这个过程中有一部分人说程序员,写代码能力最重要,也有一部分人说知道写什么才重要,这就要提到两个词“能力”和“熟练”

我们将“能力”定义为“我知道如何做事”。公平地说,不管你从事何种职业,知道如何做事都是相当重要的。如果你是个程序员,那么你的工作中的很大一部分是学习如何做事。知道如何做事虽然很重要,但是不要只为“知道如何做事”努力,否则你会很快发现自己失业了。

要知道在通向专家道路上,处于中间位置的程序员,都在某个层次止步不前(许多人甚至一辈子都停留在此处):这些上流不属于上流,下流不属于下流的程序员会认为可以用所做事情的多少来区别新手和专家。这就引出了“熟练”的含义。“熟练”的本质是关于“为什么采用这种方式做事情”——这是理解一个难题的各个部分与理解各个部分如何构成一个整体的难题的不同之处。

比如,“有能力”和“熟练“之间的差距可以解释为什么有许多人都在高层次的编程思想之上挣扎,如设计模式。

一个有能力的程序员能够熟读备忘录模式,并且理解如何实现它。他们甚至能够识别出备忘录模式适用于何种应用场景(可能在GUI里实现一个undo操作)。但是由于他们不知道更大范围的框架性的东西,他们可能还是会错误地应用这种设计模式。

相比之下,一个熟练的程序员能够知道备忘录模式什么时候会失效(例如,如果正在拷贝大量数据,或生成大量副本时)。他们能够考虑一些替代方案与备忘录模式进行对比,从而考虑备忘录模式是否是最优的实现方案。他们也理解备忘录模式背后的基本设计思想,从而创造出一种能够更好的适应特定应用场景的定制化解决方案。

更重要的是,一个熟练的程序员总是能够识别出讨论设计模式的合适时机。就像向一个新手解释代码库的概念,一个熟练的开发者可能会重点说明代码做了什么,而不是抛出一堆设计模式的名字。

所以作为程序员,要一直探究不熟悉、不同角度、不精通的技术。只有这样你才能在“有能力”的基础上更上一层,才能脱离仅仅是“知道某些事情”的程度 。

1、“熟练”程序员和“有能力”程序员谁更牛?why?
2、怎么理解所谓的”熟练“和”有能力“ ?
3、程序员能力要到达什么程度才算得上优秀?
4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    虾米VIP季卡 x 4

  • 奖品二

    星座淘公仔 x 3

  • 奖品三

    云栖定制电脑包 x 2

22个回答

2

笨笨的粽子妞

1、“熟练”程序员和“有能力”程序员谁更牛?why?
感觉“熟练”程序员做事做项目更靠谱,而“有能力”程序员更有创新和担当,可以挑大梁。

2、怎么理解所谓的”熟练“和”有能力“ ?
重复的次数多了就是熟练,有思想有见解技术好应该算是有能力吧。

3、程序员能力要到达什么程度才算得上优秀?
其实对于优秀应该没有一个明确的评价标准吧,主要还是看自身能力的提升程度。

补充,比较认可蓝色【https://www.zhihu.com/question/19759297】对优秀程序员的评价:

优秀的程序员,不仅优秀在代码上,更重要在思维等方面。

一个优秀程序员是谨慎的,在有需求与任务时,会不断的澄清需求与任务,并且多次确认想要的结果,而非闷头听着或者看着需求与任务列表。

一个优秀程序员的思维是清晰的,在写代码时,他的脑海是有一系列详细步骤的,即知道他在做什么,而且写下的每一步他都能清楚的知道在表达什么。

一个优秀程序员的思维是缜密细致的,在出问题后,他会详细的先研究问题出在哪里,思考缘由,而非闷头瞎使用printf大法,然后去撞大运,头痛医头,脚疼医脚,因为这样解开了Bug其实连自己都心虚。而优秀的程序员即使解开了Bug,他也会扩展问题,并且思考是否其它部分是否也有类似的问题,只是还未体现,而且他也会详细反思获得的经验。

一个优秀程序员的编码习惯是良好的,他的代码读起来是赏心悦目的,若遇到难理解的实现点时,他也会写下清晰的注释来帮助后来人理解,因为他知道代码不仅是让计算机执行,更是需要让别人也理解的,因为项目开发是团队合作,而非单打独斗。

与优秀程序员的合作是愉快的,而非觉得难处。
4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
多跟他人交流,找寻新的突破口。

补充,技术水平停留在中间位置很难提升,可以看做是遭遇了技术瓶颈,简浅【https://zhuanlan.zhihu.com/p/25505736】曾针对技术瓶颈给出过一些建议:

扔掉借口从改变环境做起,跳槽 or 转岗?无论怎么选,都是逼迫自己改变的开始,陷在悖论中倒不如去打破僵局,打破的方法,从以下两点来深究。

  1. 熟练工?加班多?是你太舒适了

实践始终是源于理论又高于理论的,不难发现,所谓「熟练工」、「加班多」仅是个人借口,要做的,是远离舒适区,逼迫自己成长。

首先,请发挥主观能动性,做出改变。我给出以下两点建议——

1)多次检阅基础知识,将有效技能掌握牢固,把各类基础知识串联成完整体系。技术不可满足现状,懂得把编程技术从功能实现转向软件构架、参数化设计等高阶方面,在共享、通用、标准化方面有所建树。

2)当你觉得自己了不起时,多看源码,多研究源码,不少所谓 3 年经验的程序员,根本没达到熟练程度,研究源码,会发现太多不足。Java 学得精深的人,可以横向去了解 Scala,看看Java 有哪些局限;或者纵向的去深入钻研底层的 JVM,如果在学习新技能时感到吃力,你便知:你并未了解自己,你实力仍处于普通阶段。

如果你缺乏自制力,再考虑换离环境。回想你为何初入职场时能快速提升?是因为新手期的你确实在技术上缺乏太多,所以愿意在工作中快速学习。同理,当你转岗或跳槽后,会面临新的挑战,从而逼迫自身成长。

2.精力被分散?你得先弄清楚技术究竟是干嘛的

技术是用来解决问题的。很多大厂程序员都认为唯有技术才是实力的体现,这是很大的误区。当你不懂与同事沟通、不懂如何推进工作,你磨练的技术也解决不了问题。

编程技术只占到工作能力的 40%,客观分析自己劣势所在,有时并不是外界分散了你的精力,导致无法专心技术,而是自身根本没有理解技术和工作的关系。

首先,从主观上解决沟通所带来的精力分散问题。

1)时间管理。沟通是有技巧的,学会分配沟通时间,无论是与上司、同事、下级还是用户,都在沟通前预约好沟通时间,在不是真正紧急的情况下,他人打断你的工作思路,你可以合理表示拒绝,选择预约其它时间交流。

2)表达清楚更重要。《计算机程序的结构与解释》一书说:程序写出来是给人看的,附带能在机器上运行。写代码其实是书面沟通的另一种表现方式。技术成长到一定程度,多数人都会到达无法增长的天花板区域,决定初级程序员和优秀程序员的关键点,不是他们会多少类编程语言,也不是他们 C++、Go、PHP 用得更厉害,而是表达清楚想法,让他人协助他高质量完成工作内容,通过思路完整的技术文档,让其他程序员能读懂,通过逻辑清晰的沟通,让产品、设计也能够接受,不必让代码重新再写一遍。

附赠一句卡耐基的名言:一个人的成功,约有 15% 取决于知识和技能,85% 取决于沟通——发表自己意见的能力和激发他人热忱的能力。

其次,如果完全是外界的原因,你的选择依旧是:换环境。

当公司不能让你的能力提升时,离开是好的选择,优秀的公司自然会让员工也随之提升,实现个人价值,才会进一步实现共同价值。

换环境无非是转岗或者跳槽。如果你在公司内部转岗,会给你带来技术广度,在工作中主动吸收新技能的知识。选择跳槽则有两个可能性:1.换领域,依旧是增加广度。2.同一领域,增强工作压力,这是深度的体现。

我给出一点建议:同一领域下的深耕经营,会有更远发展,即便是细分领域,也不会影响你在技术上的知识广度。

公仔,公仔,公仔,/(ㄒoㄒ)/~~

巴洛克上校 回复

批评下,忒少了点,丰富下!!公仔很抢手!!

浮生递归 回复
笨笨的粽子妞 回复

我错了,马上改……

笨笨的粽子妞 回复

你是要闹哪儿样啊,(╯‵□′)╯︵┻━┻

浮生递归 回复

你好像忘了去链接,暴露了……

笨笨的粽子妞 回复

我是专门加的链接,好不,只是赞同那些观点,但毕竟是别人的思想,总得有版权吧~

浮生递归 回复

大写的尴尬

笨笨的粽子妞 回复

(⊙o⊙)…

巴洛克上校 回复

我就笑笑不说话。哈哈哈哈哈

巴洛克上校 回复

我就笑笑不说话。哈哈哈哈哈

笨笨的粽子妞 回复

/(ㄒoㄒ)/~~

wolun 回复

过来补课。。。

巴洛克上校 回复

下回尽量多分享自己的想法呦

评论
0

浮生递归 已获得星座淘公仔 复制链接去分享

星座公仔~星座公仔~唉,越来越直接了,真不好~哈。

1、“熟练”程序员和“有能力”程序员谁更牛?why?
看情况吧,不同的情况,两者发挥出来的水平也不一样。有些场合需要熟练程序员,有些场合需要有能力的程序员。对于单个项目的推进来说,一个有能力的程序员更重要。而一个公司的日常项目里,熟练的程序员会显得更有性价比。

2、怎么理解所谓的”熟练“和”有能力“ ?
熟练就是速度很快咯,就像背书一样,不用什么思考,刷刷刷,几下就把代码敲完了。就像让我们写个HELLO WORLD一样,当然都会很熟练。但是熟练只针对寻常开发而言,一些进阶的功能或者意外情况,可能“熟练”就不好使了。这时候,需要“有能力”上场。有能力的人,可能写代码不是很快,一些基础性的东西也不是特别扎实,但是遇到问题时,能很快的找到方法解决。学习和成长也会特别快速。出现意外情况的时候,也总有办法能处理掉。

3、程序员能力要到达什么程度才算得上优秀?
没有可以难倒的问题,所有的意外都在意料之中或者都有应急预案。临事不慌,风轻云淡之间就把活给办了。同时,与别人关系融洽,不是死宅男那种。

4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
也不是每个人都会走上人生巅峰的,中间就中间,咋啦?有人还搬一辈子砖呢(虽然搬砖也很赚钱)。当然,求上进是好事,但不是每个人都会一直在进步的。每个人都有自己的极限。停了就停了吧,要么换个岗位试试,要么就一直这么停着,哈哈。

浮生递归 回复

你们这些人,也真是的。才一个小时,你们就……难道我还要写个软件,设置个新话题自动提醒吗?[捂脸]

笨笨的粽子妞 回复

有木有发现最近公仔好火,好火,好火……

浮生递归 回复

一套有12个的原因吧,不然也不至于

笨笨的粽子妞 回复

如果以后出个水浒系列,是不是更火……

评论
1

北方的郎 已获得云栖定制电脑包 复制链接去分享

来个公仔吧。

1、“熟练”程序员和“有能力”程序员谁更牛?why?
感觉都还可以吧,不过肯定是又熟练又有能力是最好的。相对而言我更喜欢“熟练”的程序员,因为按你的描述,他解决问题的能力更强一点。
我在带项目的时候就更喜欢手更熟,更能独立解决问题的人,如果能快速解决问题就更好了。比较不喜欢对于架构啊、模式啊理解的一知半解、乱用、耽误事的人。

2、怎么理解所谓的”熟练“和”有能力“ ?
应该就是理论和实际执行能力吧。

3、程序员能力要到达什么程度才算得上优秀?
还是理论+实践都达到了一定水平的人吧。我记得在网上看过一个《优秀程序员应该具备的12种能力》把这事说的很好。给大家分享一下,我当时看完觉得很不错,有几条其实我也没有达到,算是大家一起共勉吧。

1.编程语言能力

不用多说,作为合格的计算机程序员,精通一门语言是必须的。这种精通,不是说看了一本编程宝典,抄了几个程序就能说精通的,要靠长时间的积累。

2.编码能力

我曾经看很多程序员写的代码,在同一个jsp或者java源文件里,出现了三种以上的对方法的命名方式,有下划线间隔的,有全大写的,有拼音首字母的。就像一个菜市场,杂乱无比,估计10天后,他自己都无法看的懂。遵守编码规范,是一个程序员最基本的要求,可悲的是,很多程序员根本没有意识到这个问题的严重性。另外一个就是注释,要注意不是为了注释而注释。对类,以说明职责为主;对方法,以说明意图为主;对方法体,以说明实现思路为主。对于大段大段的代码,要分段,使用空行隔开,并使用行内注释进行说明

3.面向对象思维能力

如今,多数编程语言都是面向对象的编程语言。而这些面向对象的编程语言的共同的精髓就是面向对象的思想。掌握这些比面向对象语言本身更重要,比如对继承,多态,重载的理解。对面向对象基本原则的理解,比如开闭原则,接口隔离原则,单一职责原则等。在此基础上,应该掌握常用的设计模式,比如工厂模式,策略模式,观察者模式,模板方法模式,命令模式等等。我面试过很多程序员,没有一个能说得上几句的。

4.利用工具能力

工欲善其事,必先利其器。有了趁手的家伙,工作效率可以提升数倍。你编程序,有没有选择一个很好的IDE,以前听说编程高手都用记事本写程序,我觉得那是一种自虐。就像以前看到的一篇文章,说一帮户外旅行爱好者,出去旅游,背了重重的旅行包,里面装着什么压缩饼干等快速食品。他们宁可就着矿泉水啃压缩饼干,也不肯去1里路都不到的快餐店,农家菜馆吃饭。工具是为目的服务的,好用,提高效率就行,形式无所谓。

5.英语能力

新的技术资料都是英文的,英语国家的IT技术走在我们前面至少10年(这是我自己估计的数字,可能正在缩小)。就连印度,一个连基础设施建设都不太完善的国家,因为其英语基础较好,其在软件外包领域的发展也非常迅猛,远远超过了我们。学英语,首先是有信心,其次就是花时间。多阅读英文资料,贵在坚持。

6.学习能力

在IT业混饭吃不容易,整个环境进化的太快,你不学习,就等于落后了。学习要有针对性,别今天学ruby,明天学python,后天php的。首先要认清自己的目标,自己短期目标是什么,1年后,3年后,5年后的目标是什么。结合这些目标,确定自己的学习计划,人的精力毕竟是有限的。当然,多掌握几门编程语言也是好的,可以扩充自己的知识面,重要的是为自己的目标服务。当然,不能只学习技术,要经常练习自己的软技能,比如沟通能力,表达能力。

7.创造能力

普遍认为,东方人模仿能力很强,但创造能力差。我见过很多这样的程序员,经常说,“这个只能这么解决了,我想不出有什么别的方法。”可能他根本都没想过别的方法,或者懒得去想。对任何一个问题,找出两种以上的解决办法都是非常容易的,简单的google一下,可能就是数十种。悲哀的是,有些程序员经常止步于自己构建的狭小领地之内。对待客户也是这种态度,不是积极的帮助客户解决问题,而是推脱这只是唯一解决方案。

8.文档能力

也许有人会质疑,程序员跟写文档有什么关系。大家开源软件也用过不少,看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他么的tutorial,他们的getstarted,他们的reference文档写的多么的易懂。其实写代码也相当于写文档,只不过用的是编程语言。同样,写文档,用自然语言,也相当于写程序,简单明了,清晰易懂,这样的“程序”谁看谁舒服。同样,对于想进阶到设计师或者需求分析员角色的程序员,文档能力更是非常重要。

9.抽象能力

抽象能力是认识事物从现象到本质的能力。如果你只是停留在“见山是山,见水是水”的层次,客户说什么,你就做什么,设计怎么做,你就怎么实现,从来不过问为什么,也不去想他是满足了用户哪些方面的需求呢。这样可能只解决了表面的问题,可能会引起返工。认识到本质,才能让你的程序具备更大的灵活性和可扩展性。在做企业应用软件开发中,抽象能力体现为对问题域的理解能力,对领域模型的抽象。合理的抽象也是代码重构的前提,每一次重构,都是向更好的抽象迈进了一步。

10.代码评审能力

代码评审和单元测试是保证代码质量的两种常用手段之一。代码评审能力,说明了你的审美标准,知道什么是好的,什么是不好的,什么是优雅的代码,什么是糟糕的代码,你才能让自己做的更好。

11.单元测试能力

没有单元测试的代码,只能说是半成品。因为没有什么能证明你的代码是可以运行的。测试驱动开发是一个非常好的敏捷过程的最佳实践。单元测试还可以作为回归测试,在修改代码时,起到警戒线标志的作用。是否具有单元测试的意识是区分程序员是否合格的重要标准。写不写单元测试是区分平庸程序员和优秀程序员的重要标杆。

12.DRY

DRY是一种原则,就是Don”tRepeatYourself.这条原则可以用到很多地方,比如你经常要编译,打包,部署应用程序,供集成测试用。每次你都在重复你自己,写一个自动化脚本(比如用ant,批处理命令)来将这些工作自动化,以提高效率。

**4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
感觉还是要看原因,为什么提不上去,是眼界问题? 技术能力? 兴趣爱好? 等等。**
首先是兴趣,我相信如果对这行感兴趣,自己业余都愿意去玩技术的人,技术是不会差的。反之如果这行做的自己感觉很难受,肯定技术水平是提不上去的。这个时候就要考虑调岗了。
其次就是看是眼界问题还是实践能力问题了,如果是眼界问题就要想办法开阔一下自己的视野,多看一些资料、接触一些新的技术、想办法调整一下自己的工作、多做一些新的事情。如果是动手能力的话,就是想办法多实践了。

巴洛克上校 回复

身为it老兵,多谈谈自己的理解,给新人些经验啊

北方的郎 回复

呵呵,我这么多年的理解就是“空谈误国,实干兴邦”。不管是黑猿还是白猿,只要快速撸出高质量Code的程序猿就是好猿。就用前两天看的科比对欧文技术分析的做个例子吧:

1月4日,据美媒体报道,湖人队传奇巨星科比-布莱恩特制作了一段分析凯里-欧文比赛特点的视频,并指出欧文酷炫球风的背后是扎实的篮球基本功。视频一开始,科比重复说了这句话:“你有两只手,所以最好能够在球场上都用到它们。”

“你能投篮吗?”“你能往右侧进攻吗?”“你能往左侧进攻吗?”这是科比提出的三个基本的问题。“但如果你不会投篮,那么你往右侧进攻还是往左侧进攻就都不重要了。”科比说道。

科比认为,投篮是篮球比赛里的关键,并特别拿欧文来举例。虽然别人都赞叹欧文华丽的运球,但是防守者内心对欧文的真正恐惧在于他可以随时投篮命中。“投篮是凯里(欧文)最主要的进攻威胁。”科比说道,“以(投篮)为基础,他可以发展比赛的其它技术。”

科比还指出,欧文在持球进攻时存在三重威胁,即:直接投篮、往右侧进攻以及往左侧进攻。少了其中任何一样,欧文就不是那个最强的欧文。归根到底,欧文华丽的球风是由扎实的篮球基本功所支撑。

程序员的基本功就是撸代码的能力,如果不能撸出高质量代码,再华丽的技术推演都失去了根基。所以还是先“熟练”再“有能力”吧。

评论
1

吟游诗人 已获得虾米VIP季卡 复制链接去分享

1、“熟练”程序员和“有能力”程序员谁更牛?why?
我个人更欣赏有能力的程序员,就比如我写安卓app,很多效果我都能写的出,但前提是能找着资料/笑。熟练只是相对的,一旦脱离了某个具体方面,就显得捉襟见肘,而有能力的程序员或许在某一个特定方面不如熟练的程序员,但是创新能力强,适应力强,能把握住时代的脉搏,脱离了一般程序员的层次了

2、怎么理解所谓的”熟练“和”有能力“ ?
熟练的程序员应该是在某一个或几个有限的领悟里拥有比较深厚的工作经验,很多要写的功能在他自己的代码库中都有相似甚至相同的原型了。
而有能力的程序员则相对来说学习能力更强,能够很快地在一些接触的很少或从未接触过的领域创造出一些不大不小的成就。

3、程序员能力要到达什么程度才算得上优秀?
能达到架构师那种水平吧,或者能自己写一些框架,在gayhub上有高星项目等等

4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
程序员属于工科,如果提升不动了,我觉得应该要从文学入手,看起来是不相关的东西,但是的确会有用。对人生的思索是一直在变化的,但也一直是不成熟的,接触文学会在另一个境界上提升自己,或许能顿悟出一种更适合自己的技术学习方案,或者就想想转行吧。

1

aoteman675 已获得虾米VIP季卡 复制链接去分享

1、“熟练”程序员和“有能力”程序员谁更牛?why?
熟练是对某一项技能的掌握程度,有能力是多某一项技能的上手能力。从项目开发周期来说都需要熟练和有能力的程序员,新技术需要有能力的去创新,熟练程序员去修补漏洞,完善设计模式架构。合适场景选合适的人很重要。
2、怎么理解所谓的”熟练“和”有能力“ ?
熟练:是对某一项技能的精通程度,熟能生巧嘛,熟练到某个层级便可以创新了。
有能力:代表具备可以做某件事,做得好不好也不知道,只能代表基础还是有的。
3、程序员能力要到达什么程度才算得上优秀?
有能力同时具备熟练才能优秀,熟练说明基础扎实,对设计架构有充分的认识,甚至对各个接入层都有充分的理解,在编程基础的情况下去创新开发,是有能力的变现,这时候就是优化设计模式和组织架构。
4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
上又上不去,下又随时掉下来,就是所谓的高不成低不就。如果面临中年危机那就很尴尬了,职业生涯随时可能有风险,这是就应该改变发展方向,寻找合适的岗位需求了。

1

cjsoldier 已获得虾米VIP季卡 复制链接去分享

“熟练”程序员和“有能力”程序员谁更牛?why?

好问题!终于看到有人在提问的时候加了个why了。
都很牛,合适的场景找对的人很重要!“熟练”程序员和“有能力”的程序员都可以成为对的人

怎么理解所谓的”熟练“和”有能力“ ?

有能力是一种通用的技能,熟练是一种专用的技能。
“有能力“”表现在换了一个领域能很快适应,而“熟练”则不能。说白了,“熟练”不能做到举一反三。

程序员能力要到达什么程度才算得上优秀?

也许我们理解的优秀有偏差。 我理解的优秀是能进入二线互联网公司,工资不算低,尤其是非211的,可谓优秀。能进入BAT可以说非常优秀。也许在题主看来,进入BAT才算的上是优秀吧。

如果是你的技术水平停留在留中间位置很难提升你会怎么办?

就是说遇到瓶颈了。我觉得遇到瓶颈的时候不能着急,拼命想快点挣脱它,反而会被卡的越紧。
经验告诉我,我不该那么着急,应该静下心来理一理,理顺了就会感觉到希望,做事也就更有干劲了,突破瓶颈也是自然而然的事。

1

饭娱咖啡 已获得云栖定制电脑包 复制链接去分享

电脑包
我的技术比较平庸,回答可能欠妥,哪里回答有问题,可以指正。
1、“熟练”程序员和“有能力”程序员谁更牛?why?
我觉得没有谁更牛的说法,应该是“熟练”程序员和“有能力”程序员在各自的职位都能发挥最大的能力。
2、怎么理解所谓的”熟练“和”有能力“ ?
“熟练”的程序员,应该是偏向应用型,就是可以将需求快速的用代码实现,企业很适合这类程序员。
“有能力”的程序员,应该是偏向创造新,就是自己创造需求去实现,创业更适合这类程序员。
3、程序员能力要到达什么程度才算得上优秀?
无论是通过需求还是自己创造需求,程序员的工作本质就是将一个个功能实现。所以优秀的程序员就是能很好实现功能的程序员。而所谓很好实现功能,就是体验好、执行快、效率高。
4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
第一,可能会转做管理。
第二,向大牛虚心请教。
第三,多读书多看报少吃零食多睡觉。

1

微wx笑 已获得虾米VIP季卡 复制链接去分享

淘公仔~

1、“熟练”程序员和“有能力”程序员谁更牛?why?
“有能力”更牛,原因往下看↓

2、怎么理解所谓的”熟练“和”有能力“ ?
”熟练“我觉得只是小范围的事情,也就是他之前做过的让他做,他能做的很好。
”有能力“是不管之前做没做过,他都搞的定。

3、程序员能力要到达什么程度才算得上优秀?
只站在程序员的角度考虑问题肯定不行,还要站在别的角度上看看,比如:用户、售后、运维、老板。

4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
走出舒适区,刻意练习;比如公司中的调岗,比如找个项目练练!比如参加个竞赛!比如发表个话题请教一下云栖社区的大牛!

其实如果已经认识到了问题,就有了提升的希望;
再行动行动,肯定就会有所提升了;
最大的问题是很多到了这个阶段的人很难认识到自己的问题,比如我!需要有个人来点醒!

0

hikingx 已获得星座淘公仔 复制链接去分享

淘公仔~淘公仔~淘公仔

1、“熟练”程序员和“有能力”程序员谁更牛?why?
按照上述的介绍,“熟练”程序员更厉害,熟练的程序员总是能够识别出讨论设计模式的合适时机。就像向一个新手解释代码库的概念,一个熟练的开发者可能会重点说明代码做了什么,而不是抛出一堆设计模式的名字。

说明“有能力”程序员只是知道怎么去做,“熟练”程序员属于设计整体框架结构的,属于设计师而前者是执行者,只是个操作工。

2、怎么理解所谓的”熟练“和”有能力“ ?
有能力,代表你可以做一件事情,但是做的好不好,是否是最优方案就不知道了。只是普通级别。
熟练,代表一种概念就是精通,可以实现最优化方案,可以说是专家级别。

3、程序员能力要到达什么程度才算得上优秀?
个人理解首先是有能力去做,比如写代码能力。优秀是指知道为啥这么写,属于整体框架结构设计。首先要满足以下能力:良好的英文阅读无障碍;有独立思考的能力;好奇心强,喜欢研究新技术;表达能力强,可以用通俗的语言把技术问题讲清楚;精通算法。

4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
中间位置是很尴尬的,必须通过不断的丰富自己的知识,提升自己的位置。比如可以学习新的技术来开阔自己的知识范围,现在都流行跨界创新。

0

乌托邦云 复制链接去分享

熟练的

0

tansophie 复制链接去分享

我认为有能力也是建立在熟练的基础上吧,熟练可以更快地开启业务,而有能力的话解决问题会思考如何更优雅的实现一个东西、考虑问题的角度也会更独道

0

1623515894735213 复制链接去分享

我觉得,
当然是有能力的程序员牛
因为有能力就意味着有创新的能力
而熟练,
仅仅是对于写程序的某些写法非常熟练
这就相当于机械的做一件事了

0

清晨1231 复制链接去分享

1、“熟练”程序员和“有能力”程序员谁更牛?why?
熟练的程序员加上有能力的程序员才最牛、熟练分析项目、有能力的设计项目,
2、怎么理解所谓的”熟练“和”有能力“ ?
熟练效率快,孰能生巧,项目做得多。有能力,接收新鲜事物快,创新能力强。

3、程序员能力要到达什么程度才算得上优秀?
遇到问题解决问题,预测问题,风险,所有的可能性

4、如果是你的技术水平停留在留中间位置很难提升你会怎么办?
顺其自然,每个人的心境不一样,我会去学习英语

0

mr_王 复制链接去分享

技多不压身,关键是要有一个程序思维,程序员思维就是明白逻辑,知道用什么方法去实现即可。优化另论

0

wolun 复制链接去分享

前端小白,充电中。。。。

0

1910515221889159 复制链接去分享

有能力的会更牛,熟练的也不会太差

0

1349266837594694 复制链接去分享

有能力当然是有能力了,字面看有能力就包括了熟练了,你都不熟练怎么谈得上熟练,更加别谈有能力了,所以从字面上有能力就已经赢了,所以别纠结啦

0

梦想绅士 复制链接去分享

我觉得是有能力的更厉害些

0

52din 复制链接去分享

熟练。 首先第一点:熟能生巧,我碰到的问题基本已经被我解决了,这个坑所有能出现的问题我基本排完了。 那相比而言正式的运行环境不会太复杂我精通这一项我能很好的运维。第二点:肯花时间去钻研。 能者多唠。

0

lowkey 复制链接去分享

有能力的

2