我应该使用我最熟悉的语言还是公司的“标准”


18

我将为我的特定工厂开发一个Intranet站点,而我们用于Web开发的公司标准是IIS + ASP.Net + VB.Net + Microsoft SQL Server(请注意,我们有大约10多个工厂)。Intranet站点仅由我的工厂使用,并且我是唯一支持它的站点。我精通LAMP设置,并且与ASP.Net相比,使用PHP可以更快地进行开发和解决问题。尽管公司的“标准”是ASP.Net/VB.Net,但公司整体上的大部分工作是购买第三方软件(通常基于Java),而且,我的意思是很少有人公司甚至知道VB6,更不用说ASP.Net/VB.Net。

话虽这么说,是违反公司标准并选择我可以更好地支持的设置,还是最好选择我可以离开时公司可以更好地支持的设置,即使目前还没有人在公司反正可以支持自己的标准?

在我的个人情况下需要考虑的其他一些因素:

  • 同样,这仅适用于我的工厂,除非我离开公司,否则我将是唯一会支持它的人,然后我的替代者将为它提供支持。公司中没有其他人了。
  • 无论如何,该公司很少对其标准进行开发。
  • 现有公司中几乎没有任何公司使用其标准。
  • 如果选择公司标准,则必须使用Microsoft SQL的Express版本和Windows 7 OS。根据我的阅读,Express版本可以用于商业用途,但是数据库大小有限。

25
这里的关键词是违反。您选择了正确的单词,只是阅读您自己的问题,应该告诉您这是一个非常愚蠢的想法。他们选择标准是有原因的。如果您不同意该选择,则应正式将其向上引导。
乔尔·埃瑟顿

3
“我的意思是,公司中很少有人知道VB6,更不用说ASP.Net/VB.Net了。” 我真的不知道这与任何事情有什么关系。VB6是丑陋的遗留代码-没有人知道这是一件好事。
DeadMG

1
@DeadMG,没有一个人知道VB.Net。那么,我使用哪种语言有什么关系呢?如果我离开了,他们仍然必须雇用其他人来支持它。
德鲁·查平

3
SQl Server Express最多支持4GB数据库。通常这足够了,如果不是,那么就需要其他数据库,您可能应该与相关人员(IT人员,上司等)联系起来
Holger

3
@狒狒,是的,这并不是像Facebook这样的网站会使用与商业无关的东西
SWeko

Answers:


38

同样,这仅适用于我的工厂,除非我离开公司,否则我将是唯一会支持它的人,然后我的替代者将为它提供支持。公司中没有其他人了。

1-不要以为你是唯一会支持这一点的人。您喜欢病假和假期,对吗?如果您需要延长产假/产假或其他事情怎么办?那谁来支持你的应用呢?另外,如果您想与某人讨论公司特定的技术问题该怎么办?如果您想进行代码审查怎么办?还是需要解决棘手的错误?在所有这些情况下,最好能深入了解您所使用的技术-特别是如何将其应用于解决公司的特定问题。

无论如何,该公司很少对其标准进行开发。

2-仅仅因为存在某个文档并不意味着它确实是标准或任何意义。这可能只是意味着有一群具有政治影响力的个人在倡导这种方法,而结果可能是其他子集团也采取了不同的方法。

您的问题可能仅仅是“标准”已演变为某种事实,与记录的“标准”相矛盾的未记录状态。或者,可能会有许多使用不同“标准”的非正式小团体,其中一个团体设法使其“标准”成为正式团体。您可能需要四处询问,以找出小组中的其他人(哪些人可能也支持您和您的应用程序)考虑最佳做法。询问他们对您的使用感觉如何。勾勒出公司的实际技术前景,并弄清楚技术诀窍在哪里。就像任何不断发展的部落知识一样,您要知道如何前进的唯一方法就是与人交谈。

