在软件公司工作与专注于另一个领域的公司有什么区别?[关闭]


26

最近,当地一家广告公司向我提供了工作机会。他们正在内部进行所有Web /交互式开发,并增加了他们的开发团队。

我已经厌倦了自己的活泼但乏味的公司工作,并且对此职位感到很感兴趣。

我只在主要业务是生产软件的软件商店工作过,但我担心他们可能不会重视质量软件实践,因为开发不是他们业务的重点。

在软件公司工作与在恰好拥有内部软件开发团队或部门的公司中进行比较/对比的任何人都可以吗?


食物,衣服,住所...?
Steven A. Lowe

我在一家生产“软件”的公司工作,但我不认为他们是软件公司,更多的是一家销售公司,它在计划软件开发时付出了一点点努力(我是指所有者/经理),大力推动废话。 ..但是我很快就要辞职了,无论如何,我想我盘算的要点是,即使是“软件”公司,如果规模很小,它们也可能很难工作
programmx10

4
我怀疑每个广告代理商都一样吗?为什么不采访他们并找出答案?
亚伦诺特,2011年

3
我猜想,在非软件公司工作可能是非常有益的,如果你实际上是在他们在工作的行业感兴趣。
里斯TIMMERMANS

1
任何对创建软件有商业兴趣的公司都是软件公司。汽车公司需要在所销售汽车的车载计算机中安装软件;所以他们软件公司。
SingleNegationElimination

Answers:


37

这将取决于公司。但是通常,如果不是他们的主要重点,则该软件的质量会降低。如果有的话,该过程将不再那么严格。该测试不存在。而且这项工作总体上在技术上没有什么挑战性。

他们希望它能够正常工作,现在就可以工作,那就足够了。

但是,即使在妈妈和流行商店完全在做其他事情的情况下,也有一些地方会进行软件开发。这取决于业务领导者对好主意持开放态度,技术领导者有足够的能力去做正确的事,以及拥有可以解释好主意的人。可能是你。

面试公司。询问他们是否知道/坚持Joel考试。他们中的大多数都是好点。看看他们是否了解技术债务和神话般的人工月。谁是您的项目经理,他使用什么流程,他有多讨厌?


2
好的答案,我认为“现在就做,那就足够了”是我最大的担忧。这些也是面试问题的好提示。
Mike Vormwald

5
几乎“ -1”表示“缺乏挑战性”-但是我同意其余的内容。在软件商店和运营公司工作了20多年,不得不说,运营商店同样具有挑战性。1)您作为开发人员每天都直接面对您的客户。2)您不必担心示波器蠕变-它是示波器爆炸。3)业务连续快速地向您投掷任何东西-您没有时间花一天或一周的时间来安心地使用模块,而您却要花点时间。注意:不是说西南部的商店都是玫瑰花-不是。
马丁·斯托勒

3
请记住,希望它的工作和现在的工作有时是正确的决定,最终你必须了解业务
JK。

1
同样在难度级别上:当将企业软件与典型的商用OTS(不包括游戏,设备驱动程序,嵌入式等)进行比较时,您通常最终会面临更严格的可靠性和性能要求,这常常使用户担忧经验。保持这一切的平衡确实需要人才。软件质量通常较低,仅是因为这些公司很难吸引最聪明的开发人员(通常这样做是合理的)。
亚伦诺特,2011年

1
这是我的经验。它几乎完全取决于特定的公司,但平均而言,非软件公司更容易出现恶劣的环境,并且懒散的/懒惰的开发人员只关心快速完成事情而不是正确做事。
韦恩·莫利纳

24

有很大的不同。在前者中,您是利润中心的一部分。在后者中,您属于成本中心。猜猜哪一个得到更好的治疗?

我现在在一家软件公司工作,比上一份工作要开心得多,因为上次工作一直都是裁员和外包,开发人员被视为易于替换的小部件(而不是公司的核心)。


5
+1-每个行业都有一个或两个职位被视为“赚钱者”。他们得到特殊待遇和特殊认可。您想成为那个家伙,而不是他们一直待在身边的那个家伙,这样另一个家伙的工作就容易了。
布鲁克

