自学成才翁_如何发挥自学成才的内在游戏
自学成才翁
by Victor Cassone
由Victor Cassone
如何发挥自学成才的内在游戏 (How to play the inner game of self-taught development)
Teaching yourself software development is hard. Anyone who tells you otherwise most likely hasn’t done it before.
自学软件开发非常困难。 告诉您的其他人很可能以前从未这样做过。
It’s a huge life commitment to go from newbie to career programmer. You have to sacrifice a lot to make it happen. There are many good reasons people quit. People usually don’t have the time or interest to put themselves through hours of watching tutorials or building demo sites.
从新手到职业程序员都是巨大的人生承诺。 您必须付出很多努力才能实现这一目标。 人们辞职的原因很多。 人们通常没有时间或兴趣来花费大量时间观看教程或建立演示站点。
After thinking about my own experiences, I feel like there is an aspect of self-taught development that people don’t talk about enough. I believe there is an internal game you need to learn how to play to be successful. The people who learn how to play and win this internal game are the ones who make it through to the other side.
在考虑了我自己的经历之后,我觉得人们在自学发展的一个方面还没有充分谈论。 我相信您需要学习一种内部游戏,以学习如何成功。 学习如何玩并赢得内部游戏的人是将其打通到另一边的人。
In this article, I’m going to describe the inner game of self-taught development and discuss how you can ultimately win.
在本文中,我将描述自学式开发的内在游戏,并讨论如何最终获胜。
难免是难免的 (Discomfort is unavoidable)
Anytime you learn something new, you have to step outside your comfort zone and try things beyond your current abilities. From an evolutionary point of view, this makes sense. Breaking habits are dangerous because doing something new can put us in a situation where our survival is at risk.
每当您学到新东西时,都必须走出舒适区,尝试超出当前能力范围的事情。 从进化的角度来看,这是有道理的。 坏习惯很危险,因为做一些新的事情会使我们处于生存危险的境地。
As a result, discomfort is not optional when learning something new, it’s a requirement.
因此,在学习新知识时,不适感不是可有可无的,这是必需的。
Self-taught programmers experience the worst of it. In other learning environments, you have a coach or other peers to help you through the discomfort. However, teaching yourself programming often happens in isolation. Self-taught programmers are required to learn how to deal with the discomfort on their own. You are required to be the coach, student, and cheerleader, all at the same time.
自学成才的程序员会遇到最糟糕的情况。 在其他学习环境中,您可以请教练或其他同伴来帮助您度过难关。 但是,自学编程通常是孤立进行的。 自学成才的程序员需要学习如何自行解决不适。 您必须同时成为教练,学生和啦啦队长。
Learning programming can be an especially uncomfortable experience because it’s often a non-linear learning process. There are times where you feel like you are at the same skill level for days or even weeks. You’re still learning little bits of information but there are no signs of tangible progress. While teaching myself Android development, I vividly remember being helplessly stuck for over a week trying to set up and query my database.
学习编程可能会特别令人不舒服,因为它通常是一个非线性的学习过程。 有时您会感觉自己几天甚至几周都处于同一技能水平。 您仍在学习一些信息,但是没有明显进展的迹象。 在自学Android开发的过程中,我生动地记得自己在尝试建立和查询数据库方面无奈地停留了一个多星期。
I like to compare the learning process to doing a 10,000 piece puzzle without a picture to guide you. Even if you find a few subsections that link up, it takes a lot of time and energy to figure out how it all goes together.
我喜欢将学习过程与制作10,000张拼图的过程进行比较,而没有图片来指导您。 即使您找到了几个相互联系的小节,也要花费大量的时间和精力才能弄清楚它们是如何结合在一起的。
On top of all of this, there isn’t a guarantee that the skills you are developing will give you a future pay-out. The app you are trying to make might not be good enough or the job you are hoping to land might not be there when you are ready. Self-doubt creeps in and you start asking yourself “Is this worth it?”
最重要的是,不能保证您所开发的技能会为您带来未来的收益。 当您准备就绪时,您尝试制作的应用程序可能不够好,或者您希望找到的工作可能不存在。 自我怀疑开始蔓延,您开始自问:“这值得吗?”
内部游戏 (The internal game)
The internal pressures stated above, among others, are constantly working against you, making the learning process harder. These opposing forces set the stage for what I like to think of as the inner game of self-taught development.
上面提到的内部压力以及其他一些因素一直在困扰着您,使学习过程更加困难。 这些对立的力量为我想作为自学成才的内在游戏奠定了基础。
Since every game needs an opponent, the opponent of this game is best summarized by what Steven Pressfield, author of The War of Art, calls Resistance.
由于每场比赛都需要一个对手,因此《艺术大战》的作者史蒂芬·普雷斯菲尔德(Steven Pressfield)称之为抵抗就是最好的总结。
Resistance cannot be seen, touched, heard, or smelled. But it can be felt. We experience it as an energy field radiating from a work-in-potential. It’s a repelling force. It’s negative. Its aim is to shove us away, distract us, prevent us from doing our work - The War of Art by Steven Pressfield
无法看到,触摸,听到或闻到阻力。 但是可以感觉到。 我们将其视为由潜能辐射出的能量场。 这是一种排斥力。 这是负面的。 其目的是将我们推开,分散我们的注意力,阻止我们开展工作-史蒂芬·普雷斯菲尔德(Steven Pressfield)的《艺术之战》
The ultimate goal of Resistance is to keep you out of ‘danger’ and in your comfort zone. It doesn’t want you to progress in your life because progress cannot happen without risk.
抵抗运动的最终目标是使您远离“危险”并保持舒适。 它不希望您的生活有所进步,因为没有风险就不可能取得进步。
This is why Resistance finds such a good friend in the learning process.
这就是抵抗运动在学习过程中找到如此好朋友的原因。
It’s not a stretch to say everyone reading this knows exactly what Resistance feels like. It’s that feeling you get when you know you have something important to do but just can’t seem to make it off the couch.
说每个阅读此书的人都确切地知道抵抗运动的感觉并不是什么意思。 当您知道自己有重要的事情要做但似乎无法摆脱困境时,就会有一种感觉。
The feeling itself isn’t the dangerous part, it’s how we act in response to it. Resistance will never show its face directly. Rather, it will manifest through other means. You might be familiar with some of its greatest hits. ?
感觉本身不是危险的部分,而是我们对此做出React的方式。 抵抗永远不会直接露面。 相反,它将通过其他方式体现出来。 您可能对它的一些最热门唱片很熟悉。 ?
1) Binging Netflix
1)必应Netflix
2) Self-doubt
2)自我怀疑
3) Procrastination
3)拖延
4) Happy hour
4)欢乐时光
5) This article
5)本文
These things are harmless on their own. The danger comes from letting Resistance win for multiple days in a row. If it wins too often, you will find yourself giving up and back where you started.
这些东西本身无害。 危险来自让抵抗军连续多日获胜。 如果获胜次数太多,您会发现自己放弃了,回到了起点。
你怎么赢? (How do you win?)
Here’s the catch. You will never fully beat your internal opponent. Resistance will always be with you trying to distract you from the important work. Important work is something new and different and Resistance hates the new and different.
抓住了。 您永远不会完全击败内部对手。 抵抗将永远伴随着您,试图分散您对重要工作的注意力。 重要的工作是新的和不同的,而抵抗运动讨厌新的和不同的东西。
Which brings me to my original point. The people who successfully teach themselves programming have accepted the permanence of this internal opponent and have learned how to play the internal game anew each and every day.
这使我回到了原来的观点。 成功地自学编程的人已经接受了这个内部对手的力量,并学会了每天如何重新玩内部游戏。
Steven Pressfield says it best,
史蒂芬·普雷斯菲尔德(Steven Pressfield)说得最好,
“I feel it in my guts. I afford it the utmost respect, because I know it can defeat me on any given day as easily as the need for a drink can overcome an alcoholic”
“我的内心感到如此。 我对此表示最大的敬意,因为我知道它可以在任何一天打败我,就像喝酒可以克服酒精中毒一样容易。”
Unfortunately, there is no easy strategy to winning this game. However, there are a few things you can do to increase your odds.
不幸的是,没有简单的策略来赢得这场比赛。 但是,您可以采取一些措施来增加赔率。
认识你的敌人 (Know thy enemy)
Don’t just be aware of what Resistance feels like. Also be aware of all the different ways Resistance will manifest. As stated above, it’s not always obvious.
不要只知道抵抗运动的感觉。 还要注意抵抗将表现出的所有不同方式。 如上所述,这并不总是显而易见的。
Again, as Steven Pressfield says,
再一次,正如史蒂芬·普雷斯菲尔德(Steven Pressfield)所说,
I’m keenly aware of the Principle of Priority, which states (a) you must know the difference between what is urgent and what is important, and (b) you must do what’s important first.
我敏锐地意识到优先原则,该原则指出(a)您必须知道紧迫和重要之间的区别,以及(b)您必须首先做重要的事情。
The best way to identify Resistance is to be mindful of the root causes of your actions. For example, if you find yourself cleaning your apartment for no great reason, stop and ask yourself why cleaning right now is important. Once you think about it rationally the true reason usually shows itself (and you’ll realize your apartment is probably not that dirty).
识别抵制的最佳方法是牢记行为的根本原因。 例如,如果您发现自己没有理由打扫公寓,请停下来问自己为什么现在打扫很重要。 一旦您对它进行了合理的思考,通常就会显示出真正的原因(并且您会意识到自己的公寓可能并不那么脏)。
Keep your third eye strong and always be on the look-out. The more you notice the ways Resistance manifests itself, the more ready you will be to combat it.
保持第三只眼强壮,并始终保持警惕。 您越注意到抵抗力量的表现方式,您就越会准备好进行抵抗。
Remember, anything that is keeping you from your important work, that’s not urgent, is most likely the work of Resistance.
请记住,任何使您无法进行重要工作的事情(并不紧急)很可能是抵抗运动的工作。
价值一致性胜过激情 (Value Consistency over Passion)
Passion is great. Don’t get me wrong. But passion is short lived. It’s like a sugar rush. The highs are high but there will always be a crash. Maintaining high passion over a long period of time is difficult and draining.
热情很好。 不要误会我的意思。 但是激情是短暂的。 这就像抢糖。 高点很高,但总会崩溃。 长时间保持高度热情是很困难的,而且很费力。
As Steven Pressfield puts it,
正如史蒂文·普雷斯菲尔德(Steven Pressfield)所说,
Resistance outwits the amateur with the oldest trick in the book: It uses his own enthusiasm against him. Resistance gets us to plunge into a project with an overambitious and unrealistic timetable for its completion. It knows we can’t sustain that level of intensity. We will hit the wall. We will crash.
抵抗力以书中最古老的技巧胜过业余爱好者:它利用了自己对他的热情。 抵制使我们陷入了一个雄心勃勃,不切实际的时间表完成项目。 它知道我们无法维持这种强度水平。 我们将撞墙。 我们会崩溃的。
Resistance actually likes passion and will use it against you. You will find yourself saying stuff like, “I don’t feel as passionate as I did yesterday. I should take it easy.” Resistance - 1, You - 0.
抵抗实际上喜欢激情,并且会用它来对抗你。 您会发现自己说的是:“我不像昨天那样充满激情。 我应该放心。” 抵抗-1,你-0。
The better strategy is to value consistency over passion. Consistency allows you to find freedom through discipline.
更好的策略是重视一致性而不是热情。 一致性使您可以通过纪律找到自由。
Rome wasn’t built in a day, it was built brick by brick. I know, I know it’s cliché, but it’s true. It takes time and patience to learn how to become a software developer. Knowledge and skill aren’t things you can just upload to your brain. You need to apply consistent pressure to make new things stick.
罗马不是一天建成的,而是一砖一瓦地建造的。 我知道,我知道这是陈词滥调,但这是真的。 学习如何成为软件开发人员需要时间和耐心。 知识和技能不是您可以上传到大脑的东西。 您需要施加持续的压力才能使新事物得以坚持。
Habits are one of the most powerful tools humans possess. They allow you to automatically do things without having to think about it. Resistance hates habits.
习惯是人类拥有的最强大的工具之一。 它们使您无需思考即可自动执行操作。 反抗讨厌习惯。
Resistance wants to you to think. It wants you to sit there and consider all the other things you could be doing. But don’t do it. If you develop a good study routine, you can let your habits play the internal game for you.
抵抗要你思考。 它希望您坐在那里并考虑可能要做的所有其他事情。 但是不要这样做。 如果您养成良好的学习习惯,则可以让自己的习惯为您发挥内部作用。
结论 (Conclusion)
If you truly want to succeed, you will need to embrace the tough reality of the self-taught programmer. Be ready each and every day for whatever Resistance throws at you. Be aware of its tricks and keep the strategies from above in mind.
如果您真的想成功,那么您将需要接受自学成才的程序员的艰难现实。 每天都要做好准备,以抵抗抵抗运动对您的打击。 注意其技巧,并牢记从上而下的策略。
The game isn’t easy, but it’s winnable. We are all capable of winning this internal game because we all already have in some capacity of our lives.
游戏并不容易,但可以赢。 我们都有能力赢得这场内部比赛,因为我们已经拥有一定的生活能力。
So suit up, dig in, and be ready each day for whatever comes at you.
因此,每天都要着装,深入研究并做好准备,以应付您遇到的一切。
Did you enjoy this article? Sign up for my email list to receive similar content.
你喜欢这篇文章吗? 注册我的电子邮件列表以接收类似的内容。
翻译自: https://www.freecodecamp.org/news/how-to-play-the-inner-game-of-self-taught-development-a3a6716b2c6f/
自学成才翁
相关文章:

C语言回溯算法解决N皇后问题
回溯算法的模型是 x, not satisfy ? x-- : continue. 代码中x作列号,y[x]保存第x列上皇后放置的位置。 1 #include<stdio.h>2 #include<math.h>3 #define N 54 int position_check(int,int*);5 void print_board(int count,int* y);6 int main()7 {8 …

React 创建组件 使用组件 2
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 组件: 通过组件,可以将UI拆分成独立的,可重复使用的部分,从概念上讲,组件就像javaScript函数,它们接受任意输入(称之为…

如何征服Webpack 4并构建一个出色的React应用
This article has been outdated with the new release for babel, kindly check the updated article “How to combine Webpack 4 and Babel 7 to create a fantastic React app”, last updated October 13th, 2018本文与babel的新版本已经过时,请查看更新的文章…

React State和生命周期 3
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 一:组件的生命周期 组件的生命周期可分成三个状态: 安装:已插入真实DOM更新:正在被重新渲染卸载:已移出真实DOM 生命周期的方法有:…

TCP/IP 笔记 1.3 IP:网际协议
---恢复内容开始--- I P是T C P / I P协议族中最为核心的协议。所有的 T C P、U D P、I C M P及I G M P数据都以I P数据报格式传输。 不可靠( u n r e l i a b l e)的意思是它不能保证 I P数据报能成功地到达目的地。 I P仅提供最好的传输服务。如果发生某种错误时ÿ…

keras bi-lstm_LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels
keras bi-lstmby Megan Risdal梅根里斯达尔(Megan Risdal) LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels (An applied introduction to LSTMs for text generation — using Keras and GPU-enabled Kaggle Kernels) Kaggle recently gave data scientists …

201521123013 《Java程序设计》第13周学习总结
1. 本周学习总结 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ping值不同(time列),cec.jmu.edu.cn的ping值比较小。ping值&am…

React 事件 4
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 将参数传递给事件处理程序 在循环内部,通常需要将额外的参数传递给事件处理程序。例如,如果id是行ID,则以下任何一个都可以工作: <button onClick{(e…

border-radius
周知:OPPO R819T Android 4.2.1和红米某些机型上,webview中,如果一个元素定义了 border border-radius,这时如果该元素有背景,那么背景将会溢出圆角之外,Yo新增了一个方法来fix这个问题,大家之…

javascript调试_如何提高JavaScript调试技能
javascript调试Almost all software developers who have written even a few lines of code for the Web have had at least a quick glance at JavaScript. After all, it is currently one of the most in-demand programming languages.几乎所有甚至为Web编写了几行代码的软…

Java transient
原文出自:http://www.importnew.com/21517.html 1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的…

KBMMW 的日志管理器
kbmmw 4.82 最大的新特性就是增加了 日志管理器。 新的日志管理器实现了不同类型的日志、断言、异常处理、计时等功能。 首先。引用kbmMWLog.pas 单元后,系统就默认生成一个IkbmMWLog 实例: Log:IkbmMWLog; log 默认使用对应操作系统的日志功能。 为了能…

React 循环渲染 5
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 使用循环渲染的demo: const todoItems todos.map((todo) ><li key{todo.id}>{todo.text}</li> ); const todoItems todos.map((todo, index) >// Only do this if item…

面试时与人事交谈时间_如何与您的技术负责人交谈并解决通讯故障
面试时与人事交谈时间by Greg Sabo由格雷格萨博(Greg Sabo) 如何与您的技术负责人交谈并解决通讯故障 (How to talk to your tech lead and fix your communication glitches) Here’s where you messed up.这是你搞砸的地方。 Your tech lead told you to build out a new A…

inotify简介
一、inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系统的变化如文件修改、新增、删除等,并…

链路层寻址与 ARP
一、 MAC 地址 不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。 然而,链路层交换机并不具有与它们接口相关联的…

React 开始制作 6
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 从模拟开始 第1步:将UI分解为组件层次结构 不同的颜色为不同的组件, 第2步:在React中构建静态版本 第3步:确定UI状态的最小(但完整ÿ…

php 空间类元素引入_引入单元素模式
php 空间类元素引入by Diego Haz迭戈哈兹(Diego Haz) 引入单元素模式 (Introducing the Single Element Pattern) 使用React和其他基于组件的库创建可靠的构建基块的规则和最佳实践。 (Rules and best practices for creating reliable building blocks with React and other …
Tcl学习之--列表|字典
【列表|字典】Tcl使用列表来处理各种集合,比方一个目录中的全部文件,以及一个组件的全部选项。最简单的列表就是包括由随意个空格、制表符、换行符、分隔的随意多个元素的字符串。比方: JerryAlice Mandy David l lindex命令: --> 获取元素 至少须要…

JAVA代码实现下载单个文件,和下载打包文件
//下载单个文件调用方法 /** * response * imgPath 下载图片地址 * fileName 保存下载文件名称 * date 2015年4月14日 下午5:53:24 */ public static void download(HttpServletResponse response,String imgPath,String fileName){ OutputStrea…

php读取本地xlsx格式文件的数据并按json格式返回
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 目的:php读取并操作本地xlsx格式的文件; 完整示例代码: 代码讲解:前端发起post网络请求,php接收一个name(姓名)的参数…

面向对象编程概念_如何向6岁的孩子解释面向对象的编程概念
面向对象编程概念by Alexander Petkov通过亚历山大佩特科夫(Alexander Petkov) Have you noticed how the same cliche questions always get asked at job interviews — over and over again?您是否注意到在求职面试中总是一遍又一遍地问同样的陈词滥调问题? I…

jQuery 属性
jQuery 属性 方法描述context在版本 1.10 中被废弃。包含被传递到 jQuery 的原始上下文jquery包含 jQuery 的版本号jQuery.fx.interval改变以毫秒计的动画运行速率jQuery.fx.off对所有动画进行全局禁用或启用jQuery.support包含表示不同浏览器特性或漏洞的属性集(主…

mongodb的几种启动方法
1 mongodb的几种启动方法 启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的path是mongodb部署的实际地址。1. 最简单的启动方式…

php 修改数据库表的字段的值
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 php 前端传递参数,遍历数据库表的字段后根据条件进行修改。 <?phpheader("Content-Type:text/html;charsetutf8"); header("Access-Control-Allow-Origin: *"); //解…

如何开始使用PostgreSQL
by Akul Tomar通过Akul Tomar 如何开始使用PostgreSQL (How to get started with PostgreSQL) PostgreSQL is an open source Relational Database Management System (RDBMS). In this article, I’ll provide an introduction to getting started with PostgreSQL. Here is …

Java中数组常见的几种排序方法!
数组的定义: int[] arr new int[5];int[] arr1 {1,2,3,4,5};long[] arr2 new long[6];String[] strs new String[5];Person[] ps new Person[5]; 数组的操作: int[] arr {45, 34, 53, 43};Arrays.sort(arr);System.out.println(Arrays.toString(ar…

oracle 如何预估将要创建的索引的大小
一.1 oracle 如何预估将要创建的索引的大小 oracle 提供了2种可以预估将要创建的索引大小的办法: ① 利用包 Dbms_space.create_index_cost 直接得到 ② 利用11g新特性 Note raised when explain plan for create index 下边分别举例说明。 一.2 环境说明 [ora…

删除对象的某个属性
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 实现代码: var data {a:1,b:2,c:3}for(var item in data){if (item b) {delete data[item];} }console.log(data:, data) 打印结果: data: {a: 1, c: 3}

java 学到什么实习_我如何获得外展实习机会以及到目前为止所学到的知识
java 学到什么实习by Nguedia Adele由Nguedia Adele 我如何获得外展实习机会以及到目前为止所学到的知识 (How I got my Outreachy internship and what I’ve learned so far) I recently got accepted for an Outreachy internship, working with LibreHealth.我最近接受了与…