心态变化以有效学习编码
学习编码是一段许多人梦想开始但在途中常常遇到挑战的旅程。成为软件开发者的道路不仅仅涉及教程和选择正确的编程语言。它也受到个人心态和学习方式的深刻影响。在本文中,我们将探讨一些能够显著改善你学习编程方式和自我发展的变革性心态转换。
无论你是从零开始还是已经接触编码,这些原则都可以为你的技术成长和个人发展做出贡献。
专注于实践,而非理论
第一个也是最重要的心态变化是专注于实践而非理论。演讲者开始分享他们最初对“10,000小时规则”的误解。该规则建议要掌握一项技能,你需要为其投入10,000小时。作为初学者程序员,他们认为这意味着在这些小时内阅读书籍、观看教程并尽可能多地消耗理论信息。然而,后来发现这实际上是适得其反的。
相反,他们提倡“10,000行代码”的方法。这种心态重视编码和构建项目,而不是被动地获取信息。通过积极地编写代码,即使一开始效率低下且容易出错,你也会不断进步。随着每一个里程碑——比如每千行代码——你的技能不断提高。
他们认为,编码是一种工艺,更像木工、演奏乐器或绘画,而不是学习法律或金融等信息密集领域。掌握技能来自于创造和完善,而不仅仅是记忆概念。
此外,专注于实践有助于避免臭名昭著的“教程地狱”陷阱。教程地狱发生在学习者无休止地跟随教程,而没有将知识应用于真实世界的项目,从而使他们在独立构建时显得准备不足。如果这段视频点赞达到一定数字,演讲者承诺会制作一个关于逃离教程地狱的单独指南。
自我就是敌人
下一个重要的心态变化是认识到自我就是你的敌人。当演讲者第一次开始学习编码时,他们的自我驱使他们去尝试雄心勃勃的项目,比如创建一个Facebook克隆或一个Reddit克隆。同时,他们却忽视了基本的基础项目,比如制作简单的HTML和CSS食谱网站。这些项目看似“低于他们的水平”——他们的自尊心坚持认为他们准备好处理高级主题了。
这种心态成为障碍。他们承认,如果当初能够放下自我,从基础开始,他们会进步得更快,并在更短的时间内成为一个合格的开发者。基础项目虽然看似简单,但对于理解关键原则和培养处理复杂应用所需的技能至关重要。
这里的教训是谦虚。作为初学者,接受你目前的技能水平至关重要。掌握基础知识不仅必要——它更是无价之宝。这个基础使你能够以清晰和自信的态度处理更复杂的问题。
适应不适
在软件工程中,不确定性是领域的一部分。这里的心态转变是要拥抱不适,并将其视为学习过程的一部分,而不是障碍。演讲者强调,作为一名专业开发者,你永远不会知道所有事情,这没关系。
你作为开发者的角色是“信息管理者”。你可能不会立刻有所有的答案,但你被期望最终能在你的领域内解决问题。这通常涉及研究、测试和寻找解决方案——一个自然包含怀疑或困惑片刻的过程。
与其抵抗这种不适,他们建议你要依赖于这种感觉。将每个挑战视为成长和学习新事物的机会。这种心态将程序编写中不可避免的挣扎转变为过程中的一个愉快部分。当你感到这种不适时,这表明你正在拓展自己的界限、提升自己并扩展能力。
例如,当面对不熟悉的概念或任务时,不要让初始的困惑打击你。把它当作一个激动人心的机会,深化你的知识和专业技能。这种心态转变不仅使旅程更加愉悦,还鼓励韧性——这是每位程序员必需的品质。
你永远无法掌握编程
[此部分在视频357秒时没有可用的图像。]
最后讨论的心态转变是意识到你永远不会真正“掌握”编程。演讲者指出,渴望成为开发者的人,尤其是初学者,往往会执着于“掌握”一门语言或概念的想法,然后再继续。他们可能会在完善对某个特定主题的理解上花费过多时间,比如CSS的flexbox,而在尝试用它构建一些东西之前。这种方法是有缺陷的。
更好的学习方式是迭代的。首先学习基础知识,然后在项目中应用它们。例如,在学习一个新概念,如flexbox时,不要试图在一开始就理解每一个细微之处,而是将其用于项目中。经过多次应用,你的理解会随着时间而自然加深。编程是一种工艺,而掌握来自于持续的实践、实验和迭代。
重要的是,当进入行业时,没人期待你是“大师”。对于初级开发者,公司寻找的是具备基础知识、愿意学习和具有成长毅力的人。在申请工作之前试图“掌握”编码技能是不必要且反直觉的。演讲者向渴望成为开发者的人保证,行业更看重适应能力和学习热情,而不是对特定编程概念的全面掌握。
他们强调,优秀的开发者从未停止学习。他们接受迭代过程:构建项目、寻找反馈并不断改进。追求掌握是一个持续的过程,而真正的成长就在于旅程本身。
结论:采用正确的心态以实现编码成功
学习编码的旅程并不是一条直线——它充满了曲折、转弯和偶尔的挫折。然而,采用正确的心态能够在你的成功中产生重大影响。
关键要点:
- 优先考虑实践而非理论:专注于编写代码和构建项目,而不是花费过多时间消耗被动内容。
- 放下自我:从小处入手,专注于基础项目,然后再解决复杂问题。
- 拥抱不适:将困惑和挑战视为成长的机会,而不是障碍。
- 放下掌握的想法:专注于持续学习和构建,而不是在采取行动之前专注于完善概念。
这些心态变化不仅使学习编程更有效,还培养了耐心、坚持和韧性——每位出色开发者都会具备的品质。无论你是刚开始还是已经在这一领域打拼,应用这些原则都能加速你作为软件开发者的旅程。
从小处开始,保持谦逊,并记住:你写的每一行代码都离实现目标更进一步。