3-不要放弃学习新事物的专业机会。您必须提防在这个行业中被淘汰。要敏捷。您可能有机会获得一些广度,并学习解决问题的新方法。更不用说您正在为简历增加新技能。它只能帮助您走出舒适区,做一些新的事情。话虽这么说,如果不同的东西/新事物是如此的利基,以至于您不认为自己或任何未来的雇主将从这些技能中获得任何价值,那么也许这不是一个很好的机会。但是,有机会同时成为ASP.net和LAMP专家,肯定会打开您的视线,只会对您的职业有所帮助。没有什么比一个真正的项目有一定的期限了,它迫使您真正学习一些东西。

所以我的建议,不要一个人走。弄清楚人们真正站起来的地方,并确定最适合的位置。如果您需要走出舒适区,可以利用它作为职业发展的机会。


4
+1:只要您在此工作,便会一直支持。但是,如果您离开,将会得到其他人的支持。
unholysampler,2011年

1
这是一个很好的答案,但我要补充一点,OP应该就折衷问题与他/她的经理进行讨论,以了解他们对标准的严格程度,以及是否批准该项目使用其他堆栈。
Mike Partridge

不要假设您是唯一支持这一点的人:此外,这样人们就可以彼此重用代码,而不是每次我们需要滚动的东西时都重新发明轮子。
Konerak 2011年

2
陷入困境的最快方法是使自己无法替代。如果无法更换,则无法升职。
Burhan Khalid

9

话虽这么说,是违反公司标准并选择我可以更好地支持的设置,还是最好选择我可以离开时公司可以更好地支持的设置,即使目前还没有人在公司反正可以支持自己的标准?

这是一项管理决定。让他们知道您的担忧,并正式坚持要 改变。

也就是说,语言是一种工具,您必须为工作选择正确的工具。让他们知道您不要用锤子拧螺丝。


需要注意的是,在这个问题的背景下(给出详细可用的水平),ASP.NET和PHP是为工作在这两个一个非常能干的平台,合适的工具
墨菲

1
可以说ASP.NET的功能更强大,只是操作人员更了解php。
凯文

1
@Kevin,我曾经争辩说ASP.Net比PHP更强大的原因是,尽管仍然可以将PHP与AD / Windows安全性集成,但它与AD / Windows安全性的集成更好。除此之外,我没有看到ASP.Net优于PHP的优势。
德鲁·查平

您自己承认,您对php的了解要好得多,所以您这么说也就不足为奇了。
凯文

8

您有晋升或从事其他项目的愿望吗?如果是这样,我建议“做自己的事”将有两个负面影响,几乎肯定会导致(释义)“我将是支持它的人,直到我离开”

  1. 由于您选择不遵循公司标准,因此您不适合担任更高级的职位,因为您无法遵循简单的说明。
  2. 因为您选择不遵循公司标准,所以公司中没有其他人可以支持您的代码将是您的问题。

如果您选择使用该标准,则在(如果有)促进机会或其他项目出现时,继续维护产品将不是您的责任。

另一种看似可笑的类比的方法。我搬到一个他们向左行驶的国家,但是,我习惯于向右行驶,我更喜欢向右行驶,因此,我在这方面比较擅长,可以更快地行驶。我应该在右边开车吗?


上一段+1,尤其是在平台功能方面,您实际上并没有理由选择基于ASP.NET的PHP。可能有一个争论基于开发团队的能力改变标准……
Murph

5

公司之所以有标准是有原因的,如果有一个正式的标准说使用x,则您需要证明y的合理性。

这并不意味着您不能使用y,而是意味着您应该了解该标准背后的原因并在违反该标准之前获得批准。

也许在理解了原因之后,您不再想要违反它,也许您会发现它需要更改或报废,或者它不适用于这种情况,因此使用y并不是问题。

如果适用,那么除非您可以进行更改,否则应该遵循它。公司的标准与直接下达命令的水平并不完全相同,但是除非违反法律,否则您的雇主有合理的期望您遵循这两个标准。


