我能做什么?你会如何反应?救命![关闭]


13

我试图领导一个落后的软件团队。主要问题之一是,每当有些困难时,我最终不得不将其分配给自己。我还有另一位具有中等技能的开发人员,并且有一半是实习生。不幸的是,其他开发人员的技能不包括设计。

因此,我向其他团队之一的老板请求我的老板,他在这里工作的时间比我更长(5年)。他无法在设计或我们使用的语言上与我竞争,但我认为他是除我之外最能干的人。

今天,他给了我一段代码,该代码在某些方面与以下内容没有什么不同:

object const& my_class::get_object() const 
{ 
  return *std::unique_ptr<object>(new object());
}

他问我这是否有问题!我说的唯一我想的是:“是的,这是一个问题。” 然后他来到我的办公桌问我如何解决它!我说:“使用在函数调用后仍然存在的对象。” 然后他开始吓坏了,“是的,但是,我唯一想到的就是使成员变量可变。”

当时我有点忙,因为我已经在努力做一些额外的工作,我不得不接替团队中的另一个人,因为他不知道...我告诉那个人离开,因为我很忙,自己去弄清楚。然后他大声疾呼,谈论如果把事情搞砸了不是他的错。自从他加入团队以来,他就一直表现不佳,我认为情况不会越来越好。

我觉得我在这里淹死了。我可以做什么?处理该问题的正确方法是什么?去帮助这个已经写了7年C ++的家伙弄清楚如何正确返回对该对象的引用,该对象在返回时不会被破坏会更合理吗?我觉得那简直太荒谬了,想知道我怎么会那样做。

有时我认为他们是故意这样做的,但是在我看来,这只是be跷...但是,话又说回来,今天刚刚问我的问题也是如此。这不是一个坐在家里试图弄清楚他的第一个程序的孩子,他的大脑被指针炸了。


4
惊叫!!!并继续咆哮。它使您感觉更好。哦,等等,我知道您已经在这样做了。尝试微笑。:):D(邪恶的微笑也可以。>:D)
Mateen Ulhaq 2011年

他只是给我发了一封电子邮件,因为我有一个“强烈的愿望不被中断。”他无法继续,并要回其他项目:对

7
为什么有些人对C ++项目的指针和内存管理一无所知?
Charles Salvia

2
一种可能的解释是:多年来,普遍的观点是STL尚未准备好迎接黄金时间,并且会产生过于code肿的代码,以至于无法用于生产。过去可能是一个相对复杂的C ++程序员,而对STL却一无所知。显然情况已经改变。但是,如果他在90年代末接受过培训,或者在90年代末接受过培训,那么他可能会嘲笑new object()很好,但完全不会受到这种新奇的std :: unique_ptr <object>的束缚()东西。它不能解决您的问题,但可以解释他的来历。
Charles E. Grant

2
@Charles:同意,我有几年在游戏行业的C ++经验,并且从未接触过STL,也从未对此一无所知。看着那个代码段中,所有我能做的就是摇摇头,并认为,“如果你想要写C ++,写C ++,但它看起来像你希望编写C ++,那么为什么不直接使用一个更高的水平语言?”
Carson63000

Answers:


14

去帮助这个已经写了7年C ++的家伙弄清楚如何正确返回对该对象的引用,该对象在返回时不会被破坏会更合理吗?

几年前,我放弃了我所有的C ++书,同时发誓我再也不会碰这种语言了,甚至我也可以告诉这个家伙不知道他在做什么。我认为您应该和他坐下来,找出他的技能水平。

听起来他可能有7年的1年经验,而不是7年的经验。在大型公司中,技术熟练的工人很可能会在被发现时隐藏自己并在“系统周围”洗牌。

我试图领导一个落后的软件团队。主要问题之一是,每当有些困难时,我最终不得不将其分配给自己。

如果是这种情况,那么您必须停下来弄清楚人们的技能水平是多少。我知道您对截止日期等感到不知所措,但是当您甚至不确定团队的组成部分时,您将无法完成工作。如果您继续犯同样的错误,您将无法完成项目-这次更快。

独自承担所有工作意味着您没有团队,也对他们没有任何信心。那必须先解决。


7
+1表示“听起来像他有7年的1年经验”。
马修(Matthew)阅读了

@马修:是的。
IAbstract

13

这类问题是管理的基础。所有管理人员都需要问的一个问题是:“我的员工具备完成这项工作所需的技能吗?” 如果答案是“否”,那么好经理不会尖叫或辞职-好经理会纠正这种情况。

