开发人员幸福的八个因素

发布于:2020-12-24 16:15:54

0

67

0

开发人员生活 幸福 程序员

最近我看到了Tanmay Vora写的一篇札记,它真的引起了我的共鸣。作为一名开发人员,这让我思考这将如何转化为开发人员的生活和我们的幸福。在此基础上,以下是应用于开发人员生活的幸福的8个因素。

1. 怨恨

对另一个团队成员怀有怨恨或愤怒可能是不快乐的一个重要来源。在之前的网页开发工作中,我和一位我非常不喜欢的高级工程师一起工作。这个团队成员几乎不会让拉取请求或设计决策不受挑战。每次这样的互动都会导致几个小时的我所谓的“松弛的言语柔道”。这将影响到我工作之外的生活;我永远无法接受我让另一个人激怒我的事实。我最好的辩护方式是冥想,让这个人成为我的导师。他让我通过他在我身上挖掘出的东西来发现自己的缺点。

开发者面临的另一个问题是我所说的“行业仇恨”。“在软件开发行业,围绕招聘和面试流程存在一股不满情绪的潜流,抱怨我们确实是一种技能优先的文化。”这是一把双刃剑。一方面,作为一名开发人员,你不需要有计算机科学学位或正规的培训就能赚大钱。

另一方面,面试过程可能会偏向纯工程技术,而软技能并不重要。就像整个行业都在谈论移情和辅导一样,似乎唯一真正重要的事情是你能多快地构建和实现b -树搜索算法。对于新的开发人员,你所能做的就是集中精力尽可能全面发展,并为面试做最好的准备。对于更资深的开发人员,当我们开始负责招聘时,我们可以在招聘实践中考虑更多的软技能和特点。

对同事或项目心怀怨恨只会导致不快乐和效率低下。找到将消极能量转化为积极体验的方法或技巧,会让你成为一个更好的开发者和更好的自己!

2. 不要活在过去

不要停留在你没有得到的工作或失败的项目上。如果我们活在过去,我们注定要重蹈覆辙。作为开发人员,我们需要短暂的记忆,而我们学习的最好方式之一就是从失败中学习。

几年前,我参加了一个软件工程师职位的面试。这是一家非常好的公司,有着丰厚的福利和深厚的文化底蕴,这对我来说很重要。在几次面试和一次编程挑战之后,最后一步是现场编程日。当然,这是很多需要接受的。你得请一天假,飞到一个新的城市去过夜。

在那个重要的日子里,我收到了要求并与团队开会讨论了app的计划,然后开始编写程序。最初的几个小时进行得很顺利,但在某个特性上陷入困境后,我陷入了一个“兔子洞”,这只会导致浪费时间和半生不熟的代码。那天并不是一场灾难,但也不是我最好的作品。拒绝邮件里的这些话仍然困扰着我:

不幸的是,招聘团队已经决定继续聘用其他候选人。团队喜欢您在编写代码之日所表现出的精力和热情——他们真的很喜欢与您结对并与您协作。然而,对于这个角色,我们希望看到的是对所选技术栈的高水平流畅性和深刻理解。我们对这个地点很感兴趣,由于名额有限,我们只能继续与少数能够更清楚地展示这一点的人交流。

流利程度高,理解深刻!?嗨!尽管那段经历很痛苦,但它教会了我,在做时间敏感的项目时,要审慎地安排时间。有时,最好先实现一个最小的可行产品,以确保其功能,然后在时间允许的情况下实现更复杂的特性。

活在过去是压力山大、效率低下、令人沮丧的。我们都有挫折,但把你的挫折转化为教训,将允许你指导和同情有类似经验的人,并帮助你在未来不再重复同样的错误。

3.顺应生活

宁静的祈祷要求我们接受我们不能改变的事情,改变我们可以改变的事情,但也要有智慧知道两者的区别。“用智慧去分辨差异”是这一公理中最具挑战性的部分。有时我们必须知道何时后退,但其他时候我们应该欢迎改变,看看它会把我们带到哪里。

几年前,我的CEO要求我管理一个我们组织正在启动的缩放网络研讨会。变焦在线研讨会吗?“但我是一个网页开发人员,”我对自己说。我认真考虑过离开这个职位。经过深思熟虑,我决定以初学者的心态来迎接这个挑战,看看它会把我带向何处。

