各ジュニアの開発者は、6つのイベントを知っている必要があります

エントリーレベルの開発者は何に注意を払う必要があるためプログラマの世界には、「簡単に」という言葉はありませんでしたか?

著者| calevans

翻訳|半月板、Zebian |火ミン

出品 | CSDN(ID:CSDNnews)

以下は翻訳です。

私の最初の仕事は、ソフトウェア開発会社の親として働いていました。これに先立ち、私はコモドール64長年使用している、と私のフロッピーディスクと、いくつかの良い実行しているコードを、私はそれらの複製のために、私の友人の家にコーディングします。その後、私の両親は、新しいコンピュータシステムを買ったが、彼らは自分の仕事を完了するために、システムを使用することはできません。幸いなことに、このシステムは、BASICで書かれています。だから、私は前方に来て、本当にBASICを理解するふりをし、正式にソフトウェア開発者になりました。

それは36年前のことですが、私はまだこのポジションに固執します。私は決してコンピュータサイエンスの学位のために勉強されていないとソフトウェア開発における正式な訓練を受けたことのない、しかしますが、私は学習の2つの方法があります。

  • 他の人から学ぶ、他の人と話をする、他人を観察

  • 間違いを犯します

この記事では、私はそれらを理解することができるようになりますときに私が望むどのように、長年にわたって蓄積した教訓を説明します。あなただけのプログラミングを学ぶために始めている場合は、私は、これはあなたを刺激することができます願っています。

患者

彼らの忍耐のために、他の人のための忍耐。ジュニア開発者として、あなたは自然にすべてを知りませんが、あなたも間違いを犯すだろう。あなたが会社に入るには十分に幸運であれば、その後、大切にしてください。良い会社は、あなたが学んでいるかを理解します。彼らはあなたがあなたのための問題を解決するために、「パートナー」を任命します。あなたが混乱して感じるとき、彼らはあなたのために右方向になります。

再重申一次,你会犯错误。你提交的PR中会包含严重的逻辑错误(就像一颗炸弹)。如果将你编写的代码投入实际生产,那么可能会导致一半的数据库被删。有时你编写的代码还会引发安全漏洞。然而,这都没有关系。这就是我们要进行代码审查的原因,目的就是让其他开发人员帮助你发现这些问题,并帮助你成长。

告诉你一个秘密:团队中的高级开发人员也犯过这些错误,而且很有可能就是这两年的事儿。

要对自己耐心一点。你迟早会成长为一名优秀的开发人员。只要你坚持下去,终有一天会摆脱“初级”的头衔,但这需要时间和经历,还有很多的错误。

学会高效敏

在过去的35年中,软件开发界中唯一的不变之处就在于一切都在变化。编程语言起起落落,框架变化得如此迅速,甚至连最佳实践也会随着时间的推移而不断发展。作为初级开发人员,你会遭受双重打击。你必须学习当前的技术堆栈才有用,但是你还需要掌握这些技术栈的变化。最重要的是你必须时刻关注新技术,尽管这些技术可能会对你有用,也可能根本没用。学习的能力才是事业成功的关键。

注重核心原则,而不是工具

语言、框架、平台、IDE、测试框架,这些技术的兴衰转眼即逝。你所掌握的某个框架知识可能在3-4后就过时了,等你转向新框架时,之前的努力就白费了。

然而,面向对象程序设计、功能程序设计、设计模式、SOLID等概念将跨语言和框架,让你终身受益。

这并不是说你不应该努力成为最优秀的Java开发人员,也不是说你不应该花时间学习技术栈和工具,我的意思是通过精通语言和工具背后的概念来降低学习的难度。这些知识在其他语言和技术栈也同样适用。

观察你周围的轮子

说“不要重新发明轮子”的人是个傻瓜。我永远不会将自行车轮胎放到全美赛车协会的赛车上,他们的赛车使用的是特殊的轮子。软件开发人员需要经常重新设计轮子,因为他们需要具有特殊属性的特殊轮子。

