是时候认真提高你的编程技能了。让我们做它!

对自己来说,这是一个很容易实现的职业发展目标,但“成为一名出色的程序员”却不是一个简单的目标。首先,说“我想变得更好”是假设你知道“更好”是什么样子的。此外,太多的人追求进步,却不知道如何实现。

我来分享8个可操作的可以作为提高编程技能的流程图的指导方针。这些智慧的花絮是从35年的计算机行业中收集来的,其中很多都是在一些定义和记录它的人的脚下度过的卑微的蚱蜢。

1.提醒自己还有很多东西要学

学习理念:成为一个更好的程序员学习某样东西的第一步是认识到你对它一无所知。这听起来是显而易见的,但有经验的程序员记得克服这种个人假设需要多长时间。太多计算机科学专业的学生毕业于傲慢的“我最懂”的虚张声势他们坚信自己无所不知,迫切需要向每一位新同事证明这一点。换句话说:你的“我知道我在做什么!”态度会阻碍你学习新事物。

2.不要试图证明自己是对的

要想成为伟大——不仅仅是优秀——你必须从经验中学习。但是要小心,经验会教会我们重复不良的行为并养成坏习惯。我们都遇到过有8年经验的程序员,同样的经验,重复了8次。为了避免这种症状,审视你所做的每一件事,并问问自己:“我怎样才能做得更好?”

新手软件开发人员(以及很多有经验的开发人员)会看着他们的代码欣赏它的美妙之处。他们编写测试来证明他们的代码可以工作而不是试图让它失败。真正优秀的程序员看看他们哪里错了-因为他们知道最终用户会发现他们遗漏的缺陷。

3.“代码有效”并不是你止步的地方;这是你的起点

是的,你的第一步总是编写符合规范的高质量软件。一般程序员在这一点上就会退出,转而做下一件事。

但一旦“完成”就停止,就像拍了一张快照,并期待它成为一件艺术品。伟大的程序员知道第一次迭代只是第一次迭代。它的工作原理,恭喜你!-但你还没说完。现在,使它更好

这个过程的一部分是定义“更好”的含义。让它更快有价值吗?容易文件吗?更多的可重用?更可靠吗?每个申请的答案都不一样,但过程是不变的。

4.写三遍

优秀的程序员编写的软件能正常工作。优秀的程序员编写的软件工作得非常好。这种情况在第一次尝试时很少发生。最好的软件通常是写了三次:

  1. 首先,编写软件向自己(或客户)证明解决方案是可行的。其他人可能不认识到这只是一个概念验证,但您认识到这一点。
  2. 第二次,你就成功了。
  3. 第三次,你就成功了正确的

当您看到最好的开发人员的工作时,这种级别的工作可能并不明显。他们所做的一切看起来都很出色,但你没有看到的是,即使是摇滚明星开发者也可能在向其他人展示自己的软件之前就抛弃了第一个和第二个版本。扔掉的代码重新开始是将“让它变得更好”纳入个人工作流程的有力方法。

如果没有别的,“写三遍”会教你解决一个问题有多少种方法。它可以防止你陷入窠臼。

5.阅读代码。阅读大量代码

阅读代码概念:成为一个更好的程序员您可能希望我以这条建议作为开头,这的确是提高编程技能最常见也是最有价值的建议。不那么明显的是原因阅读别人的代码是如此重要。

当你阅读别人的代码时,你会看到别人是如何解决一个编程问题的。但不要把它当作文学;把它当成是一个教训和挑战。想要变得更好,问问自己:

  • 我是怎么写这段代码的?既然你已经看到了另一种解决方案,你会怎么做呢?
  • 我学到了什么?如何将这种技术应用到我过去编写的代码中呢?(“我从来没有想过在那里使用递归下降……”)。
  • 我该如何改进这些代码?如果这是一个开源项目,你有信心有更好的解决方案,做到!
  • 按照作者的风格编写代码。练习这些可以帮助你了解编写软件的人的想法,这是可以的提高你的同情心

不要只是空想这些步骤。写下你的答案,无论是在个人日记,还是在博客上,在代码审查过程中,或者与其他开发人员共享一个社区论坛。就像向朋友解释问题可以帮助你找到解决方案一样,写下并分享你的分析可以帮助你理解为什么你会以特定的方式对别人的代码做出反应。这都是我前面提到的内省的一部分,帮助你冷静地判断自己的长处和短处。

警告:阅读大量代码而不是成为一个伟大的程序员是很容易的,就像一个想成为作家的人可以阅读伟大的文学作品而不是改进自己的散文一样。许多开发人员着眼于开源或其他软件来“寻找答案”,并且很可能是复制和粘贴看似可以解决类似问题的代码。这样做会让你更糟糕的是程序员,因为你盲目地接受别人的智慧而不去审视它。(此外,这可能比夏季野餐更麻烦,但因为你没有花时间去理解它,你永远不会意识到你只是导入了一个漏洞工厂。)

6.编写代码,而不只是作为赋值

从事个人编程项目有很多优点。首先,它为你提供了一种学习工具和技术的方法,这些工具和技术在你目前的工作中无法获得,但在下一份工作中会让你更有竞争力。无论你是为开源项目做贡献,还是为当地社区组织做公益工作,你都会获得技术技能和自信。(另外,你的个人项目会向你的潜在雇主展示你是一个积极主动、从不停止学习的人。)

为乐趣而编写代码的另一个好处是,它迫使您自己搞清楚事情。你不能把困难的事情留给别人,这样你就不会太早寻求帮助。

专家提示:不要只选择你从不失败的个人项目。你需要失败!但是你可能不想在工作上失败或者在截止日期前失败。

7.以任何可能的方式与其他开发人员一对一地工作

协作概念:成为更好的程序员倾听别人会有帮助。这可能意味着结对编程,或者去参加黑客马拉松或加入一个编程用户组(例如佛蒙特州编码人员连接)。当您为一个开源项目做出贡献时,请注意从用户和其他开发人员那里得到的反馈。你在他们的批评中看到了什么共同点?

你可能会幸运地找到一位你可以信任的私人导师,他会在从编码技术到职业决策的各个方面指导你。不要浪费这些机会。

8.学习技术,而不是工具

编程语言、工具和方法来来往往。这就是为什么尽可能多地获得语言和框架的经验是值得的。关注编程的基础知识,因为基础知识永远不会改变;比起编程,更关注架构。如果你确信做一件事只有一种正确的方式,那可能是时候检查一下了。教条会阻碍你学习新事物的能力,使你适应变化的速度变慢。

我可以继续下去,但自我提高的一个关键原则是知道什么时候该停下来。

代码,学习,阅读,协作图片来源:Shutterstock.com

自1992年以来,埃丝特·辛德勒(Esther Schindler)就靠把极客翻译成英语谋生。找到她推特,脸谱网,Google +在那里,她肯定会分散你的注意力,让你无法完成有成效的工作。查看贴子

有兴趣为New Relic博客写作吗?亚搏体育登入网给我们发一份建议书!