结果,在这个项目中出现了一些有趣的编程挑战。客户需要为网络研讨会提交应用程序,因此我将谷歌表单合并到工作流中。我没有使用Zoom的界面,而是使用Zoom自己的API编写了我们自己的内部web应用程序。之后,我使用谷歌应用程序脚本与谷歌表单和Zoom Web应用程序交互,当用户提交网络会议请求时,它会自动导入我们的应用程序进行处理。

我们永远不知道在职业转变的背后隐藏着什么样的机会,而接受这些变化会带来新的技能和成长。我很高兴我没有因为这件事放弃。通过接受这个改变,它给了我使用技术的经验,否则我就不会有。

4. 与现实世界保持联系

作为开发人员,很容易退回到自己的世界中去。这通常是一个隐遁的职业,甚至不去尝试,我们几乎无法与他人互动。但人类是社会动物。我们结婚生子,我们去教堂,去社区中心,或去健身房。我们做这些事是因为当我们与他人互动时,它使我们的世界更美好,它使我们更美好。

我已经远程工作了大约五年。当我刚开始工作的时候,我100%的时间都在家里办公。大约六个月后,我发现自己的生活一成不变,对每天的开始都感到恐惧。我有一个很好的工作空间,但它变得陈旧了,我需要改变。我是一个兼职的社区学院讲师,学院为我们提供工作和与学生见面的空间。我开始每周去学校工作几天。

它不仅能让我走出屋子,而且我发现与学生和其他老师的互动真的让我充满了活力,并且取代了自从我开始远程工作以来一直缺少的“饮水机”时间。当然,这里的干扰比在家里要多,但是环境的改变让我可以给自己充电,因此,我发现在家的时间更有效率。如果您是远程的或本地的编程聚会,您可以在一个共同工作的空间中获得这种经验。即使是每月和别人见一次面,也会让你跳出你的世界,拓宽你的人际网络。

这种与他人的互动在压力大的时候特别有帮助。当我们感到压力时,我们倾向于退缩,变得更加封闭,所以那正是我们需要别人在我们身边的时候。不要等到我们处于低谷时才去寻求互动。社交网络和联系应该得到培养,并成为我们日常生活的一部分,这样当挑战来临时,我们就有其他人可以依靠和鼓励我们。

参与日常工作之外的有意义的活动会让你的生活变得有趣,给你新的视角。这些约定会给你的职业和个人生活带来好处。

5. 爱自己(和他人)

好吧,作为开发人员,谈论爱自己太甜了,这不是我们说话的方式。编程是困难的,不要让别人告诉你它不是。问题是编码是一种技术技能,有摇滚明星和忍者,还有我们其他人(我在这个阵营)。在这个职业中,我们必须对自己和他人有同理心。

我最近辅导了一个学生,我们遇到了一个无法解决的难题。我告诉这个学生“好吧,如果是我,我会发布一个堆栈溢出问题,让我们这样做吧。”学生看起来很窘迫。他害怕有人嘲笑他或说他的问题是愚蠢的。我向他保证不会发生这种情况,并在他写问题的时候和他坐在一起。当然,他收到了很多回复(没有一个是嘲笑他的),其中一个帮助他解决了这个问题。

代码评审也是应用这种实践的一个很好的机会。努力实现更好的代码审查,并考虑围绕pull请求的所有因素,比如提交者的技术级别(Jr vs. Sr)。我们经常把代码看作是我们自身的扩展,所以很容易对负面的代码复查感到不满。我们对反馈越有同情心和同理心,就会得到越好的反馈。

带着同理心和爱心与我们的同行交流,可以提高你的工作满意度,帮助他人成为更高效的程序员,从而使你和你周围的人更有效率。

6. 是良性

作为工程师,我们生活在一个高度技术化的环境中,所以我们认为这给了我们一个传递美德的机会,比如爱、同情和同理心。没有这样的好运!我们是人,不是计算机,我们给它们编程并不意味着我们应该像它们一样思考。在你的工作中寻找机会来培养像爱、同情、幽默和忠诚这样的传统价值观。