但是,你不应该尝试亲自编写所有的代码。你可以尝试重新发明所有的轮子。环顾四周,浏览Github或Gitlab上其他人的代码。 PHP开发人员有一种强大的资源名叫packagist,JavaScript开发人员拥有一个类似的工具名叫npm。无论你使用哪种语言,都应该首先熟悉打包和依赖项管理工具,只有这样才能查看其他人创建的代码。你需要编写的功能有99%的概率已经存在了。不妨先尝试一下。

如果找不到能够100%满足需求的产品,那么想想看是否可以建立一个分支,而不是从头开始做?

有的时候,软件开发人员的确会重新发明轮子,但是当我们这样做时,我们知道我们为什么这样做,而且在被问及时可以坚定地捍卫这个决定,因为说实话,这毕竟是我们不得不选择的最昂贵的选择。

多读少写

电影中的软件开发人员(通常称为黑客)经常坐在两个屏幕前,一边看着两边的代码迅速滚动,一边煞有其事地点点头,仿佛他们正在阅读和理解他们看到的代码。然而,现实中并不会出现这一幕。

更为常见的情况是,软件开发人员在某个代码仓库的基础上建立分支,克隆到本地,然后打开编辑器,开始阅读代码。阅读别人的代码是最佳的学习方式。如果你知道代码的作用,那么阅读代码的过程中你就可以看到其他人解决问题的方式。

就像伟大的作家,他们的阅读量远远超过了写作量,伟大的软件开发人员阅读的代码量(他们自己的和其他人的)也超过了他们编写的代码量。作为初级开发人员,你应该加倍努力。由于你没有现成的代码可供复制和粘贴,因此你需要了解其他人解决常见问题的方式,并思考自己该如何解决。

寻找导师

还记得本文开头的故事吗?那个时候还没有互联网。当时我们有BBS,但没有太多共享的内容。所以,我不得不买书。看书、写代码,然后不断尝试,直到代码可以运行。

如今,软件开发人员拥有大量的信息和示例代码可以参考,比如Stack Overflow、Stack Exchange、Reddit等等。尽管如此,找到代码只是解决问题的第一步。接下来你需要确定某个解决方案是否可行。为此,你需要找到一个好导师。

你需要找到一个参谋。这个人希望你取得成功,并愿意花时间帮助你取得成功。你可能需要下一番功夫才能找到合适的导师,一定要坚持下去。只有不断尝试,才能找到合适的人选。

找到导师后,请记住黄金法则:“切勿浪费导师的时间”。在需要的时候,你可以打电话给导师。一位好导师会检查你的情况,但仍然允许你在需要时提出问题。不要因为一些简单的问题打扰导师,你可以搜索互联网自己解决这些问题。只有在走投无路时,再向他们求助。他们是你职业生涯中的精神支柱,而不是你的司机。他们会为你提供指导和建议,但你不应期望他们会给你答案。

总结

欢迎来到软件开发的美好世界。也许你刚大学毕业,或刚结束培训班的学习,但这不是此次旅程的终点,而仅仅是一个开始。除非你退出这个领域,否则一切都不会结束。你需要坚持学习、成长和发现。软件开发人员既是艺术家,又是科学家,还需要穷其一身坚持学习。拥抱这些优秀的品质,勇往直前,为创造美好的明天而努力。

原文:https://hackernoon.com/the-six-most-important-things-junior-developers-need-to-know-to-begin-and-sustain-their-it-careers-vir3tkt

本文为 CSDN 翻译,转载请注明来源出处。

热 文 推 荐 

腾讯开源开年红!TencentOS 内核正式开源

Google 的垄断正在扼杀自由软件!

你能说出 Kafka 这些原理吗?

2019 互联网大事记:谁是最后的赢家?

中国程序员在美遭抢劫电脑遇害,数百人悼念

2019,不可错过的NLP“高光时刻”

详解CPU几个重点基础知识

在以太坊上开发 Dapp 的瓶颈和门槛有哪些?| 博文精选

你点的每个“在看”,我都认真当成了喜欢

发布了1640 篇原创文章 · 获赞 4万+ · 访问量 1324万+

おすすめ

転載: blog.csdn.net/csdnnews/article/details/103942671