程序员在工作中会遇到哪些压力源,您将如何应对?[关闭]


74

学习管理压力对于在任何工作中保持健康至关重要。一个必要的子任务是学习识别和限制压力的来源。

但是,在日常工作中,可能很难识别压力的来源(尤其是对于一个紧张而专注的人,例如程序员)。

程序员应该注意哪些类型的压力源,如何对其进行管理?



编码员是乐观的人,他们专注于可能性,而不是强调时刻。
独立时间:

在此站点上肯定有大量的社区Wiki。嘘 这个问题也是很有建设性的。
加雷特·克拉伯恩(Garet Claborn)2011年

Answers:


100

以下是我发现给我和周围开发人员造成最大压力的事情:

  1. 含糊不清:无效地陈述了目标,要求或其他期望。许多公司的员工态度"I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."
  2. 不适当的期限:大多数期限是由业务设置的,而不是由开发人员对员工的实际能力设置的。除此之外,对需求的期望增加了,但是预算/资源却没有增加。
  3. 错误的假设/期望:程序员倾向于对自己的能力有较高的评价(不是不受欢迎的特质),因此,他们希望其他人能够与他们的能力,理解和期望相匹配。通常会假设某种事物"common knowledge"或类似事物,这在压力类别中可能是灾难性的。现在,业务专家不仅没有达到程序员的期望,而且完全无法启动。相反,如果程序员不能满足业务期望,则程序员会感到沮丧,因为他/她没有得到继续进行所需的信息。
  4. 缺乏尊重:许多人倾向于相信,仅仅因为某人在您的学科中很弱,就意味着他们在自己的学科中也很弱。我们每个人都有不同的工作/能力/期望是有原因的,要尊重另一个人很可能非常有能力完成要求他们的工作,这一点很重要。仅仅因为某人没有您的能力并不意味着他们没有能力或没有能力。
  5. 缺乏自我控制:这可以在很多事情上得到体现。也许您是一个拒绝适当休息的工作狂。这导致压力的积累并且是不利的。也许您是Jolt Cola的饮酒者,在压力增加时,他应该喝更多的咖啡因。这对您的健康有害,并使压力反应更糟。您必须知道自己的极限,知道什么会触发您的特定压力反应,最重要的是知道如何缓解这种压力反应。对同事或同事采取这种做法是不合适的,只会加剧压力。
  6. 缺乏沟通能力:通常我们不会讲相同的语言,而且我不是在讲英语,德语或印度语。我们使用的是相同的词,但是我们说的不是相同的话。人们需要对他们不了解的事情保持专一和开放。即使您认为自己理解,澄清也不会有任何伤害。请记住,业务指标可能意味着与组织中不同部门不同的事物。
  7. 极限出血:保持工作在家里和在家中。仅仅因为您7岁的孩子将鞋子留在地板中间并且在吃完早餐后没有清理干净,并不意味着您需要向蒂芙尼(Tiffany)讨个新账,因为她没有给您发账单的电子表格。同样的道理,仅仅是因为Tiffany在电子表格上比较懈怠,并不意味着您的妻子在通勤途中应该受到恶劣的对待。(顺便说一句,可怜的蒂芙尼也不应该得到这种待遇)

17

我认为对任何程序员来说,最大的压力是缺乏信心

是的,很多会议(不一定是会议本身)是不必要的,但是作为程序员,我可以做很多事情。如果我定期参加不必要的会议-我认为站起来并说“嘿,我不需要参加会议-我可以更有效率地度过时间”,那是我的责任。

中断也是如此:是的,这很麻烦。我已经在很多公司中看到过。但是,很多时候,有很多事情可以做。程序员不需要每五分钟检查一次他的邮件帐户并立即响应每封邮件。同样,如果我不想在一段时间内被打扰,请关闭即时信息并转发电话。

这只是两个例子-还有更多例子。是的,有时候会变得很艰难。但是大多数时候,我们正在谈论的问题可以很容易地得到解决,并且充满信心。告诉通讯循环另一端的人“是的,我听到了你的话,我也收到了你的信息,但我稍后再讲。”

最大的问题是那些我们正在创造自己的问题!;-)


2
+1好答案。但是,您可能可以用更少的语言说出来。:-)
马修·罗达图斯

+1,因为它不仅会带来压力,还会影响生产力。
科瓦(Covar)2011年

那么,这是总体上缺乏信心还是说-不-缺乏信心?
米奇

