如何应对“编程狂热”?[关闭]


18

因此,我确定每个人都在某个方面碰到了这个人,有人抓住了您的项目或想法,并开始表现出一些兴趣。您将讨论一些方法,通常在这个时候左右,它们插在一起说明您应如何使用方法X代替,或者仅使用库Y。但这不是一个友好的建议,而是与一条诫命接壤的。经常像狂热的鹦鹉一样一遍又一遍地重复同样的建议。

就个人而言,即使事实证明比以前做的还要糟糕,我还是喜欢在学习时重新发明轮子,甚至只是为了娱乐。但是,这个人显然无法为这种目的而重新创建任何实用程序,或者可能尝试不严格遵循传统OOP做法的东西,除了他们的完美意识之外,什么也不会解决,因此自然而然地将他们的批评淤泥压在我的耳朵上。最重要的是,他们最终通过列出所有他们一手编写的难以置信的复杂代码(通常遵循“相信我,我已经/使用了很长时间的程序X”的思路)来证明自己的建议(延迟)。 , 等等等等等等”)。

现在,我还远不是编程专家,我可能还不够好,因此我很重视建议和评论,但是我认为建议/评论有时间和地点。有帮助和自恋之间也有很大的不同。过去,我可能会采用某种程度更强的乔治·卡林(George Carlin)风格解雇,但我认为燃烧桥梁不再是最好的方法。

您对如何处理这种口头鞭log有任何建议吗?


10
我也喜欢“重新发明轮子”。那是真正了解新技术的好方法。反过来,它可以帮助您与他人合作。另外,坦率地说,重新发明轮子的速度通常与学习,维护和更改某人的糟糕编码,文献记载不充分的轮子一样快。
GrandmasterB 2010年

31
重新发明轮子非常适合学习,因此强烈建议使用。但是,对于将要执行重要操作的“真实”代码,请选择现有的久经考验的解决方案!
彼得·布顿

6
有时,当“重新发明轮子”时,您最终会“建立一个更好的鼠标陷阱”。
Rusty

2
您制造了一个cr脚的轮子,了解它是cr脚的,然后去寻找一个由知道如何做的人制造的奇妙的轮子。

1
@Rusty,问题是它是一个鼠标陷阱而不是一个滚轮;)
Matthew Whited

Answers:


36

不要只是让他们说话。将它们放在键盘前面。短语“好的,请告诉我”应该这样做。我的经验是,大多数打击者并没有那么出色,当他们实际尝试做他们说的事情时,这是行不通的,并且事情变得非常安静。


1
我可以希望。老实说,他们可能是比我更好的程序员,但是我真的很难向一个愚蠢的社交呆子学习,或者在同一个房间里炫耀他的能力,就像是获得完整证书的许可。
Peter G.

1
仅仅因为他们比您强就意味着他们总是知道他们在说什么。
康拉德·弗里克斯

下次发生时,我将尝试您的方法。谢谢。
彼得·G。2010年

2
务实是关键字。
rwong

1
@PeterG。这是怎么回事?

17

我已经编程三十年了。我认识许多人,他们认为我是“编程大师”。想知道我肮脏的小秘密吗?我只是在几个领域几乎没有能力,仅此而已。通常我很烂

那几年,我曾经和一些不可思议的天才一起工作,不是在女主持人上冒泡她的联合明星般的天才,而是智商高超的天才和大写的G天才。哎呀,我读过克努斯。

如果您早晚地努力工作并且足够长的时间,您将会意识到,与那里的才干的广度和深度相比,您能做的最好的事情确实微不足道。我看不出有谁能做到这一点,却没有最谦卑的态度。

任何将他们的观点凌驾于另一个人之上并认为他们的方式是最重要的正确方法的人根本不是一个很好的程序员。相信我。

我的建议是,您在正确的轨道上而不是燃烧桥梁。礼貌地倾听,从中获取最大的收益,然后按照自己的方式行事。


