作为唯一的开发人员及其后果[关闭]


16

我是公司中唯一的开发人员。我进行编程(在ASP.NET 4.0,jQuery和SQL Server 2008中),并维护数据库和Web服务器(在Win 2008 R2中)。

在享受自己喜欢的东西的同时,我感到自由,我觉得我可能会做不好的事情。我不使用任何SDLC图,也不使用诸如Agile之类的任何方法。我处理多个小型项目。我会利用业余时间跟上最新技术并学习和测试新事物。在过去的7年中,我一直在这样做。

  1. 我担心的是,当我将工作转给一家项目涉及更多开发人员的公司时,对我进行调整会有多困难?
  2. 既然我不遵循任何设计模式,当我寻找工作或适应新工作时,它会对我不利吗?
  3. 您能想到的其他优点/缺点吗?

Answers:


8

如果您喜欢这种自由的情况,那么您很可能会不喜欢去任何将其视为问题的地方(跳开了我知道的篱笆)。

它实际上对您将来的工作很有利,因为您最终拥有比90%的人更广泛的技能。

正如Pierre所描述的那样,缺乏人就赞成/反对的决定争论不休(对他来说是+1),但是另一家公司的同事却耐心地倾听您正在尝试做的事情,并且有足够的兴趣去寻求强烈的意见很好地扮演了这个角色,有时比同事更好,因为他们是外界的观点。(即使我现在在一家较大的商店工作,我仍然会这样做,这可以帮助我跟上别人为解决类似问题所做的工作,并了解设计中的未来问题)

当我还是一名孤独的开发人员时,我遇到的另一个问题是,当真正要应对管理层的错误指导时,没有人可以支持我。您的工作量可能会有所不同,但是如果您是唯一的开发人员,并且所有管理人员都是非技术人员,那么很难解释为什么应该或不应该做某事,并且很难告诉他们他们尝试用当前技术实现最新梦想是不合理的。


5
作为唯一技术人员的另一个问题是,当您发高烧和严重的恶心并且Web服务器出现故障时。人们希望他们有一个备份计划,而不是在遇到公交车时把笔记本电脑带到医院。
David Thornley

1
这是一个问题,但是一旦大型公司的资源分散得太少,通常也是一个问题。
条例草案

35

当你一个人时,没人能告诉你你错了

因此,您可能会走一段错误的路,甚至一无所知。

因此,我鼓励您找到可以与您讨论发展的人。不仅在线,而且实际在线。

无需退出公司。作为唯一的人也有一些优势。


3
这是很棒的建议...
webdad3 2011年

4
关键字是“可以”。如果开发人员竭尽全力地继续学习各种技术和方法,更重要的是围绕它们的数据,那么就没有理由相信他会做低于标准的工作。当然,在真空中工作坚持自己所知道的知识的开发人员可能会使自己逐渐过时。
2011年

在这里与Pierre达成共识,两个开发人员可以生产[代码或db或其他任何东西]都比各自的要好得多。随着开发人员的增加,收益会增加,但是回报却在减少。
jamesbtate 2011年

5

我曾经是一家公司中唯一了解特定技术的开发人员,还是唯一一家从事过我所从事的编程工作的开发人员,并曾在类似情况下担任承包商。(我还在团队环境中与其他知道不同工具的开发人员以及与我完全一样的其他开发人员一起工作。)

成为唯一程序员的优点

  • 如您所述,您经常可以自由使用自己认为可以学习的任何工具或语言。在其他所有人都使用Current Technology Y的情况下,您不必总是先让同辈获得使用新技术X的许可。
  • 您有更多责任。本质上,您既是每个项目的项目负责人又是开发人员,并且您有能力识别和实施新内容,因此您实际上也是部门负责人。(不要告诉销售人员。他们喜欢与决策者交谈,而且您没有时间与他们交谈。)
  • 毫无疑问,完成的工作值得赞扬:事情的实现显然是由您和您一个人完成的。
  • 您可以花更多的时间实际在自己的项目上,而花更少的时间在会议上,这些项目基本上是别人的(但是您可以作为支持人员,可能的备份之类的东西在那儿)。

