Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save tendoasan/2c13764cd8210d1e135963ad1756a52c to your computer and use it in GitHub Desktop.
Save tendoasan/2c13764cd8210d1e135963ad1756a52c to your computer and use it in GitHub Desktop.
[精通型程序员的特点]#程序员

原文链接:https://www.oreilly.com/ideas/the-traits-of-a-proficient-programmer

有能力胜任和精通之间的区别: 有能力胜任是指有足够的经验和知识来完成各项工作;精通涉及之道为什么你要用某种方式来做事情,以及如何融入到大局中。 如果你是一名程序员,学习该怎么做是你能胜任工作的重要部分:

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

跨越从胜任到精通的沟壑可以试试:

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