想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧

想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧

人类心理学的思想如何帮助程序员?

您想以最佳表现进行编程吗? 您想享受编程工作吗? 从棘手的问题中解脱出来的诀窍是什么? 您如何提高自己的认知能力? 转向心理学可以告诉我们答案。

就像电影中的英雄一样,程序员的生活中有恶棍,转移注意力,打架和情感。 您准备好成为编程英雄了吗?

1.达到流程状态

心理学家Mihaly Csikszentmihalyi在著名的《 Flow:最佳体验心理学》一书中指出,达到最佳性能的秘诀是在称为flow的最佳状态下工作。

流动是意识的最佳状态,我们可以感觉到自己的最佳状态,并能够在最高水平执行。 在交流过程中,人们通常会出于自己的需要而体验到深刻的享受,创造力并完全参与到一项活动中。
当一个人的技能完全参与克服几乎可以控制的挑战时,也会发生流动,因此它可以吸引新技能和不断增加的挑战。
想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧

为了达到流畅状态,您必须在活动难度和技能之间取得平衡。

提前学习技能✅

如果您的工作需要新技能(可能是新语言或新技术等。),请勿尝试同时学习和完成工作。 熟悉它可以避免焦虑,并有助于获得流动状态。 因此,请提前学习技能,以确保您具有应对项目挑战的正确技能。

首先使其工作,然后使其完美✅

如果您尝试编写完美的代码,挑战将更加艰巨,并且可能会陷入困境。 因此,为了减少挑战,只需编写可运行的代码的第一个版本,而不必担心它的性能很差。 然后,将更容易进行重构并使其良好。

分而治之✅

另一个技巧是将复杂的工作分解为可管理的小任务,以便您可以控制。

因此,其想法是提高您的技能或减少挑战以实现流程状态。 游戏设计师使用这种技术来吸引玩家。 它们使游戏级别的难度适合于玩家的技能,从而使玩家既不会感到沮丧,也不会感到无聊。 在流程状态下,编程感觉就像在玩游戏。

???? 如果您达到 流动状态, 您将成为 英雄 但是,等等,有一个 恶棍。

2.赢得焦点

刚开始时可能不会有流程经验,您需要集中精力来专注于工作。 卡尔·纽波特(Cal Newport)在他的著作《 深度工作:分散世界中成功的规则》中谈到了专注工作的重要性。

深度工作:在无干扰的状态下进行的专业活动将您的认知能力推向极限。 这些努力创造了新的价值,提高了您的技能,并且难以复制。

为深度工作留出时间Work

您可以留出一些时间进行重点工作。 为避免分心,请关闭计算机和电话上的所有通知。 如果您不擅长自我控制,请尝试番茄技巧。

番茄技术Technique

Pomodoro技术提供了执行深度工作的系统。

想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧
资料来源: https : //name-fame.com/motivation/pomodoro-technique-boost-study-work/

基本上,您的工作分散了25分钟,注意力分散了25分钟。 然后,您短暂休息5分钟,然后移至下一个Pomodoro。 4个番茄之后,您可以休息片刻。 您可以在互联网上轻松找到Pomodoro应用程序。

Po 不要对番茄时间安排太严格。 如果您处于 流动 状态,则在25分钟结束时不必强制休息。 但是,还有其他好时光可以散步,我将在本文的后面讨论。

这对于外部干扰很重要。 内在的精神分心怎么办?

提出你的想法✅

我们通常会因未完成任务的想法而分心,无论其重要性如何。 因为未完成的任务在完成之前往往会占用我们的短期记忆。

但是要感谢Zeigarnik的后续研究。 现在我们知道了

实际上,我们不必完成说服大脑停止思考的任务。 我们要做的就是以一种使我们相信它将得到照顾的方式写下来。

完成工作后,您不仅应该将代码提交给源代码控制,还应该在一个适当的地方写下您的想法(例如,后续步骤,待办事项等)。

programmer 程序员的旅程不仅有 恶棍, 而且还有转移和打扰 的经历

想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧
资料来源: https : //www.big-red-digital.com/news/general/the-paradox-of-choice-why-the-choosing-a-website-partner-neednt-be-stressful

3.减少选择

程序员的一生涉及做出许多决定,并且干扰了流程状态的体验。

巴里·施瓦茨(Barry Schwartz)在他的《 选择的悖论 》( The Paradox of Choice)一书中描述了更多的选择如何导致焦虑。 从购物到职业选择再到恋爱,他列举了无数个例子,表明减少选择不仅可以提高我们的生产力,而且可以提高我们的自由度,并使其更容易在当下享受它。

想要成为一个快乐而富有成效的程序员吗? 使用心理学的这5种技巧
资料来源: http : //vpcoder.com/index.php/2016/03/13/how-to-start-learning-coding-effectively/

