从零学习编程_如何学习零压力编程

从零学习编程

I’ve been teaching Java for quite a while now. So I often share advice on how to learn programming faster and better. In talking to my students I can see that one thing distracts them very much: coding anxiety. It is a real trouble. Some people find it hard to focus their attention for more than one hour. Some are excessively stressed out by the job search.

我已经教Java了一段时间了。 因此,我经常分享有关如何更快更好地学习编程的建议。 与学生交谈时,我可以看到一件事极大地分散了他们的注意力:编码焦虑。 真是麻烦 有些人很难集中注意力一个多小时。 有些人在求职时压力太大。

So today I’m gonna share on how to eliminate this kind of stress, use the best ways to learn programming, and enjoy coding happily ever after.

因此,今天我将分享如何消除这种压力,使用最佳方法学习编程以及从此以后快乐地享受编码。

对新手程序员造成压力的三个主要原因 (Three Main Reasons Behind the Stress for Newbie Programmers)

1.冒名顶替综合症 (1. Imposter syndrome)

This comes close to the expectations of perfection. The salaries are quite high, and some learners think they don’t deserve their paycheck. To aggravate the situation, other teammates seem to be more professional or work more hours. The truth is that you might know quite enough for your level and be improving gradually, but you don’t actually feel this way. Self-doubt is a common cause of stress.

这接近完美的期望。 薪水很高,有些学习者认为他们不配薪水。 更糟的是,其他队友似乎更专业或工作更多时间。 事实是,您可能对自己的水平有足够的了解,并会逐渐提高,但实际上您并没有这种感觉。 自我怀疑是造成压力的常见原因。

2.不符合真实程序员的形象 (2. Not complying with the image of a real programmer)

You see others bragging about how programming is everything for them — how they spend every possible minute on coding, how important it is to them. And then comes you with the ability to code only so many hours and knowing only this one technology. You start thinking that probably you weren’t meant to be a software developer.

您会看到其他人在吹嘘编程对他们来说是什么—他们如何在编码上花费尽可能多的时间,这对他们来说有多重要。 然后,您就可以只编写这么多小时的代码,并且只知道这项技术。 您开始认为您可能并不想成为软件开发人员。

Actually it is far from reality. Coding day and night is not the sign of a real programmer. None of us are Neo. Besides, the term “no-lifer” also applies to those who only code and have nothing else to fill in the gaps. Forget about the image. If you have a genuine interest in technologies and learn coding just because you want to, congratulations: you ARE a real programmer.

实际上,这离现实还很遥远。 日夜编码并不是真正的程序员的标志。 我们都不是Neo。 此外,“无生命”一词也适用于那些只编码而没有其他东西可以填补空白的人。 忘了图像。 如果您对技术有真正的兴趣,并且只是因为想要而学习编码,那么恭喜您:您是一名真正的程序员。

3.认为为时已晚 (3. Thinking it’s too late)

Image for post

Although I personally think it’s never too late to learn new skills, some people do stress out about starting a new path at the age of 30 or older. The equation seems to be this: “If I start at 30, I would learn something in about two years and apply for a job as a junior dev at 32. All the other juniors would be 22 to 25. It’s ridiculous!”.

虽然我个人认为学习新技能永远不会太晚,但有些人确实强调要在30岁或30岁以上的年龄开始新的道路。 方程似乎是这样的:“如果我从30岁开始,我将在大约两年内学到一些知识,并在32岁时申请初级开发人员的工作。其他所有初级人员都将是22至25岁。这太荒谬了!”

Well, let’s continue the equation. At 34 you become a middle developer while all the rest are 28. It’s not that ridiculous anymore. And suppose you continue and become a senior dev or even a software architect. You’re probably still under 40.

好吧,让我们继续方程式。 在34岁时,您成为中级开发人员,而其余所有人员都在28岁。这不再是荒谬的了。 假设您继续前进并成为高级开发人员甚至软件架构师。 您可能还不到40岁。

And now imagine you haven’t even started just because you are 30 and all the rest are a bit over 20. Do you feel that subtle resentment about the lost opportunity?

现在想象一下,您甚至还没有因为30岁就开始,而其余的都超过了20岁。您是否对失去的机会感到微妙的不满?

如何克服焦虑 (How to get over the anxiety)

Image for post
Photo by Doug Maloney on Unsplash
道格·马洛尼 ( Doug Maloney) Unsplash

First, let’s face it: software development is a complicated area. There will be times when you won’t know what to do. Everyone has those — even the most sophisticated software developers. No one is expecting that you will make zero mistakes. It’s utterly impossible. Admitting that flops are part of the process is a great way to ease the burden of shame and to focus on what’s important: the programming itself.

首先,让我们面对现实:软件开发是一个复杂的领域。 有时您会不知道该怎么办。 每个人都有-即使是最老练的软件开发人员。 没有人期望您会犯零错误。 这是完全不可能的。 承认触发器是过程的一部分,这是减轻羞耻负担并专注于重要内容(编程本身)的好方法。

1.关注动力而不是消除障碍 (1. Focus on motivation instead of eliminating obstacles)

