新胭脂扣 炼狱

by Tony Mastrorio

托尼·马斯特罗里奥(Tony Mastrorio)

如何逃脱作为新开发人员的炼狱教程-或在您的职业生涯中的任何时候。 (How to escape tutorial purgatory as a new developer — or at any time in your career.)

For a long time I held off from starting my own side projects because of how much I didn’t know how to do.

很长一段时间以来,由于我不知道该怎么做,所以我开始进行自己的副项目。

For every project I could think of, there were several features I had absolutely no idea how to build. I would always ask myself how I could start working on something when I didn’t even know half of what it took to finish it. I was convinced I needed to learn more before I could build anything of my own.

对于我能想到的每个项目,都有一些我完全不知道如何构建的功能。 我总是问自己,当我什至不知道完成某件事需要花费一半的时间时,我如何才能开始做某事。 我坚信我需要学习更多知识,然后才能构建自己的任何东西。

欢迎来到炼狱教程 (Welcome to Tutorial Purgatory)

So, instead of building my own projects, I got stuck in what I’ll call “tutorial purgatory.” Since I felt like I learned best this way, I read and watched every tutorial I could find that seemed interesting and that I thought might apply to my own projects one day. I spent month after month doing this, filling my nights with endless videos on YouTube, Udemy, and whatever other tutorial site I stumbled across. I learned a lot, and forgot nearly as much in the process.

因此,我没有建立自己的项目,而是陷入了所谓的“教学炼狱”。 由于我觉得自己是通过这种方式学得最好的,所以我阅读并观看了所有教程,发现它们似乎很有趣,并且我认为有一天可以应用于我自己的项目。 我花了一个月又一个月的时间,在YouTube,Udemy以及我偶然发现的其他任何教程网站上无休止的视频充斥着我的夜晚。 我学到了很多东西,在此过程中几乎忘了很多。

Don’t get me wrong. I love tutorials, and I think learning the basics from tutorials is a great way to get started. But if you’re not careful, you can end up spending way more time reading or watching tutorials than you really should.

不要误会我的意思。 我喜欢教程,我认为从教程中学习基础知识是入门的好方法。 但是,如果您不小心,最终可能会花更多的时间阅读或观看教程。

For example, when I was starting out, I purchased and watched The Web Developer Bootcamp on Udemy, consisting of 43 hours of video and covering topics such as HTML, CSS, Bootstrap, JavaScript, and jQuery. I thought the course was excellent, but when I was finished, I still didn’t feel ready to build my own projects.

例如,当我刚开始时,我购买并观看了Udemy上的The Web Developer Bootcamp ,其中包括43个小时的视频,内容涉及诸如HTML,CSS,Bootstrap,JavaScript和jQuery等主题。 我以为这门课程很棒,但是当我完成课程后,我仍然没有准备好建立自己的项目。

Instead, I went back and purchased The Complete Web Developer Course 2.0. I watched 30 more hours of video covering many of the same topics as the first course!

相反,我回去购买了The Complete Web Developer Course 2.0 。 我观看了30多个小时的视频,这些视频涵盖了与第一门课程相同的主题!

Why did I make this mistake? Truthfully, I think it’s because tutorials felt safe. With tutorials, you have someone telling you exactly what to do. And you feel like you’re learning a ton and being incredibly productive.

我为什么会犯这个错误? 说实话,我认为这是因为教程感到安全。 通过教程,您可以有人确切地告诉您该怎么做。 而且,您感觉自己正在学习大量知识并取得令人难以置信的生产力。

But in reality, if you’re going through tutorial after tutorial just for the sake of learning and not as part of a larger project you’re working on, you’re probably learning a lot less than you think.

但是实际上,如果您只是为了学习而进行一个接一个的教程,而不是作为您正在从事的大型项目的一部分,那么您学习的内容可能比您想像的要少得多。

没有指示,没有问题 (No Instructions, No Problem)

Eventually, I came to realize that I needed to stop watching tutorials, abandon my comfort zone, and build a project on my own, without all the instructions neatly laid out for me.

最终,我意识到我需要停止观看教程,放弃自己的舒适地带并自己建立一个项目,而没有为我整洁地安排所有说明。

I decided to build a website like Stack Overflow, where users could sign up for an account, post questions, answer questions, add comments, and even embed videos directly into their posts.

我决定建立一个类似Stack Overflow的网站,用户可以在其中注册一个帐户,发布问题,回答问题,添加评论,甚至直接将视频嵌入他们的帖子中。

It seemed like an ambitious project, but I didn’t care. I wanted to build something that would challenge me. And since I had recently started learning Ruby on Rails, and was really enjoying it, I settled on Rails as the framework for my side project.

这似乎是一个雄心勃勃的项目,但我不在乎。 我想建立一些可以挑战我的东西。 自从我最近开始学习Ruby on Rails并非常享受它以来,我就选择了Rails作为我的副项目的框架。

