会使您势不可挡的程序员的行为

无论您是一个刚萌芽的开发人员,还是拥有多个Hello World的开发人员,还是您是一个拥有10多年经验的经验丰富的软件工程师,每个开发人员在某个时候都会想到一个问题:

“我如何成为一名不可阻挡的程序员?”

好的,也许不是完全用这样的措词来表达的-但您明白了。 关键是要像他们一样

我们都已经看到了他们 :那些在睡眠中编写代码的专家,他们似乎总是知道解决任何问题的正确方法。 他们是10个不同开源项目的最大贡献者,他们的GitHub贡献图是纯绿色的,他们甚至可以在一夜之间为甚至您最古怪的功能构想创建原型。

那么,您如何成为其中一呢?

嗯,这个问题的答案是没有银弹的答案,仅仅是因为“势不可挡的程序员”的含义取决于所讨论的开发人员而有所不同。 但是,不必担心,即使开发人员在此过程中遇到了一些困难的日子,它仍然可以做很多事情来提高他们的技能,使编写出色的代码变得轻而易举。

让我们从最重要的内容开始:练习。

首先,最重要的是,除了常规的,有计划的实践之外,没有其他开发人员能够在编程方面变得更好。 编程是一项技能,就像其他任何技能一样,编程需要时间,耐心和定期挑战才能变得更好。

一些练习方法可能是:

近年来,一些顶级科技公司的大量面试问题示例已进入网络。 现实世界中有成千上万的面试问题,它们的范围从基本到难以解决,因此初学者和专家都可以找到一些有用的概念来进行深入研究。

如果从列表中回答问题听起来很无聊,总有interviewing.io ,一项免费服务,在谷歌等公司所连接的工程师找人来练习自己的面试技巧。

卡塔(Kata)是武术中的一种小型练习,可帮助练习者掌握所学的任何动作。

对于Code Kata来说,这个概念很简单:每天重复做一次小练习,每次都重新执行一次,几乎没有改善,直到您对前进,后退以及各个方向都了解为止。

每个kata的目标是提供一个实践新概念的空间,以便将其内化,并在每次迭代中使您的kata解决方案更好,更优雅。

就像面试问题一样,从众包列表到精选内容以及围绕提供引人注目的代码katas的整个企业,在互联网上不乏可找到的katas。

在磨练您的编程技能方面,您只能自己取得长足的进步,而找到经验丰富的人可能是更快获得更好的最佳方法之一。

可能需要三个小时才能找到问题的解决方案(因为您找不到正确的关键字),而找到一个可以在第一个结果下完全满足您要求的库,这可能是让其他人来回答问题的区别。

幸运的是,事实证明,编程通常是一种协作体验,并且您将有机会与经验丰富的编码人员进行合作,而这些人员正是您的职业生涯。

这种协作可以采取以下形式:提交请求并进行审查,参加会议或编写文档以供其他开发人员阅读。

哎呀,即使没有身体由更有经验的程序员所包围,你仍然可以去像堆栈溢出的地方找人谁等着回答你的问题,并为乐趣提供指导 真是个世界。

不仅如此,自己回答Stack Overflow上的问题可能是帮助巩固已经学到的技能的好方法。 毕竟,他们说除非您可以向其他人解释,否则您并不能真正理解。

无论是新的数据科学库,新的测试套件还是您以前从未使用过的前端框架,阅读文档都无法取代直接的经验。

即使只是从软件的快速入门指南中复制和粘贴代码片段,也可以发挥所有作用。 实际上,运行代码并亲自使用它是您作为程序员可以养成的最佳习惯之一。

本质上,玩吧!

在最基本的级别上,这可能仅意味着尝试功能并观察其输出,或者可能意味着有意破坏脚本并将其重新组合在一起。 您甚至可以尝试为自己感兴趣的内容创建自定义移动应用

当您对正在使用的代码更加满意时,可以尝试使用自己的代码对其进行扩展,以更好地满足您的需求。

任何已经编程了很长时间的人都必须与过去的自己抗衡。 每当您需要特定数据时,“贴上您”的意图就非常好,因为他们对列表进行了索引。 过去,您没有办法知道字典本来是更经济的解决方案。