Whether you realize it or not, pleasure is a great motivator. Instead of trying to suppress unpleasant thoughts about possible failures, focus on what’s driving you in the learning process. Try a simple exercise: write a list of reasons you like coding and what benefits you derive from it. You might not notice them while you learn, but when you have this list it clicks within your mind how valuable it actually is for you.

不管您是否意识到,愉悦是一个巨大的动力。 与其试图抑制对可能失败的不愉快想法,不如专注于推动您学习过程的因素。 尝试一个简单的练习:列出您喜欢编码的原因以及从中受益的列表。 您在学习时可能不会注意到它们,但是当您拥有此列表时,它就会在您的脑海中震撼,它实际上对您有多有价值。

Some other steps can also make you feel better about learning to code. Plan a meeting with other coders to discuss your positive experiences. Play coding games, or try to teach a kid some technology. And see how fun it all can be!

其他一些步骤也可以使您对学习编码感到更好。 计划与其他编码员开会,讨论您的积极经验。 玩编码游戏,或尝试教孩子一些技术。 看看这一切有多有趣!

2.逐步学习 (2. Learn step by step)

It’s easy to get overwhelmed when you try to get to the advanced stuff as soon as possible. But from my teaching experience, that is not the best way to learn programming. Give yourself time and start with the basics: syntax, inheritances, classes, etc. Be consistent. Your goal is to always be willing to learn a bit more. If you take on too much at once it will be hard for you to get down to learning next time. Move on to more complicated subjects only when you feel confident about the fundamentals.

当您尝试尽快接触高级内容时,很容易不知所措。 但是从我的教学经验来看,这不是学习编程的最佳方法。 给自己一些时间,并从基础开始:语法,继承,类等。保持一致。 您的目标是始终乐于学习更多。 如果您一次承担太多,那么下次很难学习。 仅当您对基本原理充满信心时,才可以继续学习更复杂的主题。

实践与实践 (Practice and practice)

Reading piles of documentation or watching hours of videos won’t do you any good until you actually try to code. Programming is very practice-oriented. Sometimes it’s better to start playing with the code to understand stuff than to try to figure out the bulk of theory. Try your own small projects. When you see the first results of your learning efforts, it does make you feel better and more confident.

除非您实际尝试编写代码,否则阅读大量文档或观看数小时的视频不会对您有任何帮助。 编程非常注重实践。 有时候,开始玩代码来理解事物比尝试弄懂大量理论要好。 尝试自己的小项目。 当您看到学习成果的初衷时,确实会让您感觉更好,更自信。

Don’t take coding too seriously from the beginning. Allow yourself mistakes. Make them and fix them. Gradually you will see how it all becomes more and more clear.

从一开始就不要太在意编码。 让自己犯错误。 制作并修复它们。 逐渐地,您将看到所有事情变得越来越清晰。

Go see some platforms. Here’s the list of ones I like the most. Yes, they are for learning Java (because I’m a Java tutor), but you can get the point:

去看看一些平台。 这是我最喜欢的列表。 是的,它们是用于学习Java的(因为我是Java导师),但是您可以明白这一点:

  • CodeGym — that’s an online Java Core Course which is fully gamified. You will dedicate 80 percent of your time to practical tasks and 20 — to covering theory aspects. You can have fun learning programming via games, I’m telling ya;)

    CodeGym-这是一个在线Java核心课程,已完全游戏化。 您将把80%的时间用于实际任务,而20%的时间用于理论方面。 我告诉你,您可以通过游戏学习编程乐趣。

Image for post
  • CodeAcademy — here you will develop your technical skills which will be very in use when you start looking for a job.

    CodeAcademy-在这里您将发展自己的技术技能,这些技能将在您开始找工作时非常有用。

Image for post
  • CoderChef — as soon as you get less or more confident with Java fundamentals, you can participate in an online Java contest with other developers-beginners.

    CoderChef —一旦您对Java基础知识有了或多或少的信心,就可以与其他开发人员(初学者)一起参加在线Java竞赛。

Image for post

3.不要试图一次了解所有内容 (3. Don’t try to understand everything at once)

It might take months before you begin to understand why everything works this or that way. No, it does not mean you are stupid. It means software development is a multi-dimensional area that cannot be grasped overnight. Be patient with yourself first of all.

您可能需要花费数月的时间,才能开始理解为什么一切都如此或那样。 不,这并不意味着您很愚蠢。 这意味着软件开发是一个多维领域,不能一overnight而就。 首先要对自己有耐心。

I was in these shoes as well. It feels really frustrating when you learn and learn and it’s still not dawning upon you. Don’t give up! Eventually, the puzzle will become a clear picture. Just keep on learning, and don’t expect everything at once. Be prepared for it to take several months to start figuring things out.

我也穿着这双鞋。 当您学习和学习时,感觉真的很沮丧,而且仍然没有降临。 不要放弃! 最终,难题将变得清晰。 只是继续学习,不要一次想到所有的东西。 准备好花几个月的时间开始弄清楚事情。

4.使用各种学习资源 (4. Use various learning resources)

