好的项目经理需要编程背景吗?[关闭]


20

有时候,当项目经理要求我估算完成各种任务的时间时,我无法忍受。估计是一种猜测,而猜测可能是错误的。通常,糟糕的要求和文档会导致错误的猜测。

因此,我经常想知道项目经理是否曾想过要猜测任务X和Y会花多长时间,以及基于从客户那里了解和收集的很少的东西来给它分配一个数字有多困难。

那么我的问题是:优秀的项目经理需要具有编程背景吗?

也许问题应该是,优秀的项目经理以前需要成为优秀的程序员吗? 有相关性吗?



如果我的回答不只一个字,我会这样发布。回答?“是”
钻机

Answers:


21

管理IT项目绝对不同于管理其他类型的项目。我曾经听说过没有 IT经验的项目经理。他最终使程序员感到沮丧,并基本上吓跑了他们。

另一方面,成为项目经理的程序员可能会成为控制狂,认为如果他不能让程序员正确地完成工作,他可以​​解决问题(这在类似情况下是我的问题)


3
+1为第二点。普通的程序员是最糟糕的经理。
拉胡尔2010年

2
“绝对不同于管理其他类型的项目”,我会说是的。
NimChimpsky 2010年

2
“我曾经听说过没有IT经验的项目经理。” 我与一个人结婚,在时间和预算上至少完成了两个大型项目,并且有些人想从其他团队加入团队。
NimChimpsky'9

1
那他就不能成为我听说的项目经理!;)
Ivo van der Wijk 2010年

1
@NimChimpsky,所以您说您不需要软件工程技能,了解IT人员的个性(性格内向,怪异),了解将人添加到较晚的项目中会使其变得更晚,等等?我不是在这里谈论“能够编程”,而是在了解开发软件时涉及的内容。
伊万·范德·维克

20

具有强大技术背景的经理通常会更好地了解团队如何“思考”。最好有一个了解您的经理,不是吗?


1
在某种程度上,我认为是正确的。另一方面,我认为作为程序员,我们需要在交流和学习如何像非技术人员那样思考的方面做得更好。我认为这是一个专业人士自然成熟的一部分。不仅如此,它是一个更容易改变自己比它要改变别人地狱:P
HY

7

不。两种完全不同的技能。糟糕的项目经理不一定是不懂IT的人,反之亦然。

合理,理性,有条理,理解项目目标和相关业务以及良好的激励者根本不依赖于能够编程。


不同意这一点。
布达

@Budda很好,这是经过深思熟虑的,并对提出的问题进行了深入分析。感谢您的输入。
NimChimpsky 2015年

7

在其他所有条件都相同的情况下,我希望有一个能力强的项目经理, 最新技术经验。但是,在现实世界中,毕业于专职项目管理的程序员更有可能让他们的技能变得过时和过时,但这并不比没有技术背景的程序员要好得多。

我曾与优秀的项目经理和一些糟糕的项目经理一起工作,老实说,我发现他们的管理能力与技术背景之间几乎没有关联。最重要的因素不是技术背景,而是他们拥有多少经验软件项目。如果您有两个人来管理他们的第一个项目,那么毕业于项目管理的程序员和没有IT背景的项目经理一样糟糕。两者都将经历陡峭的学习过程。

关于没有技术背景的项目经理能力的争论让我想起了一些:

替代文字


3

老实说,我认为答案是否定的。要成为一名优秀的项目经理,必须要具备全部能力,而成为一名程序员并不是其中之一。一个好的项目经理可以管理任何类型的任何项目,因为项目团队中有很多知道他们在做什么的人。项目经理应具备的主要素质是沟通能力。项目经理的工作是协调项目任务,并保持客户,项目团队和任何其他利益相关者之间的沟通畅通。他/她应始终了解团队的进展情况以及他们是否遇到障碍,但无需知道问题是什么或需要解决的问题,除非它将他人牵连到团队中,而他/她的时间将需要进行调整以帮助解决问题。

