
专业软件开发已经快三年了,到目前为止,这是一段有趣的旅程。 它的“高峰”和“低谷”促成了我仍在继续的这一漫长旅程。
我拥有“著名”尼日利亚联邦大学的CS学位,但我从未在那里学习过编码。 虽然我一直对编程感兴趣,但是在我所有的编程课程中都做得不错,但是环境不适合学习。 我三年级时有一台电脑,但仍然没有太多的学习动力。 在我的服务年(为期一年的强制性活动中,应届毕业生被派往其他州服务于该国),我很幸运地在枢纽工作,这给了我从事软件开发职业所需的机会。
这段时间我学到了大量的代码和工程实践(显然还有很多东西需要学习),但是最令我困扰的是我在此过程中所学到的生活经验。 这里有一些:
坚持流程

产品的过程阶段是产品经历的最无聊的阶段之一。 似乎并不真正知道会是什么。 它就在这里和那里,经历着来自炉子的热量和锤子的痛苦。 但是,我们往往会忘记的是,在此过程中,该产品对它的功能和使用了解很多。 成品总是看起来很棒且一尘不染,但是过程完全有助于产品成为什么样。 成为优秀的软件开发人员没有简单的方法。 您不会在一年内成为泰勒·奥特维尔(Taylor Otwell)的人。 找到您要成为的成品需要花费时间。 这个过程正在学习中。 它永远不会停止,您也永远不会厌倦。 您的过程可能很痛苦或无聊,但总要坚持下去。
坚持某事
我看到许多人犯的一个错误是,跳槽于新技术,框架甚至语言。 您对学习的追求不应使您从语言A跳到B到C,因为您觉得A在社交媒体上谈论最多,或者B太无聊了。 学习不会像那样发生,实际上,它为您在出现任何先前的“条件”时再次行动提供了优先级。 一旦掌握了一项技术,就可以轻松掌握新技术。 除了很少的概念外,编程语言更相似而不是不同。 与其跳入学习无所不包,一无所获的潮流,不如花更多的时间使用该语言或框架并熟练掌握它,然后再开始使用。
从错误中学习。

没有人喜欢犯错误,但是没有错误没有人会犯错。 您将犯错误,并且必须准备好正确处理它们。 您也会做一些荒谬的事情,可能会让您看起来很愚蠢,但您不会因旅途中的颠簸而感到困惑。 在成为程序员的第一个月里,我只是在学习Laravel框架。 我记得我当时是一个三人一组的学校管理系统,我们无法理解为什么迁移无法进行。 当有人告诉我们表中定义的外键甚至没有基表时,我们花了几个小时在这个问题上。 我们觉得很荒谬,但这确实是有道理的,我们从中学到了。 犯错误时可以做的最重要的事情就是从错误中学习并提高自己。 同样重要的是要注意,您不必仅从错误中学习,也应该从他人的错误中学习。
对自己要有耐心。
作为后续措施,您必须给自己一些时间。 当您感到愚蠢或感觉自己花费了很多时间时,请耐心等待。 生活是一段旅程,而非冲刺。 对自己保持耐心的重要性在于,您已经准备好让自己再完成一项任务,一个概念甚至一家公司。 给自己时间成长。 一天之内没有植物长成成熟。 这需要时间,除草,养育,阳光,水等。最终有一天,植物会结出果实。 成长需要时间,请给自己时间。
经验很重要。
在每个招聘广告中看到的一个主要要点是,个人在获得这份工作之前已有多年的经验。 为什么这很重要? 很明显,它出现在所有招聘广告(特别是软件开发广告)中。 实际上,这与您开发的时间无关,而与您当时从事的工作量有关。 这就是为什么它被称为经验的原因,他们基本上是想知道您在该领域有多少经验。 将高级开发人员与初级开发人员区分开的并不是什么技能,而是高级开发人员可以正确地领导和指导初级开发人员的事实,因为高级开发人员已经体验了初级开发人员当前所经历的事情。
在您周围有一个社区。

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