There was so much I didn’t know how to do when I began that first project (just as there’s still so much I don’t know how to do with every project I begin). I didn’t know how to build an authorization system, implement pagination, or use AJAX in a Rails app. I didn’t know how to use recursion to implement a comment system. In fact, I didn’t even know what recursion was!

当我开始第一个项目时,有太多我不知道该怎么做(就像仍然有很多东西,我不知道如何与我开始的每个项目一样)。 我不知道如何在Rails应用程序中构建授权系统,实现分页或使用AJAX。 我不知道如何使用递归来实现评论系统。 实际上,我什至不知道递归是什么!

从您所知道的开始 (Start With What You Know)

But it didn’t matter. I didn’t think about all the things I didn’t know how to do. Instead, I started with what I knew, and I figured out the rest along the way.

但这没关系。 我没有考虑过所有我不知道该怎么做的事情。 取而代之的是,我从所了解的内容入手,然后找出了其余的方法。

Google became my best friend. It led me to the Devise and oAuth Rails gems, which I would combine to create my authorization system. Devise would allow my users to create new accounts and login, and oAuth would give them the option to login using their existing Google or Facebook accounts.

Google成为我最好的朋友。 它使我想到了Devise和oAuth Rails gem,可以结合使用它们来创建我的授权系统。 Devise将允许我的用户创建新帐户并登录,而oAuth将为他们提供使用其现有Google或Facebook帐户登录的选项。

First, I learned a little bit about each of the gems by reading their documentation, and then I Googled to find out how I could use them together. My search led me to this great article, which walked me through the process step by step, and in a matter of hours my authorization problem was solved.

首先,通过阅读它们的文档,我对每个宝石有了一点了解,然后我通过Google搜索了如何一起使用它们。 通过搜索,我找到了这篇很棒的文章 ,它逐步引导我完成了整个过程,并在几个小时内解决了我的授权问题。

When I got stuck on something, I poured over Stack Overflow questions and answers and searched for articles and tutorials to get me through. I still use tutorials all the time, but now I only use them to learn something I’m going to immediately apply to a project.

当我陷入困境时,我倾倒了Stack Overflow的问题和答案,并搜索了文章和教程来使我顺利通过。 我仍然一直在使用教程,但是现在我仅使用它们来学习我将立即应用于项目的内容。

可以寻求帮助 (It’s Okay to Ask For Help)

In the rare event that I couldn’t find the answers I needed through these channels, I asked for help on Stack Overflow. Some of my questions even got answered, like this one, where I asked for help after struggling for countless hours with nested comments.

在极少数情况下,我无法通过这些渠道找到所需的答案,我向Stack Overflow寻求帮助。 我的一些问题甚至都得到了回答,例如这个问题 ,在经过数小时的嵌套评论苦苦挣扎之后,我寻求帮助。

Although none of the answers solved my problem on their own, they provided little hints and helped me continue forward until I found the solution. I learned that Stack Overflow isn’t as scary as it seems, and everyone needs help from time to time.

尽管没有一个答案可以单独解决我的问题,但它们并没有提供任何提示,并帮助我继续前进,直到找到解决方案为止。 我了解到Stack Overflow并没有看上去那么可怕,每个人都需要不时的帮助。

My code from that first project isn’t pretty. It’s not DRY. It needs some refactoring, and there are probably a lot more efficient ways I could have done several things. There are also some things I did in that project that I didn’t even fully understand. But it doesn’t matter. I built something non-trivial that actually worked, and I did it without following a set of instructions.

我在第一个项目中得到的代码并不漂亮。 不是干的。 它需要一些重构,并且可能有很多更有效的方法可以完成几件事。 我在该项目中做过的一些事情我什至没有完全理解。 但这没关系。 我构建了一些确实有用的非平凡的东西,并且我没有遵循一组说明就做到了。

I learned more from doing that first project than I learned in the preceding year spent on tutorials. Most importantly, I learned the skills I really needed to succeed as a developer. I taught myself how to problem solve and hack code together, and I got to enjoy the wonderful satisfaction of actually shipping something I built myself for the first time. It didn’t matter that it didn’t have any users or that the design wasn’t that great. Just the act of building something of my own was transformational.

通过执行第一个项目,我学到的东西比前一年花在教程上的东西要多。 最重要的是,我学习了成为一名开发人员成功所需的技能。 我自学了如何一起解决问题和破解代码,并且第一次真正交付自己构建的东西时,我感到非常满意。 它没有任何用户或设计不是那么好都没关系。 仅仅建立自己的东西的行为是具有变革性的。

You’re never going to know how to do everything (nobody does), and you’re always going to need to look things up on the internet (everyone does). Don’t let that stop you from just diving in and building stuff.

