圣诞颂歌 结构
by Linea Brink Andersen
通过Linea Brink Andersen
颂歌教程-或者,我如何重新获得动力 (Ode to the tutorial — or, how I regained my motivation)
The internet is full of well-meaning advice for people learning to code. There are tons of blog-posts with recipes for success.
互联网上充满了对学习编码的人们的有益建议。 有大量的成功秘诀的博客文章。
One piece of advice I have seen a lot lately is: “Build something.” It often comes together with a warning: “Don’t get stuck with tutorials.” The essence seems to be: Building, good. Tutorials, bad!
我最近看到的一条建议是:“建造一些东西。” 它通常带有警告:“不要卡在教程中。” 本质似乎是:建筑,好。 教程,不好!
I had internalized this advice. I was living by it myself, and passing it on to others. I started building “real” things, not “just” things from tutorials. And it was awesome. You can read about the open source project I recently started. But building stuff was not all smooth sailing.
我已经内化了这个建议。 我自己靠它生活,然后将它传递给其他人。 我开始从教程中构建“真实”事物,而不是“公正”事物。 太棒了。 您可以阅读有关我最近开始的开源项目的信息 。 但是建造东西并不是一帆风顺的。
被卡住 (Getting stuck)
For the last couple of weeks, I have been working on a silly little project that generates random band names following certain patterns. I wanted it to be a web-app, and I had a very particular idea about how it was supposed to look. I have little to no experience with front-end and web development. The name generator required both, so I figured that building it would be a good way to learn.
在过去的几周中,我一直在从事一个愚蠢的小项目,该项目会按照某些模式生成随机的乐队名称。 我希望它是一个网络应用程序,并且对它的外观有一个非常特殊的想法。 我在前端和Web开发方面几乎没有经验。 名称生成器同时需要这两个名称,因此我认为构建它是学习的好方法。
However, my focus on building was causing me not to build anything at all. With my pre-existing skills, a lot of googling, and a touch of stubbornness, I was getting pretty far with the name generator. But not far enough. I kept running into walls. Most of the time, I could get myself across the wall with a lot of work. But before I knew it, I was facing yet another wall.
但是,我对建筑的关注使我什么都不做。 凭借我先前的技能,大量的谷歌搜索以及一些固执,我对名称生成器的了解已远远超过了。 但是还不够。 我一直撞墙。 在大多数情况下,我可以通过大量工作来使自己陷入困境。 但是在我不知道之前,我面对着另一堵墙。
Suddenly, I wasn’t coding anymore. I had to take a few days away from code because I was busy with midterms. But when midterms were over, and I had time on my hands again, I still wasn’t coding. I was making all sorts of excuses for why I would start tomorrow.
突然,我不再编码了。 因为我忙于期中考试,所以我不得不离开代码几天。 但是当期中考试结束了,而我又有时间了,我仍然没有编写代码。 我为明天为什么要开始做各种借口。
Tomorrow became the next day, and the next day, and the next day, and a week had passed, and I was still not coding. Just a few weeks prior you could barely pull me away from the screen. I had been spending all my free time coding. And now — I was avoiding it.
明天变成了第二天,第二天,第二天和一个星期,而我仍然没有编码。 就在几周前,您几乎无法将我从屏幕上拉开。 我一直把所有的空闲时间都花在编码上。 而现在-我正在回避它。
回到源头 (Back to the source)
That’s when I realized — constantly running into walls was demotivating me. I had to do something different. My obsession with building was keeping me from progressing. Sure, when I ran into a problem, I could work to get myself unstuck. But I was solving small isolated problems. I needed to understand how all the individual pieces I was working on were going to fit together. I needed a bigger picture.
那时我才意识到-不断撞墙使我受挫。 我不得不做些不同的事情。 我对建筑的痴迷使我无法进步。 当然,当我遇到问题时,我可以努力让自己摆脱困境。 但是我正在解决一些孤立的小问题。 我需要了解我正在处理的所有各个部分如何组合在一起。 我需要更大的画面。
I found this tutorial online. It is a solid introduction to web development using Flask. The tutorial walked me through building a microblog. It was pretty interesting in itself, but I also saw many ways that I could use what I learned in my name generator, when I return to it.
我在网上找到了本教程 。 它是使用Flask进行Web开发的扎实介绍。 本教程引导我完成了建立微博的过程。 它本身很有趣,但是当我返回名称生成器时,我也看到了许多可以使用在名称生成器中学习的方法。
To get started, I had to shut out that voice inside my head that said: “You’ll learn so much more from building your own project, instead of passively following a tutorial.” In the end, for me, it wasn’t true — I wasn’t really learning anything from building, because I was doing all I could to avoid having to try. I needed to get my motivation back, and the tutorial was helping me do just that.
首先,我必须将头脑中的声音遮住:“您将从构建自己的项目中学到很多东西,而不是被动地跟随教程。” 最后,对我来说,这不是真的-我并没有从构建中学到任何东西,因为我正在尽我所能避免尝试。 我需要重新找回动力,本教程正帮助我做到这一点。
平衡是关键 (Balance is key)
I still believe that building my own projects is an important part of becoming a better programmer. But for me, building works best as a way to crystalize knowledge I already have. Sometimes I will learn something new in that process, but it is not the main focus. It is very satisfying to see how well I have understood something after studying it and then explore all the things I can do with my new skills. But when I need to learn something new, I prefer getting an overview.
我仍然相信建立自己的项目是成为更好的程序员的重要组成部分。 但是对我来说,构建是最有效的方法,可以使我已经拥有的知识得以结晶。 有时,我会在此过程中学习一些新知识,但这不是主要重点。 很高兴看到我对某事有所了解,然后再探索用我的新技能可以做的所有事情。 但是当我需要学习新知识时,我更喜欢获得概述。
By working through tutorials, I gain a surface understanding and an overview of the new skills I am trying to learn, and I see examples of how other people are applying them.
通过阅读教程,我获得了对我尝试学习的新技能的表面理解和概述,并且看到了其他人如何应用这些技能的示例。
There are many ups and downs when learning to code. Next time a lack of motivation hits (I am sure it will happen again), I will use it as an opportunity to step back and reflect. Do I need to change something? Is there a reason why I keep getting stuck? Is there some gap in my skills, and how can I best fill it?
学习编码时有很多风风雨雨。 下次缺乏动力时(我相信它会再次发生),我将以此为契机后退并反思。 我需要改变一些东西吗? 我为什么会一直卡住? 我的技能是否存在一些差距,我该如何最好地弥补?
Shifting between the two different approaches, building and working through tutorials, I hope I can stay motivated and keep getting better and better. Building is not better or more important.
我希望在两种不同的方法之间切换,构建和学习教程,希望我能保持动力并不断进步。 建设不是更好或更重要。
Sure, doing tutorials might be passive learning, but it is also about gearing up and learning new skills I can apply later when building. It is all part of the process.
当然,进行教程可能是被动学习,但这也与准备和学习以后在构建时可以应用的新技能有关。 这是整个过程的一部分。
翻译自: https://www.freecodecamp.org/news/ode-to-the-tutorial-or-how-i-regained-my-motivation-3ff142ea0237/
圣诞颂歌 结构