译者:今天,我们正在为您发布
Saida Aymen Batul的文章 ,其中介绍了新手程序员如何克服专业道路上的问题。
在我看来,编程的代名词就是问题。 而且,如果您是初学者,那么您遇到的问题比专业人士要多一百倍。 研究编程的各个方面,创建项目组合,六月练习,然后实际从事项目-所有这些都可能是一个问题。
Skillbox建议:两年实践课程“我是PRO Web开发人员” 。
我们提醒您: 对于所有“ Habr”读者来说,使用“ Habr”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
积极的一点是,当您学习新事物时,您会离开舒适地带,知识和技能会增长,因此,您会专业地和一个人地成长。
我们所有人都听到过漫长的努力和学习的成功故事。 在外面,对于刚入门的人来说,编程似乎是理想的工作。 即使是大三学生,看到同事,老师,导师的专业水平,也常常认为所有这些都可以很快实现而没有任何问题。
实际上,这并非完全正确。 专业人士的问题不少,他们越来越复杂。
举例来说,我将给两个专业开发人员推文,这些推文教了我很多知识。

新手程序员通常不确定他们是否可以成为优秀的专业人员。 一旦获得更多经验,我们就会放松下来,意识到我们永远都不够好。
我在学习JavaScript时看到了这条推文,这不是一个轻松的时间。 我花了十个月的时间学习必要的东西,最后在一家公司获得报酬。
从一开始我就试图了解这是否是我的要求,我是否可以成为一名优秀的程序员。 经常停下来,无法解决一个小问题,我对自己感到失望。 但是随后,她感到了新的力量-在她看到专业人员正在经历相同的问题之后,只是规模不同。
第二条(对于我的职业而言)最重要的推文如下。

经过20多年的发展,八本书面书籍售出了十万本,三十万小时的观看我的视频,四千名学生...
你知道吗? 我仍然对代码的功能有疑问。 直到现在,第二天我写的代码使我感到困惑。
我所说的有偿实践是Outreachy提供给我的。 三个月来,我一直在Firefox健康状况仪表板上与Mozilla合作。 在工作过程中,我意识到自己对职业的恐惧和不确定性已经有所改变。
我在Mozilla的工作始于停电,因此与同事的会面仅在几个小时后举行。 通电后,工作开始了。 我的同事很友好,工作很有趣,因为我遇到了来自世界各地的人们。 包括与导师们谈论工作细节的人。
我的第一个任务是整理GitHub上托管的Trello的相似之处。 在这个项目中,时不时地有我要解决的问题。 我一开始完成任务,就很清楚,我以前对程序员职业的怀疑和困难只是那时开始的苍白阴影。
最重要的是要了解代码我在工作中的感受与旅途开始时完全不同。 现在,对“不入流”,不抓住机会的恐惧已被恐惧破坏工作和失去一切的恐惧所取代。
在开始自定义graphJS元素之一之后,当我立即陷入困境时,这对我来说很难。 最初,在我看来,一切都会顺利进行。 但是我错了,我不得不为一个小问题寻找解决方案两天。
我向导师问了几个问题,并试图自己解决所有问题。 然后在我看来我什么也做不了,这使我陷入了沮丧。 但是我的导师并没有坚持不懈,他们给了一切可以解决的信心。 导师帮助实现了:我需要做的主要事情是提高我对代码的理解水平。 这将有助于理解事物的本质。
“橡皮鸭方法”对我有所帮助(顺便说一句,该方法
已在“哈勃”
杂志上
发表的另一篇文章中提到 )。
“如果您被“困住”,这不是问题,我们所有人都会不时发现自己处于类似情况。 我的导师Armen Zambrano(Mozilla员工)对我说:“通过多年的经验,我们学会了解决日益复杂的问题,但有时仍然遇到困难。
我分享我的个人经验
如果我们知道从哪里开始,那已经是成功的一半了。当您开始解决问题时,在大多数情况下,您会想像您需要做的事情,有时甚至是实现解决方案的逻辑和方法。 但是通常您不知道从哪里开始! 您有很多带有代码和功能的文件,因此您不知道可以将解决方案放在何处以使其正常工作。 我的导师Dustin Mitchell建议我使用注释来更好地理解代码和功能。
最后,我解决了这个问题,尽管这项工作还不够完善。 很快,由于一个更复杂的问题,任务又停止了,我花了几天的时间才找到解决方案。 幸运的是,公司的导师和其他员工了解了初级员工的情况,因此他们没有对我们施加压力并给予了帮助。
解决合并冲突如果您是初学者,则有合并冲突的危险。 您可能要花费数小时来解决代码问题,解决所有问题,然后由于要“解决”合并冲突而失去所有工作。
在Git中提交时,这几次发生在我身上。 这是非常令人不安和恐惧的。 但是后来我学到了与Git合作的一些原则,这有助于解决冲突。
识别自己的代码很痛当我们编写代码,并在几天后尝试对其进行解析时,该任务似乎是不可能的。 例如,在我消除了一个错误并在几天后返回到代码之后,我只有一个问题:这是如何工作的,为什么会这样呢?
工作代码可能与非工作代码一样令人困惑。 在某些情况下,随着新思想和解决方案的出现,我们会回到旧代码,对其进行改进和优化。 如果您不了解自己的代码是如何工作的,请不用担心,您正在学习新知识。
如何生存?
不要自费承担一切,专注于学习这是导师给我的提示之一。 如果您不知道如何解决问题,就很难对自己的实力失去信心。 但是,出路是学习,获取新知识,不要将自己视为失败的原因。
抛开自我,去学习,从他人那里获得新的经验,技能和知识。
吸收最大的新信息睁大眼睛,获取新的经验和知识。 即使您不在舒适范围内,也不要害怕体验新事物,测试新事物。 有时我们使用相同的工作模型和编码模式。 但是您应该始终留出一个新的空间。
提出问题之前先做功课提出问题是件好事,特别是如果您陷入困境。 但是更好的是执行自己的任务,即家庭作业。 这将帮助您找到以前似乎无法解决的问题的答案。
不要与别人比较如果这样做,您将对自己的能力失去信心,并且会变得更糟。 记住,任何大师都曾经是初学者。 一开始,即使是最好的也错了。 所有专业人士都走了一条痛苦的道路,他们进行了学习,并最终实现了所取得的成就。 没人能在一个晚上成为大师-为此,您需要努力工作。
记住,我们都在同一条船上。 此外,我们在大学教授的知识与我们在现实生活中遇到的知识在实践中有很大不同。 要成为称职的专家,您需要学习和工作。 专注于此-您可以实现以前想要的一切。
Skillbox建议: