提高编码能力的关键

对于初学者来说，最重要的技能是关注细节

调试错误消息非常重要。事实上，错误消息只是编程的一部分：它们会被没有经验和非常有经验的开发人员看到。唯一的区别是，您处理错误消息的经验越多，您花在修复错误消息上的时间就越少。原因如下：随着时间的推移，您将学会如何阅读错误消息并快速提取问题的相关细节。第一次看到错误消息时，您需要花一些时间来理解它的实际含义。但是在您看到数百条错误消息之后（您将看到数百条！），您将能够查明问题的位置以及解决问题所需的相关详细信息。您应该从您解决的每条错误消息中学习。不要只是修复错误并解决它；了解您正在修复的代码有什么问题。通过从你的每一个错误中吸取教训，下次你犯同样的错误时，你就能更快地改正它。
最初，您可能会针对看到的每条错误消息寻求帮助。随着时间的推移，您将学会通过仔细检查您的代码和进行智能 Google 搜索来减少寻求帮助的频率。

拐点阶段是学习编码最令人沮丧的阶段之一，但在许多方面，它是唯一重要的阶段。这是您逐步停止使用教程并开始解决没有人为您准备好解决方案的问题的关键。
拐点编码的速度将会比前以阶段慢 10 到 20 倍！！！

我仍然觉得自己身处深渊！我只是越来越自在地知道那是我必须去的地方！

开发的两个拐点

Web 开发的转折点是您能够构建任何您想要的数据库驱动应用程序的时间点。这意味着能够构建一个包含许多页面的 Web 应用程序，该应用程序可以从一个简单的数据库中存储和检索信息。Web 开发人员称之为：“掌握 CRUD”。在此阶段，您还应该能够与任何第 3 方库（例如 ruby​​ gem）集成，只需按照 GitHub 上提供的文档或博客文章进行操作即可。

算法和数据结构拐点是一个不那么表面的拐点，但实际上更重要。征服了这一点的人除了掌握编程的基础知识和解决复杂编码挑战的深度知识外，还掌握了他们正在使用的编程语言。

最终真正重要的是：

您对 Web 开发框架有扎实的掌握

您对使用任何编程语言编写算法复杂的代码都有扎实的把握

Copy
对于每一节课，尝试做一些超出您正在学习的教程范围的事情。如果您正在学习的教程提供“挑战”或“自主”部分，请完成所有这些。解决无人指导的挑战将为您提供在没有结构化指导的情况下做事的重要经验。
尽量少用教程。
在某实验室中，老师经常引导学生了解如何集成某些 gem 或使用提供的文档做事。许多学生不会简单地遵循针对刚起步的人的教程中解释的说明，而是会遵循文档并将教程用作备份。舒适地阅读和关注 GitHub 上的文档将使您在独自一人时有所帮助。
专注于要点并使用重复。了解如何做一些常见的事情，例如从头开始启动应用程序、将新应用程序推送到 GitHub 和 Heroku，以及尽早构建数据库迁移。
推动拐点可能具有挑战性。以下是帮助您完成它的一些提示：

明白这是一个艰难的过程，对自己放轻松。此外，设定切合实际的期望。您无法将“超人”级的学习教程速度与“蜗牛”级的自学速度进行比较。请记住，您正在学习很多东西，但在这个阶段，您正在学习一种全新的技能，即自己解决新问题。
如果您正在与自信作斗争，请知道您的感受是完全正常的。继续工作。如果您继续挣扎，请尝试与最近通过拐点的人交谈。他们将能够理解你所处的位置，并向你保证你所经历的只是暂时的。始终如一地工作，但不要让自己过度劳累。在游戏的这个阶段，要知道您每天最多只能工作 6 个小时左右。在精疲力竭的状态下工作只会延长你为达到拐点所花费的时间。
在这个阶段获得自信的最好方法是克服你的任何疑虑。您的情绪可能开始感觉像坐过山车。有时，您会觉得自己火上浇油，但在为同一个问题苦苦挣扎 15 个小时之后，通常会出现截然相反的感觉。

不知道某件事会花费您 5 分钟还是 5 小时可能会令人沮丧，但每次您成功完成并成功实施一项新功能时，信心的涌动将是您所需要的一切。在没有任何帮助的情况下解决了一些难题之后，你会沉迷于在舒适区之外建造东西的感觉。

如何知道拐点何时过去

拐点过程的最后阶段是接受。接受软件开发是一个不断学习的过程。接受你已经成功学会了一切的感觉意味着你应该开始考虑解决更复杂的问题。