1
公司标准有时与营销原因有关,而不是出于效率或技术方面的考虑。
史密斯先生

@史密斯先生即使如此,您仍然需要与您的经理或具有决策权的人交谈,以验证这些原因。看到我对这个问题的回答。
Mike Cellini

1
@MisterSmith:有效的营销原因与大多数技术因素同样重要,甚至没有那么重要。如果您不知道原因,则不知道原因的有效性。
jmoreno 2011年

是的,但是读到这个问题后,我给我的印象是,在这个项目上没有经理在他之上,而且没有人真正在乎执行标准。如果这是真的,我认为没有理由盲目遵循标准,而不仅仅是选择更知名的技术。
史密斯先生

@MisterSmith:不是盲目遵循标准,而是盲目遵循公司标准。有区别。如果没有人在乎,那么应该很容易获得违反甚至更改标准的许可。
jmoreno 2011年

2

这完全取决于您是否要被解雇。如果您将被解雇,请不要这样做。如果您不会被解雇,那么一定要继续。


-1这是糟糕的建议。您不妨告诉人们编写丑陋,难以理解的,混乱的代码,而没有(或更糟的是:错误的)文档,只是为了使自己不可或缺。要知道,如果您使自己不可或缺,那么您将永远无法在公司中升职,而会被困在做自己所做的事情并保持自己的(糟糕的)代码多年!
Konerak 2011年

@Konerak好吧,你是对的。我不是认真的。我将编辑问题以使您满意。
Mike Nakis 2011年

抱歉,迈克,我没有得到具有讽刺意味的部分;)我很高兴看到有关必不可少的答案,因为它使我有机会做出反应,人们会对此有所了解。
Konerak 2011年

1

我认为您可以预见由此可能产生的许多问题,并为您是否以及何时离开公司制定详细计划。

一个可能困扰工作的问题是,如果您离开了,HR必须寻找替代品。考虑到他们要么积极尝试了解您的工作,然后根据所需的技能聘用他们,要么简单地查看说明IIS / ASP.NET / etc策略的原始文档。并盲目雇用具有这些技能的人来维护您的LAMP代码(基于“因为这样说”的原则),我认为后者的可能性更大。

从长远来看,最简单的方法是执行fabianhjr建议的操作并更改标准。如果它们不能完全切换,请将其更改为包括Microsoft和LAMP。


实际上,我的工作的正式职位并不需要任何编程/网络开发知识。
德鲁·查平

1
@druciferre更有理由重新检查所有内容。如果这个项目成为您工作职责的重要组成部分,并且在某些情况下会根据您的原始工作描述进行招聘,那么他们会变得小溪了(不是那时候您不必在意,只是为了他们的缘故)。
jonsca 2011年

1

在这种情况下,您需要遵循标准。如果该标准似乎不适用,则需要与您的经理讨论使用另一种语言的标准。

在开发中要遵循的所有标准中,我个人认为语言选择是最重要的。忽略标准语言选择,而是选择一个您更愿意离开同事和/或后继者的公司,因为他们可能没有技能来从事您的项目。公司的聘用决定基于语言选择,因此此类决定可能会产生重大影响。引入其他平台/语言可能会迫使公司在开始雇用其他人时陷入困境。

除了语言之外,您还必须考虑对LAMP服务器的内部支持。谁来管理Apache?MySQL怎么样?公司的软件是否在其他数据库上运行?管理员是否愿意管理新平台。即使您计划管理这些服务,这些职责最终还是要由其他人承担。如果您计划管理服务,网络/服务器管理员会允许您这样做吗?

引入不同平台的后果可能是广泛而深远的。不遵守该标准可能最终会影响除您自己之外的许多人。即使您比ASP.NET更加精通LAMP,但从长远来看,在该平台上进行构建可能最终会使公司付出更多成本。这里的关键是与您的经理沟通并了解最终决定的效果。

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.