我认为可以通过不同的方式看待“变得很好”,有时我将自己喜欢的编程类型比作熟练的工匠/商人,我怀疑我是否会在计算机科学上取得突破或发明一些疯狂的算法来是一项重大突破,但是从事此类工作的人们通常会厌倦构建“常规”应用程序,因为他们总是想要越来越有挑战性的东西,无论如何我都在四处逛逛,但我认为要成为一名扎实的人就可以说些什么程序员在某些领域,因为您仍然可以对雇主非常有价值
programmx10

5

像大多数社交情况一样,它取决于上下文。

如果这个人担当领导角色(背景可能是一个工作场所),那么除非您能说服他们使用与他们选择的方法不同的技术,否则您会感到不知所措。希望他们愿意接受团队的批评。在许多情况下,我发现就为什么您的特定方法对项目更好而言,提出基于事实的良好论据通常会为他们所用。如果他们仅仅因为“这就是应该做的事”(或其他一些愚蠢的原因)而变得顽固,那么他们无论如何都会看起来很糟糕,而你看起来至少是想变得理性。在这种情况下,我还建议您查看careers.so ...

如果这个人是您的同伴,您几乎可以忽略它并继续前进。最好是让他们解释为什么他们重​​视特定的库或方法。通过讨论,他们可能会意识到您的约束与预期不同(例如,您不需要“超棒的超快速库X”,因为您不需要原始的踩踏板到金属的速度,或者您不需要不想使用“预制组件Y”,因为您的目的是使依赖性最小化。您可能还会对他们的建议有所了解。通常,在这种情况下,我最终都会以自己的方式行事,但是通常我还将至少从他们所倡导的任何方法/技术/库中收集一些有用的信息。

如果这个人在您下面,请告诉他们:)好吧...也许比这个更具建设性(不要是您要与之打交道的那种人!),然后再次尝试了解发生了什么并进行有效沟通。

最后,如果这个人真的是一个顽固的顽固主义者,他不想让步,不放任自流,也不在乎学习。那么您真正能做的就是忽略它,并尽最大努力。


我可能还不足以找到工作,所以这是所有同学/在线人员/等等。我在学习其他方法时没有问题(我确实很重视),但是当我告诉某人我想尝试一下,然后他们反驳说这是一个多么可怕的想法时,我感到很失落。避免是最好的方法。
Peter G.

2
对尼克-我不会忽略一个顽固的同龄人。他们有能力偷偷摸摸地打败你,主动出击。坚强的人也倾向于政治,因此最好不要低估他们的破坏能力,无论他们可能是多么愚蠢。
luis.espinal,2010年

1
@luis“打击狂热者也往往是政治人物,所以最好永远不要低估他们造成伤害的能力,” ...如果可以的话,我会给你+100。去过那里,处理了。
比尔

1
@Peter G-如果您是学生。忽略他们,停止交谈。他们会及时前进,您也一样。如果受雇……您会遇到很多麻烦。
quick_now 2011年

5

尝试弄清楚为什么他觉得有必要以这种方式闯入。

  • 他是否害怕您做错了事并浪费公司金钱/时间?
  • 他没有安全感并且害怕无关紧要吗?
  • 他是否正在通过建议更好的解决方案来帮助自己,但失败了?
  • 他是否误解了您探索解决方案空间的目标?
  • 这是他的友善方式吗?
  • 有人告诉他您应该始终使用X,所以他总是建议X?他们为什么告诉他呢?
  • 他是X技术的推销员吗?

这些都有不同的反应。

有了 “打击狂” 的更好理解(从为他丢掉标签开始),您将更有能力找到合作的方式。

您可能还会调查为什么这会困扰您这么多。您为什么不能忽略他的输入,或者无害地偏转它?


考虑到他可能没有意识到自己的影响而+1。大多数使我们感到烦恼的人都不知道他们在做什么,而且常常我们最终根据我们的经历来解释某人的讲话,这与他们的经历是不同的,因此我们将行为的含义赋予了含义并制定了“规则”除了我们,没人知道。
蒂姆·克拉森2011年

2

切换到功能编程模式。大多数吹牛者都不懂Java。因此,当您用诸如Haskell或Lisp甚至是Ruby之类的怪异东西击中它们时,它们将停止死亡。


1