您永远不会知道如何做所有事情(没人会做),并且您总是需要在Internet上查找事物(每个人都做)。 不要让那阻止您仅仅潜入并建造东西。

Tony Mastrorio is a co-founder of Whiteboardfree.com, a jobs site for tech companies that don’t use whiteboard interviews in their hiring process.

托尼·马斯特罗里奥(Tony Mastrorio)是Whiteboardfree.com的联合创始人,该网站是面向那些在招聘过程中不使用白板面试的科技公司的招聘网站。

翻译自: https://www.freecodecamp.org/news/how-to-escape-tutorial-purgatory-as-a-new-developer-or-at-any-time-in-your-career-e3a4b2384a40/

新胭脂扣 炼狱

新胭脂扣 炼狱_如何逃脱作为新开发人员的炼狱教程-或在您的职业生涯中的任何时候。...相关推荐

  1. 小程序开发 宽度100%_这是您作为开发人员可以实现100%年度目标的方式

    小程序开发 宽度100% by Prateek Phoenix 通过Prateek Phoenix 这是您作为开发人员可以实现100%年度目标的方式 (Here's How You, as a Dev ...

  2. ikea营销_用于企业的AI开发人员工具存在的问题(以及IKEA与之相关的问题)

    ikea营销 Over a year ago I shared my thoughts on why most startups that focused on deep learning tools ...

  3. 学java 开发会掉头_作为一个全新的开发人员,我会学到什么

    学java 开发会掉头 重点 (Top highlight) It's been five years since I learned to code and changed careers. 自从我 ...

  4. 初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎

    初级开发人员的缺点 by Syeda Aimen Batool 通过Syeda Aimen Batool 作为一名初级开发人员,我如何努力克服自己的挣扎 (How I'm working to ove ...

  5. 前端分离的前端开发工具_使我成为前端开发人员工作的工具和资源

    前端分离的前端开发工具 Learning front-end development can be a bit overwhelming at times. There are so many res ...

  6. 初级开发人员的缺点_在您作为初级开发人员的第一年获得此建议

    初级开发人员的缺点 Are you a junior developer embarking on your software development career? 您是从事软件开发事业的初级开发人 ...

  7. web项目开发人员配比_我如何找到Web开发人员的第一份工作

    web项目开发人员配比 I have always had an interest in coding for the web. I built my first site almost 15 yea ...

  8. freelance平台_完整的Freelance Web开发人员指南:如何通过Freelance编程工作来赚钱

    freelance平台 It's common for developers to go the freelance route. This is true for many who have jus ...

  9. 知识图谱开发实战案例剖析_我从剖析Web开发人员路线图中学到的知识

    知识图谱开发实战案例剖析 by Nicole Archambault 妮可·阿坎巴特(Nicole Archambault) 我从剖析Web开发人员路线图中学到的知识 (What I learned ...

最新文章

  1. 零知识证明实践教程,第三部分
  2. @Component注解解析
  3. Python编程基础:第十八节 字典Dictionaries
  4. 2012年总结,2013年的计划
  5. [书目20080220]UML 2工具箱
  6. Java的5个古怪问题
  7. java mybatis 动态_Java-MyBatis:MyBatis 3 动态 SQL
  8. Executors介绍
  9. js获取文件的后缀名
  10. java实现简单QQ登录界面
  11. 【前端教程】如何监控网页崩溃?
  12. 微积分(一)——二重积分与三重积分笔记
  13. 【python】urlencode、quote、unquote
  14. 微信调整字体大小 html,H5禁止微信内置浏览器调整字体大小
  15. 键盘输入正六边形边长,输出对应的正六边形
  16. 笔记本自带键盘与IDEA快捷键冲突
  17. Android开发支付集成——微信集成
  18. java,jsp获取上一个访问页面URL
  19. Digital Ocean 搭建属于自己的网站
  20. c语言如何编写对数程序,在C语言中使用对数函数的方法

热门文章

  1. Linux面试题完整修订附加答案
  2. lv双肩包尺寸对照表_2016最有人气MONOGRAM LV双肩包有哪些颜色与尺寸-美丽包包网...
  3. java控制台打印输出 中文乱码 解决办法
  4. 【简书 DC谢老师】JMeter + jenkins + SVN 接口自动化之简单 demo​​​​​​​
  5. 【JAVA编程】根据年龄, 来打印出当前年龄的人是哪个阶段
  6. 爬虫百战穿山甲(3):全国高校的自我介绍,快来找找你的大学吧!!!
  7. dede采集插件自动采集文章图片自定义接口
  8. insmod: error inserting ‘./module1.ko‘: -1 Unknown symbol in module
  9. ad账户与linux集成,Ubuntu 通过ldap集成AD账号登录(nslcd方式)
  10. E5 调用API续订服务:Microsoft 365 E5 Renew X