1
这不仅仅是说“不”-那太容易了。它是要识别何时说“这不是应该的方式”并提供替代方法。说不只是它的一部分。
2011年

12

第三方组件错误

当您获取某个第三方组件的更新会破坏某些功能时,压力可能会非常大。您没有可调试或修改的源代码,但是如果您的系统依赖于它,那么它可能会非常可怕。一天早晨,发现您的源代码控制服务器性能异常,可能会失去2周的签入时间,这可能会给您带来很大的压力。如果您没有准备,那么这基本上就是泄漏抽象层的想法。轻描淡写任何Microsoft堆栈技术上的公开bug票,这些评论肯定会提供各种压力的证据。


2
+1我遇到了同样的问题...正在与一家第三方公司合作,该公司的服务很糟糕。他们的代码几乎不起作用-经常崩溃,运行缓慢且无法产生高质量的结果。幸运的是,与我合作的公司真的很了解,并且知道问题出在公司(即实际上是在听开发商的话),而不是我。但是,对于许多公司而言,情况并非如此,而内部开发人员就是应受之责。
Wipqozn

10

不切实际的期望。我看到一些客户希望他们在7周的设计周期中可以花费6周的时间来获取开始使用所需的文件,并想知道为什么第二天不做。我见过一些人,他们期望他们可以在星期五4:30交给您一项新任务,并希望您花整个周末来完成这项工作,以便在周一提交给CEO。我见过一些人,他们把您从一项高优先级的任务中取出来执行第二项高优先级的任务,然后生气地发现第一个任务没有按时完成。即使您尽了最大的努力从一开始就清楚地解释了为什么他们的期望是不现实的,所有这些事情都是令人感到压力重重的。

缺乏阅读能力。(我会发掘我曾经发明的那个心智阅读模块的财富。)在用户测试中发现他们告诉你他们想要的不是他们真正想要的是一个压力。


8

这些提供的很多答案都是很好的,特别是Joel列出的压力以及那些不了解自己要求的与金钱损失和急于求成的压力有关的压力。

我遇到的一些主要压力来自

  • Inheriting Spaghetti Code

    • 我有一些疯狂的经验,最肯定需要重新设计轮子。想象一下,在另一位开发人员单手建立代码库一年多后才被录用,却发现他们不知道自己在做什么,惨遭失败并被解雇。到达后,您会被告知您的工作是“完成这项工作”。当然,每4000行代码大约有一行注释。极端缺乏模块化,几乎没有方向。最重要的是,一切都远远超出了将“古怪”的名称(这是可以理解的,有时是伟大的恕我直言)变成纯粹的“ wth-ness”
    • 您应该有两个子要点:P(意大利面条代码不好,对吗?)
  • 有个错误。您知道绝对的事实,那就是它必须涉及一个或两个小的字符更改。截止日期是明天,您需要完成3个功能。该错误需要5个小时才能找到,您不能忽略它。;(呵呵。

  • 试图解释以前的

  • 由于商务上的限制而被困在办公桌上,而如果您只是去公园散步一个小时然后返回,那么您将有黄金代码等待您的指尖飞跃。我个人最糟糕的是,如果您希望我编写良好的代码并快速进步,我必须看到一些树木和天空。毕竟,至少有一半的编程是一门艺术。寻找灵感。

  • 当您回家时,不会因为商务上的限制而被困在办公桌旁,今天就不能只在区域内工作20个小时。有时,我会按自己正在做的事情单击,如果那时我不能整夜都睡不着,第二天就不一样了。我会记住大部分内容,但要花上三倍的时间下降,反正不是很好。

  • 有时咖啡/其他消耗品会使情况变得更糟,而且我的大脑不会像我想要的那样倾听我的想法。=)

  • 15分钟的休息时间。仅仅足以让我失望,还不足以使大脑新鲜。Boooooo。

  • 有时候我会选择一个新的库或一个更糟的新框架。这是我遇到的最令人惊讶的压力任务之一。当一切顺利甚至还可以时,这真是太可爱了。时不时地变坏……哦,男孩。您可以坐在那里,尝试各种风格的无休止的测试,然后把太多的接口弄得满脑子,以至于我的脑海中的某些部分刚刚开始关闭并说:“不,不...我不会那样做。不好。走开。” 只能被迫击败他们屈服。叹。

  • 链接器错误的一种错误。我不确定如何描述它们。

  • 从烦人的文件格式将大量数据导入到对象。有时这很有趣,但有时却很快使您筋疲力尽。我记得使用这种旧的excel格式工作时曾遇到过一些非常棘手且无证的转义字符恐怖现象。再加上我们正在提取的实际列中的信息充满了时髦的字符,这仍然困扰着我。我一直在想:“啊哈,现在可以用了!!!!…………哦……没关系。”


