10个迹象表明一个好的程序员不会让你失望

哈Ha! 我向您呈现乔纳森·布卢克斯(Jonathan Bluks)撰写的文章“您将在编程中吮吸的十个标志”的译文。



在Reddit或Quora上,我经常会遇到诸如“如何知道自己能否成为一名成功的程序员?”之类的问题(实际上,本文是我对Quora的最新回答的延伸。)当某人考虑职业转变或对发展感兴趣时并想知道为此需要什么,这个问题不可避免地出现。

总的来说,我认为这是那些没有接受编程基础教育的人们的主要障碍。 认为您的程序员是马马虎虎是很自然的事情,这会阻止您开展新业务。 这就像梦想成为一名演员一样,但是怀疑您甚至不会演戏。

作为“全栈Web开发”课程的老师,我与许多新程序员一起工作。 好消息是,我很少遇到根本不会学习编程的学生。 我相信编程是与阅读,写作和计数相同的基本技能。 任何人都可以做到,因为这是一个人的能力之一,但这确实需要学习。

在两年的教学中,我观察了学生在学习过程中的痛苦,并看到他们遇到了一些类似的问题。 如果您查看他们的清单,并觉得这一切都是关于您的,那么您可以肯定,好的程序员绝对不会让您失望,也许您应该做些其他的事情。 但是,如果您忠于成为开发人员的目标,则可以克服所有障碍。

该列表将帮助您了解您是否可以成为一名优秀的程序员,以及决定更改它时的操作方法。


1 | 你缺乏好奇心


如果您对计算机和技术的总体运行方式不是很好奇,那么您永远不会成为成功的程序员。

任何培训的基础都是对学习主题的极大兴趣。 如果您对技术没有特别的兴趣,那么您将没有足够的精力和激情去深入,深入地学习编程并在此领域取得成功。

相反,技术世界就像是一个充满激动人心的领域,相交的想法和令人兴奋的可能性的巨大海洋。 需要大量的内部动力,使自己沉浸其中并发掘一切可能。

培养自己的好奇心:问问自己是否真的对编程感兴趣。 如果您的诚实回答为“否”,请找到真正让您着迷的东西。 不要浪费时间和精力。 但是,如果您回答“是”,那就强迫自己寻找尚未遇到的新事物,认识这片海洋多么广阔,然后潜入更深的地方。

2 | 你缺乏独立性和机智


如果您没有自己解决问题的能力,那么您将永远不会成为成功的程序员。

毫无疑问,要成为成功的开发人员,您必须对自己的学习能力充满信心。 顺便说一句,这是最重要的生活技能之一-如果您年满18岁,则没有人有义务教您。 那是现实。 找到必要的信息并在需要时提供帮助只是您的任务。

在开发世界中,您所需的所有信息都可以在一个神奇的地方找到,该地方以前称为Information Super Highway。 这个巨大的图书馆有一扇大门-Google。 了解您可以轻松地将所需的所有内容带入搜索并获得必要的信息,这是您获得IT领域所需技能的首要障碍。

除了可以使用google之外,还必须学习如何阅读所有编程语言所具有的文档和规范,并非常透明地解释该语言的工作原理,这一点也很重要。 这就像使用字典:遇到不认识的单词时,您会在字典中查看它。 开发和巩固编程技能的最快,最可靠的方法就是简单地阅读文档。 真的有一切。

使用所有资源:了解您所有的问题已经有了答案。 在询问某人之前,请先搜索并阅读文档。 如果您确实试图找到答案,但是没有找到,可以节省一些时间来浪费别人的时间。


3 | 您面对问题缺乏毅力


如果您几乎没有遇到问题就放弃,您将永远不会成为成功的程序员。

编程的本质是解决问题的方法。 这就是创建计算机的原因! 每当您开始编写程序时,都会面临整个“堆”问题。 一旦找到一个问题的解决方案,几乎总是会出现另一个问题。 您正在前进,但是总是有新的障碍。

我必须承认,这一系列问题可能令人恐惧和沮丧。 如果您认为一切都应该“正常工作”,那么您将没有足够的精力和力量来持续地工作,而问题又会陆续出现,并逐渐使您失去情感平衡。 您的工作恰恰是要弄清楚为什么某些东西不起作用。

根据我的教学经验,小组中总是有一个或两个学生似乎天生具有比其他人发现更多麻烦的天生能力,而这些问题常常是随机的且难以理解的问题。 我提醒这些学生,他们遇到的问题越多,他们就需要更多的机会来深入,深入地学习一些东西。 如果通过这些问题他们可以得到全面的了解,他们将更快地变得更加自信,这恰恰是因为他们比其他人遇到并处理了更多的问题。

