4

我最近离开了一家大型大学医院,去了一家规模小得多的医院,因为加薪和职业助推器。当然,这两件事通常是令人兴奋的事情,也是一项伟大的成就(尤其是对于我这个年龄的人),但我发现自己每天早上开车上班时都会在里面撅嘴,这就是原因。我加入的新 t=eam 在编码实践、最新技术(是的,他们仍然使用经典的 .ASP)和软件方面远远落后于时代 - 让我在使用 VS2008、.NET 3.5 和 SQL Server 后陷入时间扭曲/BIDS 2008 到使用古老的 SQL 2000/ VS 6.0 遗物。

起初,还​​不错,我认为并非所有公司都立即处于最前沿,只是在等待正确的火花将它们送向变革和改进的方向-不-我开始建议(以专业和非-居高临下的态度)一些新工具以及它们对我们公司和客户双方都有什么好处,但他们(就像我所在的团队一样)看着我,就像我是一个外星人一样,给了我简单的,为什么我们需要那些东西,即使在我提出我的理由之后。

这让我相信我可能没有以正确的方式处理这件事,并希望一些更高级的开发人员/工程师能在他们年轻和刚开始的时候分享他们的经验。我知道时代已经变了,但我觉得它仍然很有用,任何建议都将不胜感激!

感谢大家!

4

12 回答 12

8

除非它们以比以前的技术更容易和更有效的方式解决实际问题,否则采用新技术是没有意义的。(包括学习曲线。)。

可能是您的大学有大量遗留代码,这些代码依赖于那些旧技术。移到后面的可能是一个非常昂贵且令人厌烦的过程,这很难证明是合理的。

引入新技术的方法要么是在架构上进行一步改变,比如整个大学决定迁移到 SharePoint 或其他什么,要么是在一个新项目中,你可以在其中展示新技术的优势,并让现有的开发人员有时间对它们有所了解。

所有这一切都需要牢记的是,大多数人不喜欢改变,而通过改变现有技术,你将踩到人们的脚趾。例如,特定系统或技术的专家。

于 2009-10-22T14:25:51.557 回答
4

首先,要明白,当你是新手时提出重大改变几乎总是一个坏主意。首先你通过表现让他们尊重你,然后你提出改变建议。然后您可能还了解进行这些更改的业务成本,这就是他们没有进行更改的原因。

如果他们在你去那里之前告诉你他们正在使用这些工具,你应该接受这是你选择在那里生活和工作一段时间的环境,然后再提出这个话题。如果他们告诉你他们想要你是因为你有他们缺乏的技能来前进,那么你需要与之交谈的人是招聘经理而不是团队。请注意,这不会为您在团队中创建朋友。

我对你的主要建议是你开始阅读办公室政治。在你再次尝试之前建立一些联盟。可能还有其他人也想使用更新的东西。也许 dba 也不喜欢被困在十年前的技能上。

至于从 SQL Server 2000 到 2008 的更改,您可以指出不再支持 2000,并且当 SQL Server 2010 出现时,不再有直接升级路径。这就是最终让我们开始升级到 2008 的原因。最好在此之前进行转换。研究 Microsoft 网站以了解何时发生的确切细节。

于 2009-10-22T14:41:28.187 回答
3

坦率地说,你不走运。如果他们认为不需要学习,他们永远不会自己去做。你将不得不努力让办公室强制要求更新的东西,并且可能会找到一种方法来支付他们的一些培训费用。或者说服他们的老板解雇他们。

在许多非技术环境中,人们习惯了自己的习惯,并继续使用相同的工具,即使它们已经过时了。看过一百遍。

于 2009-10-22T14:25:59.030 回答
2

这里有很多未知的变量,太多以至于很难给出建议。我想知道:

  1. 您是管理这个团队,还是只是其中的一个编码员?
  2. 您的招聘经理是否为您带来了将团队升级到更新技术的特定任务?
  3. 对于升级所使用的技术,高层管理人员的态度是什么?

如果你负责这个团队,那么由你来制定议程,让每个人都对新方向感到兴奋,并且可能会解雇某人以向其他人表明你是认真的(最好是呻吟声最大的人或拖他的脚最明显)。

