我有2年以上的软件开发经验和教训。

安德烈·亨特(Andre Hunter)的照片

专业软件开发已经快三年了,到目前为止,这是一段有趣的旅程。 它的“高峰”和“低谷”促成了我仍在继续的这一漫长旅程。

我拥有“著名”尼日利亚联邦大学的CS学位,但我从未在那里学习过编码。 虽然我一直对编程感兴趣,但是在我所有的编程课程中都做得不错,但是环境不适合学习。 我三年级时有一台电脑,但仍然没有太多的学习动力。 在我的服务年(为期一年的强制性活动中,应届毕业生被派往其他州服务于该国),我很幸运地在枢纽工作,这给了我从事软件开发职业所需的机会。

这段时间我学到了大量的代码和工程实践(显然还有很多东西需要学习),但是最令我困扰的是我在此过程中所学到的生活经验。 这里有一些:

坚持流程

照片由Arshad Pooloo在Unsplash上​​拍摄

产品的过程阶段是产品经历的最无聊的阶段之一。 似乎并不真正知道会是什么。 它就在这里和那里,经历着来自炉子的热量和锤子的痛苦。 但是,我们往往会忘记的是,在此过程中,该产品对它的功能和使用了解很多。 成品总是看起来很棒且一尘不染,但是过程完全有助于产品成为什么样。 成为优秀的软件开发人员没有简单的方法。 您不会在一年内成为泰勒·奥特维尔(Taylor Otwell)的人。 找到您要成为的成品需要花费时间。 这个过程正在学习中。 它永远不会停止,您也永远不会厌倦。 您的过程可能很痛苦或无聊,但总要坚持下去。

坚持某事

我看到许多人犯的一个错误是,跳槽于新技术,框架甚至语言。 您对学习的追求不应使您从语言A跳到B到C,因为您觉得A在社交媒体上谈论最多,或者B太无聊了。 学习不会像那样发生,实际上,它为您在出现任何先前的“条件”时再次行动提供了优先级。 一旦掌握了一项技术,就可以轻松掌握新技术。 除了很少的概念外,编程语言更相似而不是不同。 与其跳入学习无所不包,一无所获的潮流,不如花更多的时间使用该语言或框架并熟练掌握它,然后再开始使用。

从错误中学习。

chuttersnap在Unsplash上​​拍摄的照片

没有人喜欢犯错误,但是没有错误没有人会犯错。 您将犯错误,并且必须准备好正确处理它们。 您也会做一些荒谬的事情,可能会让您看起来很愚蠢,但您不会因旅途中的颠簸而感到困惑。 在成为程序员的第一个月里,我只是在学习Laravel框架。 我记得我当时是一个三人一组的学校管理系统,我们无法理解为什么迁移无法进行。 当有人告诉我们表中定义的外键甚至没有基表时,我们花了几个小时在这个问题上。 我们觉得很荒谬,但这确实是有道理的,我们从中学到了。 犯错误时可以做的最重要的事情就是从错误中学习并提高自己。 同样重要的是要注意,您不必仅从错误中学习,也应该从他人的错误中学习。

对自己要有耐心。

作为后续措施,您必须给自己一些时间。 当您感到愚蠢或感觉自己花费了很多时间时,请耐心等待。 生活是一段旅程,而非冲刺。 对自己保持耐心的重要性在于,您已经准备好让自己再完成一项任务,一个概念甚至一家公司。 给自己时间成长。 一天之内没有植物长成成熟。 这需要时间,除草,养育,阳光,水等。最终有一天,植物会结出果实。 成长需要时间,请给自己时间。

经验很重要。

在每个招聘广告中看到的一个主要要点是,个人在获得这份工作之前已有多年的经验。 为什么这很重要? 很明显,它出现在所有招聘广告(特别是软件开发广告)中。 实际上,这与您开发的时间无关,而与您当时从事的工作量有关。 这就是为什么它被称为经验的原因,他们基本上是想知道您在该领域有多少经验。 将高级开发人员与初级开发人员区分开的并不是什么技能,而是高级开发人员可以正确地领导和指导初级开发人员的事实,因为高级开发人员已经体验了初级开发人员当前所经历的事情。

在您周围有一个社区。

戴安·史蒂文斯(Daan Stevens)在Unsplash上​​拍摄的照片

这有多重要。 它不必是开源或forLoop社区,只需拥有一个社区即可。 可能有2个朋友与您,编程俱乐部或其他任何人正在经历相同的过程,只是周围的人随时准备在遇到困难时为您提供帮助。 当然,这是一条双向道路,您还必须准备提供帮助。 如果您认为您永远不会卡住,我向您保证,您会的。 社区也在线存在,很多人每次都愿意提供帮助。 Stackoverflow已成为任何程序员生活中的重要组成部分。 如果您是Laravel开发人员,那么Laracasts也可以提供很多帮助。

这段旅程尚未完成,还有很多事情要做。