至于估算,这是任何工作中的现实。如果电工不能告诉您接线需要多长时间,您将永远无法准时盖房子-您什么时候知道要预订墙人?我同意,尽管由于难以理解的数量众多,IT部门实际上很难做出估计。客户并不总是知道他们想要什么,他们往往会忘记告诉您很多事情。我以前所做的是大致估算出我认为需要多长时间,然后将其乘以2!一个好的项目经理不应该在您的估计被证明不正确时把您钉在十字架上,这将使他有些头疼,无法重新安排时间表,与客户交谈,向老板解释这将花费更多,等等。但是这是他们工作的一部分-再次,

我什至会说,没有任何编程技能会更好 -前程序员可能会尝试自行估计,或者第二次猜测您的估计。我们都知道,IT技能很快就会过时。当项目经理对您将如何执行任务而不是需要多长时间以及何时完成更感兴趣时,您需要开始提出问题。他们可能会要求您评估替代方案,然后让您散列详细信息,但要点是要知道您将如何影响项目的进度。

最后,我并不是说管理一个IT项目不需要任何IT技能-IT人员是那种似乎无法理解他们对普通人说的话的类型(!),它有助于了解基本的术语,以便能够与他们交流!另外,了解基本步骤至关重要 -您需要在服务器上运行网站之前先设置服务器。如果我不知道电工在关闭墙壁之前必须完成布线,就无法管理建筑项目!!


我认为这听起来非常好并且很理想,但是除非有一定的编程和技术经验,否则我从未见过一位擅长管理的IT项目经理。否则,感觉就像他们不知道自己在说什么。
海绵

对不起,我读完书后很难说出重点。
Nam G VU

3

PM确实需要知道该项目将做什么,这可能需要一定的技术背景,但并不需要开发。

除此之外,还需要尊重领域和开发人员,而不是实际知识。PM需要认真对待开发人员,他们需要什么,他们可以做什么,他们不能做什么,需要多少时间。一个对自己不知道的事情有所了解的项目经理可能非常有效。一位认为自己能回答所有问题的PM不好。这可以是一个前开发人员,他相信他或她什么都不知道,也可以是一个从未开发过并且认为自己不需要任何特殊技术知识的人。


为您的想法+1A PM who has some idea what he or she doesn't know can be very effective
Nam G VU

2

我认为IT项目的项目经理不需要 IT背景。但是他/她必须绝对了解IT,并且应该知道IT项目的工作方式。

尽管IT背景是一个额外的优势,但缺乏IT背景并不能使它成为一个不太好的IT项目经理。是否具有IT背景也不是决定因素。

我曾使用过两种类型,每种都有其独特的特质和问题。

在IT的背景下:
-因为代码不是多线程的
,所以我们会理解何时出现性能错误-但是,在某些情况下,会说“嘿,这只是添加4行代码,您可以在10天内完成”

没有IT背景:
-非常容易就更改截止日期进行谈判
-对于没有任何要求的项目(到目前为止),有时会说“我们能否粗略估算100天并提及30%的缓冲时间。


喜欢通过两种方式详细介绍自己的经历的方式。
Nam G VU 2016年

2

我相信他们确实需要一些编程背景。如果不是这样,他们将总是向程序员施加压力,要求他们在实际需要大量思考和奉献的情况下在几个小时内完成任务。这些素质是众所周知的,并且对程序员非常熟悉,因此,如果项目经理具有编程背景,那么他/她将了解特定任务将花费多长时间,并且部门内不会有任何争论,因此最终将发展出一个好的项目。


1

@NimChimpsky我同意。

这是什么问题,而不是如何问题(主动聆听是一个不错的工具)。

估算适用于小型技术任务,但是对于计划,您需要共同努力才能看到​​整体复杂性。而且你没有竞争对手。


1

如果他们不是一个好的项目经理,那肯定会有所帮助。对于一个好的项目经理来说,确实很重要。


1

没有。

一个好的项目经理是一个能够理解和理解团队的需求,偏好和能力的人,无论是在施工现场,生产车间还是软件开发机构。

一个好的或坏的项目经理可以具有任何背景:

具有技术背景的糟糕管理人员本来可以成为高级程序员,他们不喜欢新手在处理诸如指针之类的平凡而“简单”的概念时所面临的困难。

一个好的管理者可能是那种普通的程序员,他不像他的同事那样聪明或聪明,但是对项目结构,要求有深刻的理解,并且内心深处了解《神话人月》的课程,因为他本人和自己都过着糟糕的编码日子。由于未按时完成交付而被咀嚼。

一个好的经理人可能是那个软件销售人员,他发现他的编码员朋友由于他本人给客户的不切实际的承诺而不能在周末和他一起出去。

技术知识并不能预先确定程序员的经理资格,因为这两项工作所需的技能完全不同。所以不行。


1

我从来没有见过没有IT经验的项目经理可以管理一个值得一去的非平凡的软件开发项目。我见过很少有具有 IT经验的项目经理可以做到这一点,但是他们似乎没有那么做。


总的来说,具有IT经验的项目经理比相信开发人员的估计要好得多。
Huperniketes 2010年

这是一个更大的问题。即使当您问某人“您需要多长时间完成X?”时,某人的准确性或高或低,即使您不知道他在项目完成您的计划之前也需要做Y和Z严重缺乏。那就是知道要问什么问题的问题。
罗伯特·罗斯尼

1

以我的经验,管理是关于有效的沟通和决策。考虑到这一点,理解自己所管理人员所使用的工艺(至少是核心概念和术语)的人比不那么了解的人更适合成为经理,这是有道理的,但是肯定有没有相关性。我已经看到具有编程经验的经理成功和失败,就像没有编程经验的经理一样。

在我看来,任何一种极端都是不好的。编程经验太少的人可能会盲目地信任他们的程序员(谢泼德紧随其后)。经验丰富的人可能会不断质疑团队的工作(微观管理)。

我个人认为,对核心编程概念有很好的了解,但意识到自己并不是“热门”的人是理想的管理者。


0

绝对是

我必须小心这一原因,因为它是基于真实的故事,但我会尽力解释自己的痛苦。

我现在是一名软件工程师,并且我们有一个项目经理,最近我经常和他一起工作。他没有技术背景,似乎对他完全不感兴趣,但这不是问题所在(每个人都有自己的兴趣)。如果您不喜欢技术诀窍,那会比您自己更“怪异”,但是如果您要在技术层面上与客户交谈是您的工作,那么拥有技术知识至关重要,而他不具备有。

无论如何,这个家伙对服务器如何工作,网页如何工作,编程如何等等一无所知。有时我觉得他什么都不知道。因此,每次我试图让他弄清楚我们现在要做的是什么,或者问题是我们目前所面临的是什么,他一无所知。而且他不是那种会说“稍等片刻的人。您能再说一遍,我真的不太明白这一点。” 不,他是那种不想表明自己在整个对话中什么都不懂的人。

但这并没有到此结束,因为他随后打电话给客户并说了一些基本不正确的内容。最终,我们不得不召集客户再次澄清。

这就是为什么我说拥有一些基本的技术背景和技术知识真的很重要。他不应该能够编写代码,但是他应该应该能够理解正在发生的事情以及必须完成的过程。

顺便说一句,因为我和他一起工作,所以我的工作不再有趣。


我想说,更重要的是要了解项目要交付的业务。因此,如果您创建用于医学/建筑/社会工作的软件…… 这更重要。我有出色的pm经验,没有编程背景。不要让一些不好的经历影响您。
NimChimpsky 2010年

2
这听起来像是所讨论的人没有适合PM的性格。我认为他们没有技术背景可以改变这一点。
richeym

@NimChimpsky是的,基本上你是对的,但这也是这个人在公司必须做什么的问题。如果他必须在技术层面上与客户交谈,则必须具备技术背景。但是,我不想说没有优秀的PM,并且没有或只有很少的技术背景。
OemerA 2010年

0