缺点

  • 正如David在评论中指出的那样,您是唯一的开发人员,因此没有您就无法完成任何开发。我曾经向我的兄弟吹嘘我是工作中某个特定项目的“家伙”。他为我准确地描述了我的处境:我被困住了。我无法继续在那家公司工作,因为我永远无法摆脱那个项目。(他也说得对。我花了几个月的时间进行了长时间的培训,然后我才将其交给有一定能力的人。)您可能会发现,在没有任何东西可以做的情况下,很难度过一个真正的假期没有你就可以完成。
  • 正如Pierre所指出的,现场没有人进行代码审查或与您分享最佳实践。您可以通过各种方式与同龄人联系,但是没有什么能比敲击同事的要有效得多,就像让她看着您的代码5-10分钟一样。
  • 同样,您可能很难获得使用新工具的经验。离线培训可能像休假时间一样稀少:有人会抱怨说,公司无力让您在一周内没有使用Language 3.0,而没有人让Language 2.0应用正常运行。
  • 职业晋升可能极难管理。您可能没有一个可以为之奋斗的职位,即使职称变更也可能很难获得,并且年终审查没有任何参考框架,因此,如果没有其他方面的帮助,出色的工作可能会被忽略原因是没有人真正了解您的工作。

如果您决定搬到一家将与程序员团队一起工作的公司,我认为您的单身经历不会对您造成太大伤害。您缺乏设计模式的经验并不一定像您愿意学习它们一样重要。(在某些情况下,您是在面试具有相似背景的候选人,并且还具有公司所使用的任何方法的经验,但基本上每个人都是如此。)

同样,您在团队中缺乏经验的能力会与您戴很多帽子的能力相平衡。有些开发人员是优秀的团队合作者,但从未发展过管理项目的能力;您已经证明可以做到这一点。

我建议,当您是一个单独的开发人员时,应该花一些时间来阅读类似的开发人员正在使用的工具和技术,因此,即使您自己不使用它们,也要知道它们存在并且可以参考。他们在一次采访中,即使只是说:“是的,我已经阅读了一些有关MVC框架的信息,但是我自己并没有使用它们。” 尽您所能与其他开发人员保持联系:参加本地用户组会议,在博客上阅读和评论(或保留自己的博客),尝试不时参加研讨会,观看网络研讨会等。(您可能还会考虑使用lynda.com这样的网站进行内部培训:这不像其他地方为期一周的会议那么好,但是您可以自己观看视频,而不必让所有人陷入恐慌状态,因为不在办公室。)


2

在这种情况下,您的编程技能每天都会恶化。编码是任何程序员工作中最简单的部分。

与团队的沟通/与他们共同实施解决方案变得更加困难。这些技能只能通过这样做来提高。同样,当您是团队的一员时,大多数成员都在努力保持与您一样的技术水平,因此,团队发现伟大事物的机会要大得多。

请不要将此作为对您本人的攻击。我也是一个孤独的程序员,但希望尽快找到一个团队。


独自开发意味着您会错过“纸板程序员”,这通常是一个有用的工具。基本上,让别人解释一个问题通常意味着解决方案会在解释过程中出现(在另一端有机会提出建议之前)
Phil Lello

0

我同意@Pierre 303的回答100%。我还要补充一点,您应该自己教自己正确的做法。也许认证也有帮助。

是的,如果您切换工作,将非常困难……不仅是因为他们拥有您当前不习惯的流程,而且还有个性化的流程。程序员极有竞争力。您现在不必处理这个。但是当程序员> = 1时,您会

听起来您的演出很不错……我会坚持下去。

只是我的2美分。


0

我认为您会错过这样一个事实,即您可以在大型开发公司中找到的大多数标准/实践都可以轻松地应用于您的情况。在SO上已经介绍了如何对一个人的团队进行这些调整。仔细搜索以获取指导:

如何将敏捷应用于个人项目?


是否有任何链接可以使用SDLC,Agile ... etc等所有方法来查找综合样本项目?
bp581 2011年

不要太着迷于“敏捷”和“ Scrum”之类的词;他们对成功团队已经使用的方法的正式定义。但是,如果您还没有足够幸运地在环境的自然组成部分中工作,它们将很有用。
Phil Lello
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.