原文地址: https://www.quora.com/Despite...git
Despite getting very high marks in programming (85 - 100), my professor told me that programming is not for me. He has even commented that I am a great coder. Why would he say this if I have done so well?编程
虽然我在编程课程里能拿到很高的分数(85-100),但个人教授却说我不适合编程,尽管他都认可我编码水平很不错了。我搞不懂,为何我作得这么好了他却说这样的话?sass
I’m gonna be up front and honest here, because this is the biggest problem I see with beginners/students coming into software development these days.dom
IT’S NOT ABOUT THE CODE, OR YOUR ABILITY TO WRITE IT.ide
我得站出来跟你说实话。由于就我所见,现在在软件开发这块,初学者和学生遇到的最大的问题就是这个问题:
你是否适合编程,这个事情跟你写出来的代码水平无关,也跟你能写代码的能力无关。
It’s very likely that while you might be very good at writing code, your professor spotted traits in your performance that would have meant you where no good at the soft skills.工具
A good software developer needs way more than just the ability to write good code. Here are some examples, of the skills you’ll need, in no particular order:学习
我以为颇有可能,你的编码能力强,在教授眼里这是你的一个很突出的特色,但这刚好说明你在其余的软性技能方面很是欠缺。
一个好的开发者,光擅长写代码是不够的。我这里给出一些例子,这都是你之后还要学会的技能(顺序无关):
- 将问题分解,分而治之的能力;
- 以浅显易懂的方式,同非专业人士讨论技术话题的能力;
- 以常人所不能的、极端专一的逻辑思惟方式进行思考的能力;
- 总揽全局、全盘思考、站在 1000 英尺高度理解问题的能力;
- 不但知道如何跟机器打交道,也要了解如何跟人打交道的能力;
- 在保持跟进单个解决方案的同时,时刻保持发散思惟的能力;
- 审视众多可用的工具(不只仅是代码)、并得出更好的解决方案的能力;
- 像有天赋通常的,马上、快速的解决问题的能力;
- 在任何前提下都能判断、花多长时间能达成结论的能力;
- 在不一样的地方、使用多种工具、同多我的一块儿,在团队中彼此协做的能力。
I could go on for another 10. Heck, I could go on for another 50 if I needed to.ui
The point is, a software developers life is about far more than just slinging out some code.this
Many beginners fail to realize this.编码
Software development is a very hard career, and you never truly stop learning.
What you’ve learned so far, is ONLY the BEGINNING.
这还远远不够,我还能再列十条、再列五十条都行。
比起光写代码来,开发者的生涯所包含的内涵要多太多太多。这就是问题所在。
而不少初学者都是没办法意识到这个问题的。
软件开发是一条艰难的路,你走上这条路,就不会中止学习。
你如今学到的,仅仅是万里长征第一步。
You’ll spend the rest of your life, learning on the job, making new discoveries as you go along.
You’ll have very, very long periods where you have to concentrate and focus on what your doing, so hard that it almost hurts.
Burnout from this intense study & concentration is an all too real problem with beginners, and many don’t make it more than a couple of years before they give up.
A good professor knows ALL OF THIS, especially if he’s been in the industry and on the front lines himself.
He’ll know what makes a good developer, and what doesn’t.
当你走上这条路,你的余生都要花在不断的学习和发现上。
不少时候,你都必须在当前的问题上极其专一,哪怕让你痛苦不堪你也不能放弃。
初学者的热情很快就会被这种现实的困难消耗殆尽,不少人坚持不了几年就会放弃。
好的教授彻底理解问题的所在,特别是有过从业经验,从事过一线开发的教授。
他懂得好的开发者须要哪些特质,以及不须要哪些特质。
I routinely have to dish out similar advises to the students I teach, but I don’t do it with Malice, I do it because they need to hear the truth, and know what there going to walk into.
What you NEED TO DO, is ask your professor why he thinks you won’t make a good software developer, ask him to be 100% honest.
What he tells you might hurt, but the only way your going to know where you need to spend time improving is if he tells you.
我对个人学生也是常常给出相似告诫。我这么作绝无恶意,我只想告诉他们真相,让他们看清本身要面对的是什么。
而 你要作的,就是向教授问清楚,他为何以为你不适合作开发。你要诚心诚意的去问。
他的回答可能会伤你自尊,但只有这样你才能知道本身哪些地方须要改进。
I see amazing coders all the time, but a great many of them simply do not have the mental discipline to sit for 18 hours and chew through solving a problem presented to them, from start to finish.
I see loads of silly students, who come to do “computers” cause they think it’s a laugh, many of them couldn’t code to save their life, but give them something that interests them, and let them get stuck in, and their ability to hammer down on the task and see it through, is incredible.
No one is trying to belittle you or destroy your self confidence, their just trying to prepare you for what’s about to come, and mark my words, when you get out there into the real world, it’ll hit you head on, like a 20 ton truck!!!
我见过很多很棒的开发者,可是他们当中太多人也没有足够的毅力坐着花 18 个小时从头至尾来把问题嚼烂解决。 我也见过很笨的学生,由于以为好玩就来“学电脑”。很多人没办法靠写代码为生,但他们只要对某事有兴趣,而且有机会钻进去,那么他们在问题面前,能展示出使人难以置信的执行力。 没人要贬低你或伤你的自尊,他们是帮你为面对未来的困难作准备。记住个人话:当你完成学业真正进入软件行业时,这些困难会像 20 吨的卡车同样砸在你头上!!!