耐心和接受:您需要了解这一领域是由问题组成的,并将它们视为挑战而不是问题。 您设法克服的每个挑战都将为您提供更多的知识,更深刻的理解,并提高您发现新障碍并更快解决旧障碍的能力。


4 | 您不会感到成功解决问题的喜悦


如果您在解决问题时不感到喜悦和成就感,那么您永远不会成为成功的程序员。

在上述情况下,当您轻松放弃时,当您找到成功解决问题的方法时,也会缺乏“愉悦的感觉”。 当错误纠正变成无穷无尽的机械工作时,您会失去寻找和找到问题解决方案所伴随的兴奋。

成功解决问题后,多巴胺电荷就会释放到大脑中。 这类似于完成视频游戏中的关卡或解决填字游戏或数独游戏。 当您坚持不懈地完成艰巨的任务并最终获胜时,每个人都会知道这种愉悦的感觉。 但是,如果您失去了感到这种愉悦的能力,或者只是从不在乎,您将不会理解并感受到编程的乐趣。 如果编程对您来说是单调乏味的工作,而您只希望在不紧张的情况下获得结果,那么您将永远不会成为真正的优秀程序员。

庆祝您的胜利:每当您找到困扰您的问题的答案时,不管它有多微不足道,都应以自豪为理由,暂时分散注意力并祝贺自己成功完成任务。 让成功的感觉包围着您,并为下一个任务激发您的精力。


5 | 您的学习缺乏耐心


如果您在学习中缺乏耐心并且期望您可以轻松,快速地学习所有内容,那么您将永远不会成为一名成功的程序员。

人是非常有限的生物。 尽管世界上所有事物的发展速度都在加快,而计算机可能是其主要原因,但我们的发展速度并不能超出我们的能力范围。 我们的大脑以一定的速度运转,并且取决于我们的过去,信念,情绪状态和健康状况,我们所有人都以不同的速度学习和吸收信息。

技术世界就像是一望无际的海洋。 您无法发挥自己的优势,您将永远不会成为这样的专业人员,他绝对了解一切,并且没有其他东西需要学习。 如果这使您不满意,您将不断地承受着需要“赶上”进度的压力,并感到您的知识将永远不够。 如果您无法接受自己已经知道的东西,然后又学到其他东西,那么在您看来您什么地方也不会动,而您只会放弃。

相反,尝试享受学习过程并将其视为一个旅程。 您获得的所有新知识或新技能都将激发您并使您感到高兴。 如何以及何时找到问题的解决方案,您应该为自己的成就感到自豪,并承认您已经迈出了一步,即使这只是很小的一步。

奖励自己的进步:您将必须学习很多编程知识,而这一旅程将永远不会结束。 但是知识正在积累,因此您应该为已经知道的知识感到自豪,并相信您在学习中所做的一切都会为您的职业打下坚实的基础,无论它能带给您什么。


6 | 您觉得无聊或厌倦


如果您懒得思考,并且认为集中思维是一项无聊的例行工作,那么您将不会成为一名成功的程序员。

编程是一种智力活动。 一个人,作为一个物种,在这方面是成功的,但现实是,即使我们一直这样做,我们还是懒得去真正思考。 如果您不习惯某个问题,那么在一段时间内保持专注的能力将很困难。

它以不同的方式表现出来。 您可以坐在屏幕上凝视很长时间,感觉一团沉重的乌云正在压碎您的想法,拖延,在浏览器选项卡之间漫无目的地切换,或者拼命探索StackOverflow以寻找所需的“答案”。 所有这些都意味着您面临着精神上的局限,需要找到出路。
通过编程,您自然会感到疲倦,而智力活动实际上会消耗能量,就像消耗体力一样。 如果您的身体不习惯这种精力消耗,那么您将很难保持精神状态。 但这就像参加体育课:做得越多,您就变得越强壮。

您的大脑是一块肌肉:相信我,您的大脑就像一块肌肉:疲劳越多,它变得越强壮,您思考的效率就越高。 当您拼凑拼图的各个部分,组织,分析和发展想法时,找到解决方案变得更加容易。


7 | 您无法独自思考


如果您正在等待某人为您考虑,并且不想查看您所处情况的细节,那么您将永远不会成为一名成功的程序员。

学习新的东西,我们常常觉得我们的知识和经验不足以拥有自己的见解。 要主动采取行动或说错话似乎很有风险。