我会说是的,他应该具有一定的编程背景。如果经理不了解编程的线索,那么他最终将获得不切实际的开发和错误修复估算。而且,他不会很好地理解任何技术问题来做出决定。团队中的程序员可能对他撒谎,而他可能没有意识到,程序员也可能告诉他一个问题,他可能认为他们在胡闹


0

技术技能不能造就好经理,好的管理技能就可以。如果经理在“工作槽”中完成工作,这可能会有所帮助,因为他们可以了解外行无法做到的过程。但是,这也可能导致控制狂,甚至控制狂外行管理者也没有。他们可能会尝试自己完成所有工作,或者以极其不舒服的方式仔细检查您的工作。

以我个人的经验,我曾经有过的最好的经理对技术一无所知,但他知道在他之下工作的人都知道他们的东西,并且他知道如何赢得团队的忠诚和尊重。我在他的领导下工作了四年,只离开了公司,因为他离开了,被一个不那么好的经理代替。

我所经历过的最差的经理之一是精通编码(如果不是软件设计),他自己做了大量的工作,以至于他给我们其余的人留下的只有废品,错误修复或他不想要的项目。做自己。


0

似乎有些混乱:

项目经理不是开发人员的老板。开发团队的负责人(团队负责人,经理)以及进行招聘和评估的人应确定您是否足够努力。

估计并不完美。我认为项目经理比您理解的多。您是否真的希望没人会问您做某事需要多长时间?每个男孩都想知道何时完成以及跟踪它是PM的工作。

您可以成为PM是您:A)了解如何管理项目B)了解开发过程。这些都不需要编码知识,但是可以提供帮助。

除非PM兼任团队负责人,否则确定程序员是否做得足够好并不是PM的工作。要知道某人是否在完成任务的时间上“冒烟”,如果经理了解所涉及的内容,将始终具有优势。

经验丰富的程序员在进行特定类型的项目工作时,估算会变得更好。没有人期望它们是完美的,但是他们确实希望您能够做到完美,并随着时间的推移变得更好。


我不同意 团队负责人经常担任PM;如果不是,通常参考PM来评估编码器。
Nam G VU

PM可以在时间轴和用户对代码质量的评估方面评估程序员所做工作的最终结果,但是对于开发团队的日常实践并没有具体的规定。
JeffO

时间轴决定那里的每一件事。
Nam G VU

0

我想起了一句老话:“您不必为在这里工作而疯狂,但这会有所帮助。”

简短的答案是,动手编码经验不是好的软件PM的必要条件,但通常是首选。成为一名能干的PM的关键是理解开发过程(无论使用哪种方法),并相信开发人员愿意并且能够胜任其工作。开发经验可提供有关该过程的动手知识,因此会有所帮助。在公司中上进的PM经理还了解公司文化(和代码库),并且与开发团队中其他长期服务的人融洽相处,这就是IMO从内部提拔最佳PM的原因从外面带进来的 如果公司外部的某个人比内部的某个人可以更好地管理团队,那是非常错误的。

我提到的一件事是PM与开发团队之间的融洽关系。这既在人际层面又在技术层面上。这里的关键是沟通。开发人员必须感觉到他们可以为PM带来技术和人际问题,并且PM在描述问题时必须理解开发团队成员。

关于您问题的具体性质,估计值就是这样。关于数量的有根据的猜测(与假设相对,后者是对未来事件结果的更一般的预测)。经理通常会根据您最近的估算值与实际时间表,在数学上或直观上应用一些修饰符。敏捷将其纳入估算过程;客户直观地估计需求的复杂性,然后开发人员进行同样的操作,然后开发人员实际出去开发解决方案,为经理提供数据点以计算需求点与开发点的比率,以及开发点与人工的比率小时的要求。

简而言之,经理只会在以下三种情况之一中对您的面值进行估算:

  • 您过去对类似任务的估计非常准确。
  • 他承受着交付的压力,您的估计比他想象的要好。
  • 他正在寻找解雇您的理由。

如果是最后一种情况,那么工作场所周围还会有许多其他线索,也许您应该摆脱困境。


-1

我不知道,但是我的经理确实需要一些技术知识。有时无法解释他。

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.