裁员通常与您离收入线的距离有密切关系。即使作为软件公司的开发人员,您也离收入线还很远。您很快就会发现,摇滚明星是客户经理,销售人员和技术会计经理。这些公司的裁员很多时候发生在项目管理,产品管理和软件开发团队中。当然,YMMV!
CoolBeans 2011年

我认为这取决于公司利润对所构建软件的依赖程度。在财务方面,一些脚本可能会获得1000万美元的合同,因为某些功能是必需的,而在其他地方则无法使用。一些行业不销售软件,但是他们销售的产品仅比某些定制软件的产品多。这使开发人员离利润中心很近。更不用说,在这种经济形势下(至少在我所在的地区),销售人员只占一角钱,而有能力的软件开发人员则更难获得。当sales == dataEntry时,我在SW中感觉更安全。
Morgan Herlocker 2011年

11

程序员仍然是程序员。仅仅因为公司的主要产品不是软件,并不意味着程序员不需要相同的便利。


6

我曾在大型公司的IT部门工作,该公司开发内部使用的软件;我曾在为市场开发软件的公司工作;我曾在为客户进行Web开发的代理商中工作。

而且我不会说在提高生产力的重要性方面,这些不同的公司之间没有任何区别。

无论程序员进行何种开发,保持程序员的生产力都是至关重要的。我要说的是,当程序员是一家非软件公司的IT部门中的维护程序员时,让程序员感到高兴并为您工作仍然更加重要。


6

差异很大程度上取决于公司本身。我曾在优秀的非软件公司和糟糕的软件公司工作。平均而言,这是我所发现的:

非软件公司

重点是快速完成工作,很少或根本没有考虑质量或长期可维护性。除了过去或在公司任职期间所做的工作之外,开发人员通常在技术上一无所知,并且经常尝试引入新概念(ORM,SOLID原则,TDD等)时会感到困惑或立即被解雇。人们倾向于更多地关注“拖曳公司线”。

软件公司

强调在不牺牲质量的情况下完成工作。同事更有可能跟上技术的发展(无论他们是否可以在工作中使用它),并经常寻找如何将新思想或框架整合到日常工作中以使软件更好的方法。如果他们还不熟悉并且正在使用TDD,ORM,SOLID等概念,那么他们可能已经听说过,并且更愿意对其进行评估。

同样,这最终取决于公司。我曾在一家非常敏捷的团队中与非软件公司合作,该团队包含TDD和ORM,并教会了我很多有关正确的软件工程的知识,而我在一家小型软件公司中工作,该公司编写了最糟糕的VBScript意大利面条代码并有50多个开发人员每个人都必须在不同的页面上进行工作,以免出现问题,并且即使繁琐的更改也要花费大量的繁文tape节。但是,公司对外部软件的依赖程度越低,环境对软件开发的可能性就越大。


4

我曾经是非软件人员中唯一的软件开发人员,在这种情况下,独立性显得尤为重要。当您没有数十个人使用相同的工具时,您必须做出更多的决定-您将使用哪种语言,使用哪种编译器,使用哪种服务器等。孤独的开发人员需要更大的自由来安装,评估和管理软件。在小组设置中这是理所当然的。


4

可以肯定的是,其中一个区别将是减少对公司软件商店必须进行的开销和重做的重视。您会发现,您将能够对项目的各个方面进行更精细的控制。

一个优点是,这可以令人耳目一新。

尽管对我个人而言,结果令人震惊,但这可能是因为我选择不佳。一个巨大的缺点是,您不再受制于业务的繁琐工作,而成为管理上的开销。预算控制员把我当作我个人从自己的钱包里拿钱的样子,然后开始说“像打like子一样殴打我”。对我而言,这是一次令人烦恼且令人筋疲力尽的磨难,因此在面试时,您应该仔细寻找这种态度的迹象。


2
“我们为什么要购买新的编译器?旧的编译器有陈旧吗?”
EricSchaefer 2011年

谢谢你的悲惨故事:)为避免这种情况,我需要确定什么?管理层是否给予当前开发人员完成工作所需的信任和资源?
Mike Vormwald

2
@stormwald,好问题,当您进行面试时,问他们为什么他们认为拥有内部开发团队是正确的选择,而不是雇用承包商外包这是标准的选择。如果他们的答案与成本有关,那么我会避免。
maple_shaft