我们每个人都有内心对错误的恐惧。 当这种恐惧阻碍了您的研究好奇心时,您就抑制了发展真实知识,从自己的经验中获得的知识,胜利和失败的能力。 如果您依赖于“专家”,流行的博客作者,“最佳实践”或教科书中的答案的意见,则意味着您无法完全而深刻地理解编程。

有必要就什么可行和不可行提出自己的看法。 您需要了解为什么您认为自己的决定是好的,它的优点是什么。 必须开发出不仅观察明显细节的微妙外观。 您必须能够捍卫自己的观点,然后,如果您进行更改,您将获得一个新的愿景,它将是您自己的。

自己思考:利用自己的经验和思考能力,批判地塑造自己的意见。 进行深思熟虑的假设,支持争议,并准备在出现新信息时进行更改。


8 | 您的思维僵化,狭窄和/或混乱。


如果您的思维不够灵活,并且在代码的组织和思想上遇到困难,那么您将永远无法成为一名成功的程序员。

我有时会在学生中看到两个极端。 首先是狭窄而僵硬的思维方式。 这种态度使他们拒绝帮助,尽管有反馈,也不允许他们改变。 所有内容仅在一侧可见,所有报价均被忽略。

我遇到的第二个极端是思想混乱。 学生们自己会为自己创造困难,他们的代码很杂乱,很难理解。 他们使任务复杂化并编写100行代码,其中10行就足够了。

当将这两种思维方式结合在一起时,结果就是这样一种艰难而紧张的编程方法,这是一种蛮力方法,会导致多层错误修复和拐杖。 在这种情况下,真正需要的是能够重新开始,重新考虑原始解决方案,放弃它并重新组织代码。

无法看到其他机会或没有收到反馈会阻止您成长和发展。 杂乱无章的动作会使您放慢脚步,并阻止您看到原本显而易见的模式。 而且您的工作总体质量越来越差。

自我批评:您应该总是退后一步,以全面了解您如何完成任务。 如何更好地做到这一点? 有什么可以使您的生活更轻松的吗? 您缺少什么,什么可以帮助您?


9 | 您想知道一个“正确”答案,而不是识别“好”和“坏”答案的范围。


如果您将编程的最终目标视为找到正确的解决方案,而不是寻找各种可能的解决方案,那么您将永远不会成为成功的程序员。


在开始学习编程技巧时,学生通常想知道他们所做的是“正确的”。 这个问题的答案总是-“取决于情况”。

计算机科学是评估权衡的科学。 收到各种情况的组合后,您会找到最佳解决方案吗? 这完全取决于环境和目标。 当您将编程视为正确答案和错误答案的测试时,您将失去看清整个画面并拒绝采用创新方法的机会。 在这种情况下,只要有正当理由,任何决定都是“正确的”。

实际上,编程更像是写诗或故事(如果程序足够大,则是小说)。 您的代码具有自己的美感和美感,有时只有您和其他程序员才能看到。 选择解决方案的原因和设想方式比“正确”或“错误”重要得多。 艺术家的思维方式使您可以尝试各种选择和可能性,而不会将任何决定视为唯一正确的决定。 这就是编程的妙处-解决问题的方法有很多,并且考虑不同的可能性会导致一种感觉,在某些情况下更适合。

有创造力:了解解决问题的方法有很多,经验和耐力将帮助您更好地了解哪种解决方案比其他解决方案更适合这种情况。 看到整体图景,想象各种可能性并相信自己的直觉对于找到完全满足您任务的最佳解决方案很有用。


10 | 您对细节不够重视


如果您忽略细节而忽略了小事情,您将永远不会成为成功的程序员。


电脑喜欢精准。 在对计算机进行编程时,您需要按照计算机的期望为它提供极其准确的命令。 如果您不这样做,将无法进行任何操作。 没有中间立场-代码有效或无效。

这意味着程序员需要注意细节。 每个空格,括号或分号都很重要。 如果它们不在应有的位置,则没有任何效果。 当计算机抛出错误消息时,您应该能够查看它并清楚地了解它在告诉您什么。 在现实生活中,如果您错过了这些细节,您将花费数小时来寻找问题,这实际上是简单拼写错误的结果。

俗话说,魔鬼在细节。 在编程中确实如此。

注意细节:小事情很重要,您必须接受它。 完成此操作后,您将开始扫描代码以查找不适当的内容。 您可以组织代码并使用各种工具来帮助更快地发现问题。


奖励:您专注于业务


, , : , , , . « », -, « » — .

, , , . — , , .

, , , . , , ! / , - . , !

, , , , , . , .

结论


, . , , , .

, ! , , . .

: — , -. BrainStation.

Source: https://habr.com/ru/post/zh-CN483218/


All Articles