重要的是,“呈现给您”可以指出您的错误,并对下一步如何更好地实现它有所了解。

查看自己的代码虽然有时会很痛苦,但它可以是一种很好的方式来掌握您作为编码器的发展水平,并在遇到新问题时提供继续前进的动力。 您会知道“未来”已经得到了支持。

向世界各地的程序员推荐的最经典的书之一是由安德鲁·亨特和戴维·托马斯撰写的《实用程序员》 。 在其中,作者为希望在各个领域变得更好的程序员提出了许多建议:从业务开发到更好的代码重用习惯。

然而,这本书中有一条建议已经完全渗透到了编码时代精神中,即每年都要学习一种新的编程语言。 现在,这听起来似乎是一个艰巨的任务,但是很难否认了解多种语言具有的优势。

听起来有些愤世嫉俗,但是了解多种语言的好处之一是,它可以使您的市场变得非常有市场。 了解Python JavaScript PHP不仅可以为您提供更多的潜在工作机会,而且在简历上看起来也很棒(只要您可以备份它!)。

当然,还有另一个明显的好处–解决新问题时,您将有另一种语言可供选择。 不仅如此,您还将开始理解为什么应该选择一种或另一种语言。

例如,您可能会了解到,Erlang字符串从根本上来说是整数列表,也许您应该针对自然语言处理需求而转向Python,同样,您最好为HTML /转向JavaScript。 DOM控制需求。

目前,学习新语言可能对您来说是一项太多的承诺。 在这种情况下,您应该将自己应用于另一种不可阻挡的程序员的关键技能:熟悉您的工具。

现在,无需在这里点燃古老的Vim与文本编辑器的争论(或者天堂禁止Vim与Emacs的争论)。 取而代之的是,坚持一般的建议,即您应该学习最大程度地使用工具。

是的,您的编辑器是其中的一种工具,即使有一天回到您舒适的文本编辑器中,也有很多令人信服的论据以各种形式学习vi或Emacs。

即使您没有选择走那条路,那也不是不了解所有事情的借口。 学习键盘快捷键,学习如何安装附加程序包,找到喜欢的lint,并且,出于善意,如果您的编辑器可以处理断点(几乎所有断点都可以),请使用它们!

而且,也不要只专注于编辑器。 了解您最常用的命令行实用程序的所有标记,了解您选择的外壳(并考虑学习使用脚本编写脚本),并确保您始终阅读手册

学会使用工具不仅使您看起来像是入门者的向导,而且还以明显的方式提高了工作效率。

好的,我们仍在努力不煽动任何互联网仇恨,但这不得不说: 全栈开发人员并不真正存在。

现在,在干草叉问世之前, 并不是开发人员无法学习构建和管理成功软件所需的所有知识。

而是,没有一个全栈开发人员能够以同等的能力来完成所有这些事情。 在任何全栈开发人员团队中,可能会有一些人喜欢管理基础结构和安全性问题,或者喜欢摆弄前端的东西,等等。

专业化只是意味着选择这些偏爱的专业领域之一,并通过添加补充您的专业知识的技能来进一步深入研究。 显然,您不会忘记所有其他全栈技能,并且没有比对您所热衷的领域拥有广泛知识更好的方式来打动雇主和同事了。

就是说,您绝对可以成为所有行业的成功杰作,但要确保您是某些行业的大师,而不是任何一个领域的专家。

这里的所有都是它的! 完成上述所有操作,而无需执行其他任何操作,那么您将成为一名势不可挡的程序员。

不,显然这是个玩笑。 有许多不同的方法可以使您成为更好的程序员,并且不可能在一篇文章中列出所有这些方法。 如果这些技巧都没有引起您的共鸣,请寻找其他提高技能的方法。 重要的是您要不断尝试。

许多程序员发现自己患有冒名顶替综合症,认为他们需要对自己的技能有信心之前,必须成为世界上最好的程序员。 具有讽刺意味的是,为自己消除这个神话是成为真正不可阻挡的程序员的关键一步。

初学者还是高手,只要你付出努力,每天多学习,你有这么多的动力,你将不能够是什么, 挡不住发现自己。

翻译自: https://www.javacodegeeks.com/2019/08/behaviors-unstoppable-programmer.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值