壹点点儿|菜鸟程序员如何用三个月将“前浪”拍在沙滩上?( 二 )


编程常常被视为一种神技——几乎就像一门外语 , 很难翻译 , 只有受过良好训练的人才能优雅地用它写作 。 然而 , 这种观点与事实相去甚远 。 从编程中抽离 , 重构你对编程的看法 , 而不仅仅把它看作是一门技术工艺 。
代码是一种工具 , 你可以用它来推动自己实现最终目标和你设计的解决方案 。 我审视代码的方式与画家审视画笔、技工审视扳手、木匠审视锤子的方式相同 。
伟大的艺术家与常人的区别是他们运用工具的能力 , 这些工具与他们的思想和想象力相结合 。 当你茫然地盯着空白的IDE试图编写第一行代码时 , 请记住这一点 。
重要的是 , 我们要了解如何使用这个工具 。 对我来说 , 真正有效的是做一些事情 , 不断提高我使用这个工具的技能 , 而不是简单地理解代码的语法和理论术语 。 我们要重点考虑下我能做什么 , 我能完成什么 , 我应该走什么路 , 以及我想要达到的目标 , 这些会为我以代码为工具谨慎探索最终解决方案的方式带来启发 。
在这一点上 , 唯一限制我的是我个人的想法和能力 , 在于我是否能够找出不同的方法使用代码来处理和解决我所拥有的特定的解决方案 。
这就是为什么我不会浪费时间去学习一种语言的所有语法 , 也不会无休止地阅读文档 , 试图记住一种语言或框架必须提供的所有内容 。 我发现 , 最大的价值在于 , 根据测试原则、设计规则和理论 , 理解构建和设计代码的不同方法 。
我可能不是什么都懂 , 但我什么都可以学
这也是为什么我不浪费时间去浏览和记忆文档 , 不看学习编程语言的综合教程 , 不无休无止学习的另一个原因 。
如果我真的有什么超能力的话 , 那就是快速学习并立即将所学应用到我所做的事情上的能力 。 是的 , 我确实会失败 。 而且失败了许多次 。 但经常失败是我的学习方式之一 , 失败可以强化学习 , 直到我完全理解一个主题 。
通常 , 我不需在脑子里准备一堆技术和初级信息 , 因为我可以通过我能做的大量研究和我过去处理类似问题以及失败时积累的经验来推动我的编程 。
我根据需要学习 。 这样 , 我就不会浪费大量的时间 , 用具体的细节和方法来填满我的脑袋 。 你处理的每一项任务都取决于你想要达到的目标 。
如果有什么事情 , 我就会问谷歌搜索引擎 , 问题直指我要立即解决的难题 。 如果我不能通过谷歌搜索找到我需要的所有东西 , 我就会向我的CEO提出一些问题 , 设法解决这些更复杂的问题 。 然后 , 我会调整我发现的信息 , 以满足我当前的需求 。 我不会因为不知道解决办法而放弃 。 相反 , 我尽我所能去弄清楚我认为可能的事情 。
秉持这种思维模式和方法 , 我将代码插入我所理解的特定设计原则 , 并将代码作为工具来设法实现我的解决方案 。
我不是什么都知道 , 我也不想什么都知道 。 编程令人兴奋的一点是能够不断地学习和拥有创造性思维 , 当你尝试学习一种权威性的方法去做某件事 , 你会将其看成唯一的方式或方法 , 可以想象 , 那会大大阻碍你作为一名程序员的想象力和潜力 。
结语
我坚信 , 任何人——无论其技能、天赋或经验如何——都有能力成为独一无二的伟大程序员 。
你真正需要做的是 , 为了构建解决方案而完成思维和方法上的转变 , 并在整个职业生涯中保持绝对的谦逊 。 谦逊会让你保持初学者的心态 , 充满好奇与渴望 , 不断学习和适应日新月异的编程环境 。 作为程序员 , 我们在生活中表现出了不断学习的精神 , 打破了以前认为不可能的障碍 。 如果你没有这种精神 , 那么恐怕未来你的技术水平 , 也不会有太大的提高 。
原文链接:
https://medium.com/better-programming/how-i-outperformed-more-experienced-developers-as-a-junior-developer-and-how-you-can-too-19bc6206fa68


推荐阅读