还值得询问公司如何为其IT筹集资金。是否有特定的预算,或者它是否来自运营支出?
CdMnky 2011年

3

这里已经有了一些不错的答案,但是我只想引用乔尔·斯波斯基在耶鲁大学发表的演讲的第二部分的笔录链接:

Joel Spolsky-在耶鲁大学谈话第2部分,共3部分

他在那里谈论“内部”程序员与在软件/技术公司工作的程序员之间的区别。

他的三个主要观点是:

  • 当您是内部程序员时,您永远无法以正确的方式来做事情。您总是必须以权宜之计的方式做事。

  • 作为内部程序员,一旦某些软件“足够好”,您就停止使用它。当您开发软件“产品”时,就可以使它们变得漂亮。

  • 当您是软件公司的程序员时,您所做的工作与公司的赚钱方式直接相关。这意味着,一方面,管理层在乎您。

就个人而言,我在整个职业生涯中都曾在软件公司和非软件公司工作,尽管每条规则总是有例外,但我确实同意Joel的观点,因为绝大多数公司似乎都与他们保持一致。


+1是绝佳的连结!永远不要低估制作精美事物的价值。
2011年

2

一个主要的区别是,在软件商店工作可能会有助于在公司内部创造工作。在编程部门工作。通常,在另一类型的公司中,这意味着您正在编写替代人员的软件。这是一个令人沮丧的现实。话虽这么说,一个广告代理商很可能完全是另一种野兽。我的猜测更像是另一家公司内的Web开发商店。


1

根据我的观察,坚持软件公司边界来解决职业生存问题至少有两个案例。

第一种情况是,如果一个人完全编码了,给我80 ... 90 ... 100%的时间来编码,否则我就死了。在软件商店,这几乎是理所当然的,好像每个人都知道如何到达那里,因为,好吧,因为每个人都在这样做。但是在外面,没有到达那里的风险确实很高。一个人可能会低到50%,40%,30%(我的个人编码量曾经下降到20%-开玩笑,我用JIRA衡量!)不是因为“他们”不想让您编码-他们只是想要,但是...他们可能只是不知道怎么做。

第二个“致命风险”是如果某人在交流中遇到严重问题。即使在软件商店中,这也可能很麻烦,但是,至少在不干扰交互的情况下,至少有很好的机会生存和过上美好的生活。:)但是,在非软件公司,这样的机会要低得多-恰恰相反,几乎不可避免的是,人们最终将不得不花很多精力来教育一些IT基础知识的外来者,因为否则将无法完成这项工作。

好吧,除了上面提到的两个案例,我不知道有其他强有力的理由将自己严格地锁定在软件公司之外。现在,哪一方更喜欢?据我所知,这更多是一种品味问题,什么样的乐趣会给您带来更多点击。


双方提供自己独特的娱乐方式。描述起来并不容易。

我要说的是,软件公司对于那些追求“高分”的公司来说更有趣,而外部公司则为那些追求“大差异”的公司感到兴奋。我是这样想的(下面的注释数字只是为了简化观点而发明的)...

  • 在软件公司,一个人有机会每年交付100个功能-这是迄今为止最高的成就。这将是艰难的,它将是艰难的,它将是最高的 -每年平均70项功能的提升达50%。确实是个巨大的挑战。
  • 同时,在外部公司中,有机会每年交付50个功能-这是前所未有的最高提升。这将变得艰难,它将变得艰难,它将变得巨大 -每年平均10个功能的提升幅度高达500%。挑战很大,相信我。

顺便说一句,相比之下,在软件公司获得500%提升的机会微不足道-并且,在外部获得100个功能的机会也微不足道。

一侧的最高分扩大了我们对专业限制的理解,提高了我们如何做得更好的知识。另一方的巨大差异对公司文化产生了深远的影响,从而提高了外部人士对正确做法的认识。

现在,如果您对一个或另一个有明确的偏好,那么您知道该选择哪一方。或者,如果您犹豫不决,请随意在它们之间随意切换。:)


我从来没有根据我闯出过多少个功能来衡量“乐趣”或“挑战性”。我曾经做过一次调查,从而使性能提高了100%,这非常酷。
凯文