6

我认为很多压力是由于以下前提造成的:

  1. 优秀的程序员通常是可以最高效地完成某些非编程任务(生产支持/故障排除,文档,回答业务或其他团队成员的问题,提供有关未来方向的技术意见)的人员。
  2. 编程是一项最好在长时间不间断的时间内完成的活动。
  3. 了解前提1 >>了解前提2。

结果,经常要求程序员做许多不同的事情,这会侵蚀他们选择的工艺的生产率和工作质量。进行此调用的经理将其视为“胜利”,因为已迅速有效地解决了严重问题,而且成本并没有立即显现出来。

有一些管理它的策略,具有各种优点和缺点。

  1. 时间管理-将一天的一部分时间花在编程上,另一部分时间花在其他工作上,并遵守纪律。这样做的一个缺点是,我最终让非编程工作占用了我的8-5的全部时间,并在晚上进行了编程工作,这不利于工作与生活的平衡。
  2. 教育-这是乔尔(Joel)这样的人在从事约门工作的地方-知道中断15分钟的成本可能远远超过15分钟。(例如http://www.joelonsoftware.com/articles/fog0000000022.html
  3. 团队开发,文档-确保您不是公司技术关键部分的唯一知识来源。
  4. 讨厌的人格-我只是在开玩笑。如果您发展出对打扰做出回应的声誉,人们会倾向于寻找其他方法来完成任务。不过,最好还是做到这一点。

6

我遇到的主要压力是我所称的“ 麦芽综合症”“基本上,有些开发人员认为平庸是可以的,并且永远都不需要进行改进或做其他事情。作为一个在工作之外花时间阅读博客和书籍,收听播客以及观看视频的人,用专业的方式做事,我发现这确实让我感到压力,因为95%的时间我是团队中唯一的人,即使不是整个公司,他也理解为什么例如编写单元测试是好还是为什么在一个类(或做六种不同的事情的类)中包含数千行代码是很糟糕的,并且试图教育我的同事会导致他们看上去空白,这是“我们没有时间修复它的借口” ”,“我们永远不会使用,因为我们之前从未使用过。”或“那是而不是我们做事的方式”,或者在更坏的情况下,我因为试图改变事情而被拒之门外,并被开除。


在因试图使事情变得更好而被解雇后,我可以肯定地说这是我生存的祸根。
韦恩·莫利纳

4

对这个问题很难有一个普遍的答案。人们在不同的条件下壮成长。

  1. 太短的时间内太多的工作
  2. 用户反馈太少
  3. 怪文化
  4. 缺乏信任气氛。

我趋向于发现,对于大多数人而言,工作是造成压力最小的原因,特别是对于程序员而言。公司文化,单位氛围,沟通问题等无关紧要的项目对大多数人造成了最大的压力。并不是说他们不能处理这项工作;如果您愿意的话,他们无法处理厨房中的气氛。

更有用的讨论可能更多地集中在解决上述问题上。


4

“已分配的其他职责”。

我不得不接电话。我不得不在仓库里工作。我必须做库存。我参加了整天的公司会议。我什至不得不出去做有限的草坪保养。

我不知道我是否会再做一份描述中包含该内容的工作。


昨天我花了一半时间弄乱一堆电缆,这些电缆最初看起来像柴郡猫在地板上吐出一个巨大的彩虹毛团。在我的职位描述中不完全是…
Beekguk 2011年

这确实是正确的,尤其是在许多小型办公室环境中。有些人觉得变种很有趣,但大多数人却没有。
PeterAllenWebb 2011年

我讨厌这样的事实,即大多数公司都将这条线包括在内,以表示“老板告诉您要做的任何事情”。不,公驴-因为我是JOB X的专业人员,所以您要付钱去做JOBX。这并不意味着我会做您所说的任何事情。
韦恩·莫利纳

2

管理不善。我无法告诉您,在没有咨询任何实际上对自己所决定的领域一无所知的人之前,或者在不咨询的情况下,我所经历或看到的有关经理(尤其是高级经理和公司高层人员)做出离谱决策的故事有多少个。之前会议的记录,然后再朝着决定的相反方向前进。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.