您如何决定是否应该参加一个项目?


11

我是一个相当新的开发人员。从专业上来说,我在C#中实习了两年,而在初级开发人员中做了六个月。我一家人的朋友需要一个用VB.net编写的项目的帮助。我从未使用过VB.net,所以我有点担心。

但是,真正的问题来自这样一个事实,即一旦我查看了该项目的文档,我就会感到没有什么真正的好处。我有一种感觉,它将比我目前的生活压力更大。

有经验的开发人员如何决定是接受还是放弃项目?有哪些好的指标可以使决策更容易?

编辑

实际上,这似乎是一个非常大的ERP,他希望我继续工作,而且我不相信他对编程一窍不通,所以我认为我还不太初级的事实甚至没有引起他的注意。


10
这是一个艰难的决定吗?您不喜欢这些规格,也不相信它们。你为什么要参加这个项目?
Vitor Py

2
这是我目前拥有的一个真实示例,但是我认为一般来说,就如何选择项目展开讨论会很有帮助,因为没有类似的问题。
J隆德伯格

@J Lundberg:为了响应您的更新,我已经更新了我的答案。
FrustratedWithFormsDesigner

3
如果他不懂任何编程,那为什么还要坚持VB.NET?他显然不会与您合作进行该项目。没有理由在.NET中的C#上使用它。您可以编译现有的VB.NET,并将其用作C#代码中的库,反之亦然。
乔纳森·汉森

“需要帮助”-这是已付款还是未付款?

Answers:


11

根据我的经验:切勿为需要与之度过假期的家庭成员或想保留的朋友做花钱的工作。所涉及的一方总是会感觉到另一方要么收取过多费用,要么支付的费用不足,从而给了另一方以帮助。当最后期限到来时,他们通常是最不了解的东西,并且在beta测试期间通常是无聊的事情,因为如果您有一个bug(您愿意),他们将不会理解。总是一团糟。

我曾经是理想主义者,认为其他所有人只需要更好的人际交往能力,但是不,这就是事实。当不了解软件开发过程的人们在看到它们的第一刻就总会感到不满意。对于项目经理来说,与家人一样,这也是事实。问题是,您必须与家人和朋友保持关系,而事情从来都不是严格意义上的事情。

就是说,如果该项目将增加您的压力水平,并且您不需要钱,那为什么要花钱呢?尤其是如果您已经拥有要胜任的软件开发工作,我想说的是,您应该将自己的全部工作奉献给出色的日常工作,因为这最终将使您获得高质量工作的回报。

如果您确实需要钱,并且对家人的潜在损失没事,那么就接受这份工作。除了我之前提到的内容之外,可能发生的最糟糕的事情是,您了解自己的本领和不擅长的领域,或者您发现自己咬得太厉害,无法咀嚼,从而导致该项目很糟糕。由于您的经验不足而引起的头痛。我在目前的工作中做了两次,很幸运,我对雇主非常了解。虽然我在水里死了,这很痛苦,但是我出现了一个比以前更好得多的程序员,具有更广泛的技能。

没有演算来确定要放弃和保留的工作,只有经验和您的个性。您只需要决定自己的价值并追求就可以了。注意事项:

这是我会喜欢的项目吗?团队是我喜欢与之合作的团队吗?

他们将提供哪种付款方式?如果没有,我将获得什么专业发展?他们是否提供任何形式的分担风险(即股票期权,利润百分比)?这对我来说是很有说服力的。

无论如何,这些只是您决策中要使用的原则。这一切都取决于您的价值。例如,我重视与家人在一起的智力挑战和时间,因此我通常高度重视项目的内容和学习技能。但是,我也要确保事先声明我每周只工作2到3夜,这样我就可以整天工作,因此可以与妻子和孩子共度时光。我调整了截止日期以满足这一需求。如果他们不喜欢,那我就不接受这份工作。

无论您做什么,都要确保清楚陈述自己将做什么和不愿意做什么,并确保他们在上任之前明确陈述自己的期望。可能发生的最糟糕的事情是客户的期望值未声明,而您却低估了这些期望值。

附言:我真的希望我在职业生涯的早些时候读过本文。它适用于我的最后一段。http://www.joelonsoftware.com/articles/fog0000000356.html


5
+1表示“永远不要为家庭工作”。除非双方都没有对它投入太多资金并将其视为纯粹的乐趣,否则,即使这样,也应该小心。
Ethel Evans

11

有经验的开发人员如何决定是接受还是放弃项目?

我需要这份工作吗?如果是这样,我将“接管”该项目。

有哪些好的指标可以使决策更容易?

我有多少选择?大于1?我可以选择其他方法。

只有1个?好。就是这样。

“我生活中的压力”的问题尚无定论。不参加项目意味着不能维持就业;这将带来灾难性的后果。

如果您拥有财务上的自由,而“压力”是决定因素,那确实很棒。


3
+1:您可能会想到的还不止这些,但这几乎可以归结为每次。
Ryan Hayes

@ S.Lott-我确信您经常有机会从事多个项目。您似乎不太可能经常处于“执行或死亡”类型的情况。我可能承担的太多了,但这似乎有点草率,因为有您经验的人肯定选择了在这里和那里拒绝一个项目,并且在您不需要时就接受了一些项目。 “争夺现金”的意义。
Morgan Herlocker 2011年

1
@ironcode:“我可能承担的太多”。真正。由于压力,我从来没有机会拒绝过一个项目。
S.Lott

@ S.Lott我的意思是从某种意义上讲我已经找到工作了,而做这样的事情可能会使我与家人的零时光。
J Lundberg