我会告诉他们不要这样做(如果愿意,可以使用更多的外交手段。)或干脆不理them他们。除了我所说的以外,没有其他选择。(谋杀可能有效,但合法性因地区而异。)


4
我认为这不是应对情况的最佳方法……
TheLQ

1
我尝试过的方法不是外交手段,但我不喜欢这样做。大吼大叫让我感到更糟。很多时候,我感觉自己像在墙上打孔,但它们通常比我大得多(想到的就是shamu)。以我的6英尺130磅的玉米秸秆身材,这就像尝试用管道清洁剂袭击保龄球一样。
Peter G.

@Peter-我正在考虑删除此内容,因为这对我来说并不是一个很认真的答案。
ChaosPandion 2010年

1
没关系。无论如何,生活需要更多的喜剧/讽刺。
彼得·G。2010年

我认为我从未在工作场所中受到如此强烈的推崇,但这可能是您极力的唯一选择。
JeffO 2010年

1

你为什么在乎这个人怎么说?他们是你的老板吗?谁在乎?每个工作都会有一个人,但愿不是您,要他们回避,否则他们会听到他从大厅下来然后躲起来。他们只是不喜欢他。他们甚至可能都不知道为什么。但这就是世界的样子。要亲切,谁在乎。听起来好像您想要一磅肉,然后将其拍打一下。


如果您为这样的人工作很难。
quick_now 2011年

0

在我上一个工作场所中有一个这样的人。他不仅对其他人正在从事的每一项离散任务都有自己的见解,而且他还会大声问“你在做什么-我只是感兴趣!” 就在您正要完成一项任务时,而不是继续进行自己分配给他的工作时。这是一两件事一阵子某事的意见-我们每个人的意见,和生产团队应始终打开,从他们的同龄人有效输入-但它通过要求他们完全是另一前景,当一个人反复提出其他开发商了他们的工作停止他们在做什么,并向他们解释,希望他们能够发展他们在交谈过程中提出的一种意见,即建议他们不要让同事继续工作。

当这个特别的人对我尝试上述操作时,他的开头是“您在做什么?”,我对此进行了简短而礼貌的概述,概述了我刚开始的任务,以防万一他实际上只是随便问我打算从痛苦的先前经历中就这个问题进行漫长而不太启发性的辩论,这是他的意图。在回覆我的概述解释时,他继续说“我不明白?...”,这种语调暗示没有什么比停止我正在做的事情更详细地向他解释我的意图更使我高兴了,我只是说:“为什么你需要了解?”,这阻止了他在他的轨道死亡。

办公室中的其他每个开发人员都闷闷不乐地回到自己的座位上,大笑着,无法回答我的问题。如果可以假设,这里的教训是,这些人总是最好地以礼貌和镇定的方式,但要坚定地与他们打交道。如果您未能使他们的工作受到干扰,并且在开始谈话之前就扼杀任何威胁要进行辩论的对话,那么这些人通常无处可去尝试破坏您的思维过程。


我不确定我是否喜欢这种方法,团队中的每个人都应该知道其他人都在做什么-以及所有方法,否则,如果他们由于某种原因而离开,没有人可以接受。另外,在可能的情况下,整个团队应在技术方面做出贡献,以确保最佳方法。
2011年

我不同意–我们是开发团队,而不是博格。委员会的设计不起作用,斩断和更改任务也就好像开发人员只是可互换的部分一样。我当然愿意向其他人恭敬地为我的工作发表意见和看法,但是如上所述,我在区分已有意见和通过要求其他人停止他们的工作并燃烧自己而使其他人离开他们的工作之间有所区别。时间向您解释他们的想法。有些人只是喜欢听自己声音的声音,而这个特定的开发人员就属于这个类别。

@orbling,听起来像是安排我开会的原因!

@ThorbjørnRavn Andersen:在现代世界中,您经常在各大洲分布团队。安排会议可能是一件非常困难的事情,无论如何都应避免。
2011年

@Orbling,答案显然是关于开发人员位于同一物理位置的。但是,即使对于分散的团队,您也需要进行协调,以避免人们始终受到干扰。

-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.