这是一个观察结果-C ++不是一种琐碎的语言,是否有可能使用您的初级开发人员更胜任的工作?如果必须使用C ++,则您需要培训现有的开发人员,或雇用具有适当技能的新开发人员。

一年前,我处在一个相似的情况。我被带入了一支由VB6程序员组成的团队,从事意大利面条代码的开发,管理的愿望是转向使用.NET编写的结构良好的面向对象的系统。我们在这方面取得了一些出色的进展,因此这种转变可能的。

最后一条评论。如果您不喜欢处理此类问题,我将退出管理,转回纯粹的技术角色。这些杂乱的探针是经理生活的基础,并不适合所有人。


4
这是许多员工似乎没有的管理观点的一个很好的例子。
马克C

是的,我不是管理者。有时候,我希望自己能在这些问题上有更多的地位。其他时候,我真的很高兴我没有,因为我没有必要。我只是技术主管。
爱德华·斯特兰奇

1
嗨,诺亚,我会和当时管理团队的人聊天-他们负责确保合适的人员可用并具有合适的技能。
Craig Schwarze

9

在更好的公司找到一份工作,在那里您可以与有能力的人一起工作。


7
或者,或者停止使用C ++。这将解决许多不同类别的令人讨厌的错误。
梅森惠勒

3
@梅森:我同意。每个人都编写C#并感到高兴。:)
IAbstract

2
仅在适当的C ++时才应使用C ++。我不知道现有的语言能够像它一样完成C ++的工作。
马修(Matthew)

2
@Matthew read,对于像OP例子中那样不称职的程序员,C ++永远合适吗?
丹·罗森斯塔克

4
@Yar:尽管一个糟糕的程序员用每种语言编写了糟糕的代码。
乔恩·普迪

7

正确的事情是帮助他解决问题。不一定要当场就对。您可能会说:“我现在被束缚了。去阅读C ++ STL的第十章,让我们在明天上午11点再次进行交流。”

如果仅仅是出于动机,那么喊叫可能对某些人和某些情况有效。但是,如果这是能力或知识的问题,那么对人们大喊大叫并开除他们根本没有帮助。这就像对不会说英语的人大喊大叫。它不会帮助他们理解您要说的话,并且可能会扼杀他们为帮助您而不得不采取的任何动力。它们就在那里,您的愤怒或沮丧不会使他们在接下来的48小时内更好地编写C ++。您可能还需要回到管理层,并说明该项目的范围超出了您团队的当前技能。像这样的事情就是为什么要成为团队负责人的过程很难。


我没喊 我只是说,我现在很忙。我确实把他吹了。
爱德华·斯特兰奇

3
@诺亚,我当时不在,你在,所以我屈服了。但是请考虑一下:那些非常沮丧以至于他们认为人们故意在做愚蠢的事情,而不是愚蠢地做愚蠢的事情的人,往往会通过紧握的牙齿以非常紧张的声音说话,同时认为他们在微笑并保持沉默。另一个人可能也因此感到压力,以至于他们听到:“您能在10分钟后回来吗?” 如“把脏东西从我的办公室里拿出来,你这尘土飞扬的东西!”。成为团队负责人通常就是通过肢体语言和语音来操纵灵长类动物的行为。
Charles E. Grant

3

好吧,如果我有一个已经写了7年代码的人问了一些听起来很基础的东西,我将想知道还有什么其他情况。我不是C ++程序员,所以我无法在这方面发表评论。

我想知道的是,正如他的上司所假设的,如果正在发生其他事情,这会分散他的注意力。我意识到您那时可能还没有时间,但是您应该做的最后一件事就是像这样将某人赶走。

留出一点时间与他交谈,然后让他知道:“我了解您对此的紧迫性,但我现在没有时间这样做。我会尽快通知您。我希望不超过一个小时。”

这样,您已经表达了对他的紧迫性的理解,您没有时间,而且您会和他在一起。甚至与您什么时候会回到他身边的期望一样。他会比被甩掉感觉更好(这就是我的看法)。

您现在应该做的是留出一些时间,让他知道何时可以与他讨论该问题。回到过去,吞下一些自豪感,让对方知道您了解他的紧迫性,而没有时间去解决。您还应该查看他的个人区域中是否有任何可能影响他注意力的东西,即其他可能使他分心的东西。个人生活也会影响我们的程序员。;)


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.