一个熟练程序员所具备的特质-2

来源:互联网 发布:圣剑网络奥特曼新对码 编辑:程序博客网 时间:2024/06/04 01:24

熟练的含义在于整体思维的灵活性。

模式、原则、习惯用法、库、语言特性–这些都是工具。但一个真正的熟练程序员会使工具适应工作,而不是让工作适应工具。

许多人从没有特别专注于开发的熟练度,因为坦率地讲,以一个有能力者的角度进行开发更直截了当。但是如果你想要改变自己做事情的角度,并且需要一些帮助以便更好的开始,这里有一些建议可以尝试:

  • 解释你想要以某种方式做某件事的原因,但是不要说是因为“最佳实践”或者是社区指南。仅仅就当前需要解决的问题内容讨论解决方法的利弊。
  • 学习更少更有价值的事情,之后尝试着将所学到的知识应用到不同地方,观察所学知识在哪里起作用,哪里没效果。使用失败的经验来发现自己真正所需的新工具,并添加到自己的技能库中。
  • 寻找那些其他人“打破规则”并获得成功的例子。偶尔也打破你自己的规则,看看这样做对你是有伤害、有帮助还是没有起到任何作用。
  • 挖掘事情的本源而不是只知道大概。这会耗费更多精力,但能帮助我们找出某项技术的基础和边界,同时我们也会受到核心思想的启发而产生我们自己的想法。
  • 将自己置于某个自己最不熟悉的工程中,然后试着在不依赖自己现有的工作流程、习惯和规则的条件下找到解决方法。
  • 询问其他人做事情的原因,但不接受教条式的理由。通过询问其他人,能够试着站在其他人的角度考虑事情。这样做有很大的价值,因为这能够让你认识到他们以自己熟悉的方式思考出的想法的优势和劣势。
  • 选取一小部分自己能够使用但不精通的技能,试着将对这些技能的掌握程度从“有能力”变为极为熟练一致痴迷的程度。达到对整个知识体系中一小部分的掌握,比你所知的任何人都要高的程度。一旦你达到那种境界,再去检验那些很深很专一的知识的优缺点。

我们的讨论内容距离“熟练”有点太远了。你需要在“有能力”的基础上更上一层才能脱离仅仅是“知道某些事情”的程度,但即使仅仅认识到“知道如何在正确的时间使用正确的工具”就能够帮助你走的更远。

最重要的是:一旦你开始专注于以“熟练”为目标,有很大机会能够找到一条真正通往“精通”的道路。

0 0
原创粉丝点击