如果你只是一个代码猴子,或者如果高层管理人员对现在的工作方式很好,那么开始发送你的简历,因为你无法改变任何事情。下次你找工作时,询问他们使用什么技术的细节。

于 2009-10-22T14:37:15.453 回答
1

这事儿常常发生。

在同意加入他们之前,您应该询问他们使用什么工具以及他们如何工作。我还会指出类似“如果我发现你编造它只是为了让我注册,我不会待太久。”。

于 2009-10-22T14:21:14.800 回答
1

你会发现人们强烈抵制改变,你应该知道人们为了试图改变而拒绝改变的原因。

首先,人们通常是风险规避者(有一些“早期采用者”例外)。也就是说,人们规避风险,任何改变都是风险。

其次,在你的情况下,人们往往害怕改变会把他们放在哪里。像这样看:您团队中的开发人员会想“如果我们改用 xxx 技术,这将如何影响我的职业生涯?这将如何影响我获得晋升甚至被解雇的机会?他们不知道新技术,他们不想过时或失去专家地位或“旧方式”。

最后,所有新事物都很难学习和理解,特别是当您长时间使用旧事物时。这需要时间,让你觉得自己像个白痴。在最年长的团队中(我的意思是指年龄较大的人),这也增加了对于已经了解该技术的年轻人被替换的恐惧。

如果您打算克服阻力,则需要解决所有问题。

首先,事情必须是循序渐进的。一步一步,一次一个产品。不要试图改变整个公司的整个流程。相反,建议采取一个较小的项目并将新技术应用于它。当下既是机遇也是考验。如果它没有用,那么我们将不再使用它,但让我们尝试一下,那么风险将是最小的。

然后安抚百姓。确保每个人都感到感激,并且您或公司更信任该领域多年的经验,而不是使用任何给定的技术。倾听人们的意见,尊重他们的意见,让他们觉得你在乎他们的想法。当然这不应该是一种行为,你应该真的有这种感觉。伟大的团队相互信任。

另一方面,处理变化。里程碑需要更广泛,你必须考虑到变化。你必须让团队觉得你理解改变是困难的,这是一个漫长的过程。如果新事物比旧事物花费更多时间,没有人会受到评判,并且失败是可以预料的,没有人会因此而被解雇。

最后,如果你想要改变,你必须让人们放心,让他们明白改变只是一个测试,如果它对每个人都有效,那么它对每个人都很好,如果它不起作用,那就没关系。当然,公司也需要了解这一点。对于管理者来说,这意味着向他们展示一份清晰的风险与收益报告,陈述事实并告诉他们为什么必须进行变革。

与管理层交谈时,请记住也要记住他们,竞争总是存在的。你必须进化或更正确地总是在进化。即使产品在功能上看起来是一样的,但从营销的角度来看,说你使用最新的 xxx 技术和最新的 yyy 开发技术是一个很好的钩子。客户并不愚蠢,但他们也不是计算机知识,所以他们很容易对模糊的词留下深刻印象,因此竞争可以在没有真正更好的产品的情况下窃取它们,而只是一个“更新”的产品。

还有一件事:也许你会发现告诉他们“谁动了我的奶酪?历史”很有用,它围绕着变化以及市场如何围绕变化而发展。

变化是每个人生活中的基本事物,无论是个人的还是职业的,都应始终考虑在内。每当有人说“现在改变风险太大”或“我们负担不起改变”时,您必须真正考虑一下......是长期看到的情况还是我们谈论的只是短期情况?因为如果是后者,那么我们会很好地知道但从长远来看会搞砸......就像总是给每个人贷款买房子,因为房子总是增加他们的价值......或者他们吗? ..

于 2009-10-22T14:33:21.140 回答
0

仅仅是过时的工具吗?还是他们生成的代码低于标准?如果是代码,你最好的选择是小组代码审查。如果它只是工具,只需制作文章和/或文档,列出它们缺少的功能以及这些功能如何使团队受益。

于 2009-10-22T14:22:08.213 回答
0