他主要研究购物者的行为,但同样的原理也适用于程序员。 我们可以使用一些技术来减少必须做出的决定的数量。

选择语言或框架时请考虑一下✅

许多人喜欢Go语言,因为只有一种方法可以做某事(例如编写循环)。 同样,人们讨厌Perl语言的原因之一是做同一件事的方法太多。

因此,在选择语言或框架时,请考虑灵活性与限制性的好处。 如果只有做某事的唯一方法,则无需担心执行最佳实践。

预先收集基本材料✅

程序员通常必须查找代码示例或文档来完成工作。 这不仅导致上下文切换,而且还增加了选择正确的示例或API的负担。

因此,请提前收集必要的资料,以便您不必浏览大量Google搜索结果并决定合适的结果。

编写代码之前先进行设计✅

在开始编写代码之前,请尝试做出重要的决定和设计。 这将帮助您专注于解决手头的问题,而不是浪费精力进行决策。

If 如果我拖延或陷入困境怎么办? 你需要打架吗?

4.不要与意志力作斗争

对高度成功的人的研究证明,成功不是强大的意志力和克服阻力的能力的结果,而是智慧工作环境首先避免了阻力的结果。

有一些技巧可以避免与意志力作斗争。

如何避免拖延症?

与其强迫自己做一些自己不想做的事情,不如找到一种让自己感觉像做进一步推动项目发展的方法。

有明确的任务

拖延的主要原因是在高水平上定义您的目标。 写下您将做什么,何时何地做什么的细节,为实际做事提供了更多的机会。 而且,您的大脑认为如果没有足够的细节,这太难了。 因此,拥有有意义且定义明确的任务将胜过毅力。

开始下一个任务

人们通常在完成任务的那天休息一下或称其为休息日。 但是,开始下一个任务或稍有进展是个好主意。 因为第二天开始工作时,您会更好地知道该怎么做。 这将帮助您避免拖延,因为您没有开始新的事情。

读书时可以使用相同的想法。 如果您仅阅读下一章的第一页,则不必在完成某一章后关闭一本书,而可能会再次拿起这本书。

如何解决难题?

与意志力类似,您不必费劲去解决一个棘手的问题。 您可以调整自己的想法,以便以令人惊讶的方式自动为您提供解决方案!

散步

让思想徘徊而不专心思考,使我们的大脑有机会以不同的,通常是令人惊讶的富有成效的方式来处理问题。 当我们去散步,洗个澡或打扫房子时,大脑不禁要处理遇到的最后一个未解决的问题。

因此,如果您只是离开计算机,您可能会想到一个主意。

睡吧

带着未解决的问题回家。 不要试图强迫自己解决它,而要睡觉。 您的潜意识将对此起作用,您可能会在半夜或早晨醒来时找到解决方案。 很多时候,我的问题的解决方案出现在深夜或早晨的第一件事上,或者是在我洗澡的时候。

尝试处理其他问题或项目。

有时,当您不考虑问题时,解决方案会自动出现。 因此,与其努力解决难题,不如将精力转移到另一个生产目标上。 使用这种方法,可以同时处理不同的事情,您不会遇到任何精神障碍。

still 仍然缺少一些东西。 只有有情感,生活才能变得美丽。 同样的编程。

5.练习同理心

同理心是一项重要技能,可在个人生活和职业中带来更大的成功和幸福。 在编程中也要练习移情。 编程不仅仅是逻辑。 它像艺术一样富有表现力。

编写可维护的代码✅

请记住,您编写的代码将被其他人读取和维护。

必须编写程序供人们阅读,而只能偶然地使机器执行― Harold Abelson,计算机程序的结构和解释

遵循编码风格的最佳做法,例如有意义的变量名,较小的方法等。您不应在此注释中编写程序????

//When I wrote this, only God and I understood what I was doing
//Now, God only knows

确保您编写的代码对其他开发人员的认知负荷较低,以便易于维护。 写有用的评论。 这是我遇到的一个有趣的评论????

// 
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
//

在设计中使用简单✅

无论您是在设计API还是在设计用户界面,都使用户轻松自如。 您可以遵循的基本原则是

简单的事情应该更简单。 复杂的事情应该是可能的。

实行同理心不仅可以帮助您,还可以使您的团队富有成效,并使用户满意。

摘要

您可能已经在使用这些技术。 但是使用心理学知道他们背后的推理可以帮助您高效地做他们。

如果您讨厌编程或被认为退出,那么使用心理学上的这些想法可能会使您成为一名快乐的程序员。

当您从心理学的角度看编程时,您会欣赏它的美丽并喜欢编程的艺术。

谢谢阅读。 如果您喜欢这篇文章,请鼓掌,以吸引更多的听众。 另外,请在评论中分享您的想法。

From: https://hackernoon.com/want-to-become-a-happy-and-productive-programmer-use-these-5-techniques-from-psychology-9e2e22b367b4