1

成本与利润中心响应的荣誉。

我曾经在这两家公司工作过,并且会更喜欢一家软件公司。由于您与利润的相关性更加明显,因此您更有可能获得一些适当的基于绩效的报酬以及包含软件开发人员个性的整体公司文化。通常,这意味着更少的办公室政治,不需要Docker,明显的职业道路和更少的BS。但是,如果您将自己的精力投入到稳定的9-5,也许挑战性较小,而不是像有时公司IT那样具有领先优势的演出是更好的选择-在这里不要太愤世嫉俗,我知道有些人会喜欢更典型的工作/生活平衡,但会牺牲其他事情。以我的经验,软件公司的开发人员的整体素质要好得多。与通常渗透到企业IT中的平庸相反。我知道有例外


0

IT是非软件公司支持小组的一部分。软件程序员开发的应用程序将帮助公司提高生产力,更快的交易,技术支持蚀刻。一些非软件公司(制造/工业蚀刻)提供培训和其他服务。东西交给他们的程序员,但很多事情不是,所以他们曾经将其他公司的程序员外包。


0

在软件公司工作与在恰好拥有内部软件开发团队或部门的公司中进行比较/对比的任何人都可以吗?

我宁愿将在IS部门工作与在销售软件的公司的产品开发部门工作作对比。只是要澄清每一面并给出一些内容,并进行一些格式更正:

IS部门

公司可以生产硬件,软件,汽车或其他任何东西,但关键是要有一个内部部门来负责公司日复一日使用的系统。在这里,可以有一些类似ITIL的框架,这些框架可以尝试使部门运行的流程更加成熟,因为该部门的一部分是经常亮起的基础设施人员,另一部分是进行改进的开发和分析人员。 ,增强功能和新系统。在这里,项目的长度可能会有所不同,但是在某些情况下,如果要更换某些大型系统(例如CMS,CRM或ERP),则需要分阶段实施,因此要完全实施该系统可能需要几年的时间。

有时我感觉自己像是一台机器的齿轮,而在其他情况下,成为这种职位的高低职位的一部分,成为公司骨干的一部分则相当整齐。我不会对公司外部的人吹牛,因为我的大部分工作是在内部系统上进行的,这些系统不应公开访问或查看。在这里,可能会有一些支持票证,可能需要与软件供应商打交道,因为某人遇到的问题不一定很容易知道导致错误的原因,因此IS部门必须跟进其他人帮助解决问题。在其他情况下,可能由于更改的需求或业务规则而必须更改某些自定义设置。

软件公司

在这里,这是对公司直接销售产品的努力,因此存在一些较大的规则差异。首先,这里的客户不能像IS部门那样装箱。在IS部门中,系统可能只有少数几个用户,因此,治理可以处理许多奇怪的情况,如果有人故意选择滥用工具,则无法总是避免这种情况。在软件公司中没有那个安全网。如果有人下载了您的软件,而他们设法找到一种对软件进行相当破坏性的方式,则该公司可能会对此大失所望。在这种情况下,可能会有些炫耀我所做的事情,因为如果他们想进一步了解我的所作所为,可能会有一些很酷的功能向朋友或亲戚展示。

这里要注意的是,可能有一些公司作为系统集成商加入,以引入大型可自定义的企业软件,这些软件可以与IS部门的人员一起工作,以实现数百万美元的费用,也可以直接为制造该产品的公司工作。大软件本身。在这里,也可能有一些应用程序服务提供商,因为他们出售的服务通常都是由软件构建的。例如,尽管一个人不会去商店购买Google软件的DVD,但Google可能拥有一个IS部门以及许多软件开发人员,至少我认为我没有看到了解许多可以轻松使用的在线Google产品。这可以允许某些专业化,因为它不是


1
我会考虑将您的答案分成几段,因为这样很难阅读。
伊沃·弗利普斯

0

我最近在一家大型美国非软件公司工作,一位同事听首席执行官说:“我对运行我的* *的软件不f之以鼻”。以我的经验,这是课程的标准。对于软件团队而言,几乎不可避免地会出现一些问题,但是非开发人员的管理层甚至拒绝考虑。

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.