如果团队陷入过去,您可能无能为力。一些开发人员要么没有看到新技术/方法的好处(在某些情况下他们可能是正确的),要么害怕改变。我想说从他们那里学到你能学到的东西——你可以学到很多人际交往、项目管理、政治和其他技能。花一些自己的时间跟上当前的技术,并睁大眼睛等待有机会继续做其他事情。现在,学习什么可以。许多开发人员专注于技术,却错过了他们在职业生涯中真正需要的重要技能。

于 2009-10-22T14:24:57.877 回答
0

我们所有人都有自己的平台和技术偏见,当一个新人加入团队并希望将一切都改变为他们的做事方式时,这是一种破坏性的行为,团队经常会试图拒绝这种改变,即使动机是好的。

不幸的是,“您正在使用 Java??糟糕!我们需要立即将所有这些移植到 C#!” 类型使人们理所当然地怀疑新人提出了很多新事物。

在提出一项新流程或技术时,我可能会提出一个建议,即根据他们遇到的和可能涉及的实际问题来构建它。技术不是解决方案,而是解决方案。找到问题,然后也许会提出教一个关于技术的棕色包,强调将根据团队的痛点与团队产生共鸣的方面。展示价值,让他们自己来,而不是采取推销方式。

于 2009-10-22T14:45:43.470 回答
0

你是如何提出你的案子的?专业和不居高临下是好的,但这只是开始。

当你试图说服某人改变时,强调对他们来说是什么。弄清楚他们想要什么,并向他们展示新技术如何提供帮助。

管理层希望完成更多工作并节省资金。经理们不会关心想要更新更好的东西。尝试寻找案例和研究表明,使用最新的东西可以节省 X% 的金钱和工作。找到或创建对成本的良好估计(不仅在工具中,而且在培训、双重开发轨道等方面)。请记住,旧的东西会留下来,你必须有一个计划来解决这个问题。

你的同事需要被告知这对他们有什么好处,他们不会因此而受苦。他们在这方面投入了很多。他们知道自己在做什么,也知道代码库。迁移到更新的系统,他们将不知道自己在做什么,不知道代码库,一开始会无能,并且可能害怕他们会成为消耗品。这对普通人来说要求很多,对某些人来说可能要求太多(比如退休三年的人)。

找出他们不喜欢当前系统的地方,并向他们展示新软件如何提供帮助。讨论培训并至少提前了解转换的难易程度。如果您可以向他们展示如何在新系统中做他们通常会做的事情,而不必担心利用新功能,那将有很大帮助。强调他们的知识不仅仅是代码库,还有业务及其需求。

并且不要期望倾倒遗留的东西。您只能在开始项目时引入新工具,如果它与遗留系统不兼容,它根本无法工作。

当然,这很困难,您最好多呆几年,然后搬到更现代的商店。

于 2009-10-22T14:50:15.240 回答
0

如前所述,忘记遗留项目,如果它们运行良好,您将无法说服任何人重写它们。更好的方法可能是等到一个新项目出现,然后建议使用新工具。争论这些新工具将如何提高效率或其他什么,但不要争论你应该只使用它们,因为它们是新的。对于管理层认为不那么重要的小项目,这样做可能更容易。

一旦您启动并运行了一个项目,您就赢得了一半的战斗,并且可以将其用作新技术对管理层的优势的示例。

总之祝你好运。

于 2009-10-22T14:56:28.427 回答
0

当新人进来并开始宣讲——即使是以一种完全合法、积极和乐于助人的方式——关于新工具,它通常可以建立一种“你对他们”的氛围。

不应该是这样,但承认这些令人惊叹的新工具将为他们节省大量工作,这是一种含蓄的承认,他们一直在浪费大量时间。即使他们在个人层面上对此感到满意(撇开外部限制不谈,大多数人只想做好工作!)如果“新人”知道的多于他们。

想法:让他们和你一起参加一些当地的开发者活动。然后,这更像是你们一起发现了令人兴奋的新事物,而不是“我的工具比你的更好”的事情。

最重要的是,您需要投入一些肘部油脂并确定一些项目,以便您在新工作场所建立信誉。

另外,我一直认为 SQL Server 2000 很棒。SQL 2K5 和 2K8 是不错的升级,但 2000 确实是可靠的东西;这不像他们在 Access 上运行。

于 2009-10-22T16:53:06.337 回答