几年前,我的组织举行了一次全体员工会议。我们分成四到五个人的小组,被要求分享一些关于我们自己的事情,这些事情能够激励我们,也能告诉我们每天的工作。现在你知道这是怎么回事了,当我们听到这样的话,我们马上会想:“哦,天哪……我怎么才能摆脱这个困境?”我会假装胃痛,然后跑去洗手间!”

但对我的团队来说,这确实是一次变革性的经历。第一个分享的人谈到了他们的家庭与精神疾病的斗争,以及这种斗争如何影响他们的工作。这使得小组中的其他人对所有我们在虚拟环境中从未谈及的事情都变得开放和诚实。

我们的团队多年前就有过这样的经验,但它确实对我们如何合作产生了持久的积极影响。对人们的过去和经历的小小了解,会影响我们如何与他人互动,并带来更大的信任,以及对人们如何以及为什么以他们的方式工作的理解。

7. 降低对自己的期望

向月亮进发,如果你错过了,至少你还能在星星中间。我们都听过这句话一百万次了,但是,正如我前面所说的,编码是困难的,所以我建议我们放一放,不要期望太多。正是由于我们所选择的职业,我们取得了巨大的成就。当我们期望进步太快时,我们会让事情变得更加困难。

我这学期教一门c++课程,这是工科学生的必修课程。这是这些学生需要毕业的第一门也是唯一一门编程课程。我们刚刚读完了关于循环的一章,我遇到了一个学生,他对自己对嵌套循环缺乏理解感到很沮丧。我和他分享了嵌套循环并不是一个琐碎的话题,许多有经验的程序员在调试它们时都遇到了困难。这个学生对自己的期望比一个没有编程背景的人要高得多。

我经常在新开发人员身上看到这种情况。给自己设定更高的标准很好,但是这种心态的危险是双重的。首先,你会冒着把自己累垮、赶出这个行业的风险;其次,即使你留在这个行业,你也会很痛苦!谁愿意做自己认为很烂的工作?

做好自己的工作是一种崇高的追求,我们都应该努力去实现。但是想想我们都可以成为艾伦·图灵,史蒂夫·乔布斯或者,这可能是一个你永远无法达到的目标。</programming_hero>相反,每天努力做最好的自己,你可能会成为别人心目中的英雄。

8. 服务比你自己更重要的东西

以自我为中心和自恋的人是世界上最不快乐的人。最快乐的人在服务和照顾自己、服务家人、同事和社区成员之间找到了平衡。我曾经听到有人把人类幸福的三大支柱描述为满足对有意义的工作的需要,对终身联系的需要,以及对为比自己更重要的事物服务的需要。

为比你自己更大的事物服务可以在很多方面表现出来。你也许能在工作中做到这一点。如果你在一家非营利机构工作,它可能是你工作的核心。但即使是在盈利性公司,也有很多有意义的工作要做。医疗保健、社交媒体和生产力软件都有帮助社会的使命。如果你修复的bug能让人们节省五分钟与家人相处的时间,那么这才是真正有意义的工作。

工作之余,找机会用你的专业技能去帮助别人。我已经维护我的教会网站近十年了。做内容管理并不是我最喜欢的工作,但是能够帮助我的教会和我的社区让我很满足。

2018年和2019年,我担任了VetsWhoCode的导师主任。有许多志愿组织,如美国代码和社会编码器有机会使用你的技术技能为他人服务。另一个选择是参与本地的程序员聚会。如果有人自愿来做演讲,帮助组织地点,或者请一位外部发言人,你会喜欢的。

为一个比你自己更大的目标服务或者找到一个比你自己更大的任务会让你更擅长你的工作,但是它也会带你走出你的舒适区,以一些你在日常工作中找不到的方式。它扩大了你的个人和专业联系,让你可以指导别人,也可以被别人指导。最后,它让组织有机会获得高技能人才,从而让世界变得更美好。

到此为止。我希望这篇文章能给你一些建议,告诉你如何成为一个快乐的程序员,并与他人分享这份快乐。如果有人能对这些因素做个概略的说明,我会很高兴的。如果是这样,请在下面分享你的评论

编码快乐!