Again, as I said, programming is a complicated area of knowledge. What’s more, different explanations of one and the same subject work differently for each learner. What I mean is you can understand one tutor better than another. The logic would be this: don’t stick to just one learning resource. Try various options and see what works best for you personally. But don’t use too many resources. If you are constantly looking for alternatives, you spend your time on this search instead of actual learning.

同样,正如我所说,编程是一个复杂的知识领域。 此外,对于每个学习者,对一个主题和同一主题的不同解释也有不同的作用。 我的意思是,您对一位导师的理解要比另一位更好。 逻辑是这样的:不要只坚持一种学习资源。 尝试各种选择,看看哪种最适合您。 但是不要使用太多资源。 如果您一直在寻找替代方法,那么您会花时间在此搜索上,而不是实际学习。

Sometimes you think you’ve had enough explanation, but then you come across another way of viewing the same part of the programming profession, and it just clicks with you. This won’t happen until you search for alternatives. So I urge you to look around from time to time.

有时您认为自己已经获得了足够的解释,但是然后您又遇到了另一种查看编程专业相同部分的方式,它只是伴随您而来。 在您寻找替代品之前,这种情况不会发生。 因此,我敦促您不时环顾四周。

At the same time, don’t use too many resources. If you are constantly looking for alternatives, you spend your time on this search instead of actual learning.

同时,不要使用太多资源。 如果您一直在寻找替代方法,那么您会花时间在此搜索上,而不是实际学习中。

5.认识同龄人 (5. Meet peers)

Image for post
Photo by Nick Fewings on Unsplash
Nick FewingsUnsplash拍摄的照片

One of the worst things you can do is lock yourself up and learn programming on your own. It’s a straight path to despair and giving up. Why? Because you are certain to come across difficulties you won’t know how to resolve. The more situations like that happen, the less you will want to continue. Once or twice you will postpone your regular learning time, and then you find yourself reluctant to do it at all.

您可以做的最糟糕的事情之一就是锁定自己并自己学习编程。 这是绝望和放弃的直接途径。 为什么? 因为您肯定会遇到困难,所以您不会解决。 发生这种情况的次数越多,您希望继续执行的次数就越少。 一两次,您将推迟您的常规学习时间,然后您发现自己根本不愿意这样做。

The picture is quite different if you have some human support. As a learner you suddenly realize you are not the only one struggling. The ideal version would be to meet peers who are learning coding as well. Join professional groups or forums. As an example, have a look at the Stack Overflow community, or find programming subreddits on Reddit. Look for what works best for you, and don’t face programming on your own.

如果您有一些人的支持,情况将大为不同。 作为学习者,您突然意识到自己不是唯一一个挣扎的人。 理想的版本是与正在学习编码的同龄人见面。 加入专业团体或论坛。 例如,查看Stack Overflow社区,或在Reddit上找到编程subreddits。 寻找最适合您的方法,不要自己面对编程。

6.不要将自己与其他开发人员进行比较 (6. Don’t compare yourself to other developers)

When you look around and see how many people are into software development, it does feel like an endless competition — especially when you are at the starting point of your learning path. The truth is that everyone feels the same. While you think someone is better than you, someone thinks you are better too. At the end of the day, you are both discouraged for no reason. So I insist that you don’t compare yourself to others in that way. Instead, focus on yourself and your own skills. Add to your professional value instead of holding grudges against the unfair world.

当您环顾四周,看看有多少人从事软件开发时,这的确感觉到无穷无尽的竞争-尤其是当您处于学习道路的起点时。 事实是,每个人都有相同的感觉。 当您认为某人比您更好时,某人也认为您也比您更好。 归根结底,你们两个都毫无理由灰心。 因此,我坚持认为您不要以这种方式将自己与他人进行比较。 相反,请专注于自己和自己的技能。 增加您的专业价值,而不是对不公平的世界怀恨在心。

结语 (Wrap Up)

It’s ok to feel anxiety when you start learning to code. Everyone’s experienced this problem in some way. There’s nothing wrong with you. The thing is that you come upon a complicated area, and at first it usually seems next to impossible to figure it all out.

开始学习编码时可以感到焦虑。 每个人都以某种方式遇到了这个问题。 你没事 问题是您遇到了一个复杂的区域,一开始通常似乎几乎无法弄清楚这一切。

Here’s what you can do about it: learn step by step, and don’t let yourself get overwhelmed. Connect with other developers online or in real life. Try to find a mentor. Play with the code and allow yourself to make mistakes. Give yourself time. Software development is not something you can learn to do overnight. Focus on your own achievements and on what makes you feel good about coding. Try various approaches and resources. Practice a lot. And surely enjoy the very process!

这是您可以做的事情:逐步学习,不要让自己不知所措。 在线或现实生活中与其他开发人员联系。 尝试寻找导师。 玩代码,让自己犯错误。 给自己一点时间。 软件开发不是您可以在一夜之间学到的东西。 专注于自己的成就以及使您对编码感到满意的因素。 尝试各种方法和资源。 多多练习 并且一定喜欢这个过程!

翻译自: https://medium.com/quick-code/how-to-learn-programming-with-zero-stress-b0fd089259ec

从零学习编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值