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


壹点点儿|菜鸟程序员如何用三个月将“前浪”拍在沙滩上?
文章图片
编程这件事听起来很复杂 , 但在大多数情况下 , 编程过程既轻松又有趣 。 当然 , 也并不是有经验的工程师编写的代码就一定优于“菜鸟”工程师 。 那么 , 作为一名开发者 , 如何能让自己从众人中脱颖而出?本文也许会给你一些启发 。
不管你是有20年的实际工作经验的资深开发者 , 还是刚刚进入科技行业 , 没有实习经验的“菜鸟” , 这都不重要 。 因为当涉及到效率、生产力和自身的编程天赋时 , 多年来积累的智慧和经验可能起不到多大的作用 , 所以单纯用资历来定义一名开发者是极其狭隘的 。
我刚进入Salesforce开发顾问行业时 , 基本上不知道如何在这个平台上实现解决方案和集成等问题 。 而现在 , 我却正在创造公司记录 , 被认为是行业中最有前途的开发人员之一 , 甚至经常有猎头和雇主过来挖我 , 我几乎完全靠自己的能力来设计解决方案 , 并且没有一次失败过 。
“我招聘了比你更有经验的开发人员 , 但与我招聘的其他任何人相比 , 你做得更快 , 也做得更多 。 ”——CEO对我说
【壹点点儿|菜鸟程序员如何用三个月将“前浪”拍在沙滩上?】在进入这个行业后 , 我只用了三个月的时间就超越了同行 。 在最初的三个月里 , 我几乎都在坚持不懈地训练和学习 。 因为我深知自己在很多方面都存在不足:
我不是天才或神童 。 我不是一个有天赋的开发者 。 我不是对编程无所不知 。 我不能凭直觉在一瞬间找到解决办法 。 我还有很多东西要学 。尽管有着上述诸多困扰 , 但也阻挡不了我成为一名合格的开发者 。 那么 , 是什么让我脱颖而出 , 并最终以其他更有经验的开发人员都无法跟上的速度完成编程任务和项目?
尽早建立最佳编码实践是第一要务
回顾我为获得计算机科学学位所花的全部时间 , 我可能会认为自己不是一名合格的程序员 , 几乎不知道如何解决实际的编程问题 。
我竭尽全力地解决分配给我的编程项目——这些项目我现在可以在一夜之间轻松地完成 。 但彼时 , 理解实现一个解决方案所需要的逻辑 , 甚至理解完成一项任务所需要的面向对象原则 , 对我来说都非常困难 。
如果没有去谷歌搜索解决办法 , 我估计我是无法继续攻读计算机学位的 , 而是会去攻读哲学或工商管理学位 。
但突然有个时刻 , 我开始对我所具备的技术能力有所改观 。 我开始观察编程语言的实际工作方式 , 具体设计原则的使用和实现方式 , 以及设计代码时要避免的事情和要采用的最佳实践 , 我开始感觉到我处理问题的方式的转变 。
我开始用所学到的原则来设计和思考我的解决方案 , 这让我以一种更有目的性和方向性的方式来组织我的想法 。
从编程的角度来说 , 我读过的对我改变最大的书是RobertC.Martin的《代码整洁之道》 , 它强化了这些原则 , 并使它们深入我的内心 。
我命名函数的方式、我简化代码的方式以及我构造类的方式有效地保证了我的开发方式的合理性 。 它让我真正地退后一步 , 思考我在写什么 , 我是如何组织代码的——时刻注意我写的东西是否合乎逻辑 , 是否可读 。
在满足需求时 , 我把注意力更多地放在可读性、设计和简单性上 , 根据我的经验 , 这样的结果通常是 , 代码生成速度快、面向未来、可重用且易于扩展 。
也就是说 , 作为一名程序员 , 你应该了解最佳编码实践、所使用的语言或框架的限制、SOLID原则、设计模式和敏捷实践 。
仅仅编写有效的代码是不够的 , 而是要编写有效的、容易理解的、模块化的、能够经受时间考验的代码 。 这就需要更多的思考 , 但总的来说 , 这让你可以不断地基于你创建的应用程序进行构建 , 从而创造更大的价值 。
将编程看作是艺术创作的工具


推荐阅读