@J Lundberg:请更新您的问题以包括所有事实。
S.Lott

5

您将从这个项目中获得什么?钱?经验?还有吗

  • 钱:是来自家庭成员(我尽量不与家人做生意,但这是另一回事),它很小(所以听起来不错),您还很初级,所以不要指望很多从中赚钱(根据我的经验)。

  • 经验:您将学习一种新的语言!这在将来可能很有价值,可能使您比仅懂C#的.NET开发人员略有优势。

但是你的直觉告诉你这个项目不好。这是为什么?听起来您至少可以从中获得一些经验。

大多数承包商首先要看他们将决定进行一个项目的钱。理想情况下,更困难的项目可以带来更多的资金。如果这很困难,它应该会赚钱,但是我不知道要知道您是否真的会得到好的报酬...


针对您更新中的详细信息:告诉他,这远远超出了单个初级程序员的范围。您也许可以进行几分钟的研究,看看是否有现有产品可以满足他的要求,并查看“功能”页面是否谈论定制/插件/可扩展性。如果那里没有现有产品,或者需要完成大量的插件编程工作,他可能还想与定制软件商店交谈。承认一个项目对您来说太大了没什么错-它比接受它并彻底失败更好(特别是如果它是一个家庭成员-家庭功能可能会很尴尬并且承受多年压力)。


3
A friend of my family

就个人而言,如果涉及到这句话,我不会参加该项目。


2

作为自由职业者,我只接受我有信心能够按时,按预算和高质量完成项目的项目。拒绝一个项目并不意味着失业-至少不是永远。接受您无法交付的项目会付出一切代价-金钱,声誉,健康。

当一个好的客户需要一个新项目而又根本不适合我的技能的帮助时,有时会有些困难。但是即使那样,还是最好还是诚实一点,让别人去做。

就您而言,您可以并且应该拒绝该项目-您经验不足,您不懂该语言,对于您来说太大了。


1

我从事自由编程已有20多年了。为了使一个项目真正成功,它至少需要满足以下条件:

  1. 知道用于部署的编程,软件和硬件技术的人-或足以真正快速学习部署技术的类似技术
  2. 知道问题域,并且能够并且愿意将其转换为程序员可以使用的规范的人。(如果程序员也是领域专家,并且项目足够简单,那么规范可以在他们的脑海中或非正式注释中。)
  3. 精通管理项目任务,时间表等的能力,意愿和经验的人,并且知道您在估算和避免这些事情方面会遇到的陷阱
  4. 负责管理所有项目涉众(包括程序员和客户)之间的沟通和关系的人员
  5. 双方的顾问和客户,在保持日常业务事务(包括合同和金钱)方面经验丰富。如果您自己没有这种经验,可以在经验丰富的顾问陪伴下来。
  6. 与您建立了公平的业务关系,如果您必须做出艰难的业务决策,那么您在工作之外就不会遇到任何问题
  7. 一个足够大的团队,具有专业知识,工具和资源的正确组合,可以在要求的时间范围内交付高质量的产品

您描述的是一位对编程一无所知的家庭朋友,他希望您(一个没有经验的程序员)使用您不知道的技术来构建ERP系统。

在我看来,这种情况肯定在#1,#3,#6和#7以及所有这些元素上都没有出现。正如亚当在《神话杀手》中所说:“这是灾难的秘诀。”

哎呀,我自己不会用十英尺长的杆碰到这个。我可以继续讨论我在这里看到的其他危险信号,但是基本上,我对你的建议是随你的直觉而行的,因为你是对的:“没有什么真正的好事会因此而来。”

因为这是一家人的朋友,所以如果我是您,我只会说:“您的计划很棒,您需要一个真正优秀的人,而我也没有经验,无法给您应有的成果。”留在那。

我还发现,当您的客户在某个领域遇到问题时,在其他方面可能会遇到问题。一个准客户甚至会考虑由初级程序员设计和实施ERP系统,要么太无知以至于对自己和他人造成危害,要么简直太便宜了,而其中任何一个都会将它们列入我的“远离”清单。


FWIW,作为顾问/自由职业者,在妻子的建议下,我自己担任自己的职位。通过查看项目由于缺少项目而失败,我们已经弄清了所有这些项目是什么-有时,这是我们自己的项目。即使经过了二十年,尽管检查了这些标准,我仍然遇到一个偶然的无法解决的项目-该风险始终是开展业务的一部分。现在,我只是确保项目不会因我做错了任何事情而失败,并且确保合同的结构合理,以便在另一端搞砸的情况下获得报酬。


0

您想与其他相关人员一起工作吗?

该项目只是结识人们并与之交往的借口。


我喜欢那种观点。我们应该一起进行一个项目。
乔纳森·亨森

它对我很好。项目细节可能像暴风雨中的沙子一样移动。人们仍然可以给您惊喜,但他们的变化速度较慢。
bmike 2011年

0

我个人的想法是对他想要的东西,时间表,期望的成本等进行一些探索。如果实际上这是一个大型的ERP,那么帮助可能会持续数年,并且可能变得很丑陋。 如果您真的希望9位数字的项目预算中的大笔资金,那么废物管理与SAP就是一个例子,说明这可能会造成多大的费用。

我进行探索的目的是在沙子上画一条线,这样很清楚为什么我要问问题以及打算要做什么。“我认为这是多么可行?” 是我首先要问的方法论,预算和时间表时要问的问题,然后进行一些研究以查看事情是否看起来像是水平的,还是可能会出现在某些IT幽默网站中就像每日WTF

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.