精通型程序员的特点

更新日期: 2020-04-22 阅读: 2.1k 标签: 程序员

你知道有能力胜任和精通之间的区别是什么吗?

这听起来像一个很难回答的问题,因为这两者似乎意味着同样的事情。但它们之间的微妙区别至关重要。

有能力胜任是指有足够的经验和知识来完成各项工作;精通涉及知道为什么你要用某种方式来做事情,以及如何融入到大局中。换句话说,精通型从业者总是有能力胜任,但反之可能不成立。

《Dreyfus Model of Skill Acquisition》非常详细地涵盖了这个主题。虽然标题听起来有点学术化,但是论文非常平易近人。

我建议阅读原始资源材料以便于能更好地纵观从初学者到专家的历程。在这篇文章中,我将重点放在大多数软件开发人员都会碰到的瓶颈:跨越从胜任到精通的沟壑。

因此,首先,我们要知道的是,这里胜任的工作定义是“我知道该怎么做” ——虽然过于简化,但非常贴合我们的需要。公平地说,不管你工作在什么样的职业,知道怎么做是非常重要的。如果你是一个程序员,学习该怎么做是你工作的重要部分:

  • 我需要知道如何使用版本控制
  • 我需要知道如何使用一种一致的编码风格
  • 我需要知道如何建立一个持续集成服务器
  • 我需要知道如何查询数据
  • 我需要知道如何实现响应式布局
  • 我需要知道如何使用服务api

不要误会我的意思:知道怎么做,是非常重要的。不要停止去学习怎么做,否则,你很快就会发现自己会失去这份工作。

但是,处于两者之间的程序员往往会被卡住(很多因此而裹足不前),而他们被卡住的地方被认为是初学者和专家之间的差别,可以用来衡量你知道多少东西。这里只有一半是正确的,并且它强调的是不那么重要了的一半。

这正是精通的来源。并且精通的实质是“为什么你要用某种方式做事” -——是单独理解问题的每个部件与理解部分是如何融入整体之间的差异。

胜任和精通之间的差距可以解释为什么如此多的人想要攀登高层次的编程思想,例如设计模式。

一个有能力胜任的程序员当然可以阅读Memento Pattern并理解如何去实现它。他们或许甚至能够确定可以应用模式的场景(可能在GUI中实施撤消操作)。但是,如果没有更多地了解大局,他们仍可能会应用不适当的模式。

相比之下,精通型程序员则能够确定何时Memento Pattern失败(例如,在你要复制大量数据,或要有大量拷贝量的时候)。他们或许会知道一些可考虑的替代方案,在模式并非完美匹配的时候。他们还对如何在Memento背后采用基本概念有一些想法,然后应用这些想法以创建一个自定义更适合特定用例的解决方案。

更为重要的是,精通型程序员能够识别正确和错误的设计模式——如果建设概念验证功能,适当代码设计的问题可能就变得无关紧要。如果向初学者解释代码库,精通型开发者可能会坚持着重于代码实际上是做什么的,而不会抛出命名模式,并告诉新手“在问我任何问题之前,先去阅读《Gang of Four》”。

所以精通还意味着有整体思维的灵活性。

模式,原则,风格,库,语言功能——这些都是工具。但是,一个真正的精通型程序员会让工具来匹配工作,而不是工作匹配工具。

许多人从来没有专门专注于发展精通能力,因为坦率地说,胜任能力更直接。但是,如果你想要改变重点并得到一些帮助来攀登一段新的历程,那么不妨试试这些:

  • 解释为什么你想要用某种方式做事的原因推理,不依赖于通用的“最佳做法”或社区准则。单单只在你要解决的当前问题的背景下讨论利弊。
  • 了解的东西越少,了解得越深。然后尝试在不同的上下文中加以应用,看看它们在哪里有效,在哪里无效。从失败中寻找机会来寻求新的工具,可以帮助拓宽你的技能集的工具,但只在你已经确立了明确要求的时候。
  • 寻找其他人“打破规则”并取得成功的范例。偶尔打破自己的一些规则,看看是会伤害你,帮助你,还是没有变化。
  • 挖掘基本的资源,而不仅仅是阅读摘要。这需要更多的时间和精力,但可以帮助你弄清楚基础和技术界限,同时也给你一个机会来生成由核心原则启发的新想法。
  • 深入钻研一个你不熟悉的项目,并且试着不依赖记忆套路、习惯和规则,找到你自己的做事方式。
  • 要求别人解释为什么他们要这样做事,但不要只是接受教条式的推理。要求例子并询问上下文背景,以便于你可以尝试着设身处地地去想。这样做是非常有价值的,因为可以让你看到他们自然习惯中的长处和短处。
  • 挑选少数特定你只是擅长但不精通的技能,然后开发胜任的能力到极致,到几乎偏执的程度。一旦你到达顶峰,检查深刻且高度专业化知识的利弊。

关于精通,一次一步,有很长的路要走。你需要超凡程度的胜任才能够在“懂和会”上脱颖而出——但即使是松散的明白“如何在正确的时间做正确的事情”也会带你走得很远。

关于精华的部分是:一旦你开始注重于精通程度,那么你有很大的机会最终会发现解决谜团的正确路径。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/9083

相关推荐

程序员表白代码

许多程序员小伙伴总是苦于找不到合适的告白方式。小编特地收集了一些程序员专属的告白方式与大家分享,一起看看程序员用代码敲出的浪漫吧~

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

如何撩一个程序员_ 老司机教你怎么追程序员

对于女生来说,撩到一个程序员的好处是显而易见的。他们生活圈子简单,很少参加聚会。他们不是在修改代码,就是在去修改代码的路上。这篇文章告诉你怎么撩程序员

程序员年龄大了怎么办?程序员年龄大了的出路

在很多人的眼里,程序员都是吃青春饭的。尤其是国内更是这样认为,程序员年龄大了,体力越来越差,就不好找工作了,开始担心以后的出路了。那么未来大龄程序员的出路在哪呢?

程序员美女鼓励师

美女程序员鼓励师,真正的程序员眼里只有代码!有些IT公司会招一些程序员鼓励师,也是为了提高程序员们的工作”战斗值”。 而关于程序员鼓励师的作用,她们总是能激发程序员们的肾上腺素分泌。

嫁给程序员好吗?为什么劝你嫁给程序员!

另外一个附加的惊喜,程序员个个都是潜力股,你看无论是世界首富,还是中国首富,最多的就是做IT,说不定那天一不小心,你就成了亿万富翁的老婆啦, mm们,选个程序员当老公不会错的。程序员收入稳定,生活安逸,属于长期持有型成长股

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一位程序员相亲:趁头发还在找个女友,标准是女孩就行

近日,有一位程序员小哥哥的相亲图引发了大量网友的围观。这位天然呆的程序员表示自己现在年纪不小了,想趁头发还没掉光时找个女朋友。至于择偶的标准,他表示只要是女孩就行

男朋友是程序员应该注意什么?

程序员一直和代码打交道,俗称码农 。如果你的男朋友是程序员,在你心目可能觉得他:具备高智商技能、不爱与人打交道、T恤和牛仔裤是基本标配、不浪漫的直男癌等等,那怎么和程序员男朋友相处呢,需要你应该注意什么呢?

程序员喜欢什么样的妹纸?

程序员一般都是和代码过日子,尽管有的时候代码很调皮,常常出各种状况,各种bug。每当周末和节日的时候都是代码陪着程序员或者程序员陪着代码。代码是程序员又爱又恨的伴侣,尽管可能有烦恼

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!