it-swarm.cn

专注于我喜欢的单个领域,或者扩展到其他领域以扩大视野会更好吗?

我已经思考了很长时间,这是一个难题。

我是一名研究生,我感兴趣的主题是编程语言设计,代码分析,编译等。到目前为止,该领域非常有趣,对我来说很有意义,因此我一直在考虑在该领域找到工作并继续专攻它。我觉得这是一个相对牢固的领域,不会很快“过时”。我一直认为,在如此复杂的领域中,成为真正的专家比仅是一个表面上了解专家所谈论内容的家伙更好。

另一方面,我觉得通过这种方式的专业化确实限制了我将来的选择。我一直坚信采用多学科方法解决问题。也许我应该去寻找一份一般的编程工作,从中我可以在其他领域获得经验,并偶尔将自己喜欢的领域用于解决问题。只专注于一两个领域可能会阻止我跳出思维框框并造成停滞。

我真的很想听听有关此选择的更多意见。事实是,我已经倾向于其中一种选择,因此基本心理学说什么都不会改变我的想法,但是我仍然很想听听一些反馈。

31
Oak

如果喜欢的话就专攻

如您所知,如果您专长,您将自动招致机会成本,因为您将没有资格立即使用其他技术(例如Java程序员通常不会立即被编译器优化接受。作业)。但是,您必须在对所选学科固有的复杂性的热爱之间取得平衡。

您说您想成为专家-好吧,花点时间学习自己选择的学科。作为一个社区,我们始终需要新的专家。但是,我的建议是遵循实用的程序员建议“每年学习一门新语言”。这样,在进行算法编码的深入词法分析时,您还可以制作出一个让您感兴趣的小iPhone应用程序。您永远不会知道,不同范式的交叉授粉可能会给您带来一些见识,并将您的专业领域扩展到新领域。

21
Gary Rowe

我认为这取决于您对职业的期望...

在技术层面上:成为所有行业的杰克,意味着您可以申请比非常专业的人士更多的职位。如果您想要适应环境并四处走动,而不要局限于某个特定的细分市场,那么这可能还不错。但是,不利的一面是,除非您深入某个特定领域,否则您可能会被限制在相对初级/中级的角色中。

专门研究给定领域与上述情况完全相反。您可能会获得更高的地位和收入(当然,如果您处于良好的利基市场,并且需求量很高),但是您很可能在很大程度上陷入了该专业的困境。

因此,从广义上讲,这两个是技术上的选择。

在政治层面上:如果您是在谈论晋升到管理等方面的“职业进步”,那么从技术上来说通常并不重要。我认识的几乎每个从程序员职位升任管理层的人都是通过非常了解其组织中的人员和业务流程来做到这一点的。有些人是专家,有些是通才(就他们使用的技术而言)-但ALL在组织中根深蒂固,对人员和流程的了解很好,从根本上来说,让他们开始承担这些责任就变得合乎逻辑。

因此,从根本上讲,如果您想通过提升管理等级来发展自己的职业,那全都是在玩政治游戏。成为通才vs专家并不重要(也许只是成为要管理的流程和技术的专家)。

20
Bobby Tables

首先,职位发布通常会夸大所需的专业化程度。没有一家公司在职位发布中说“我们需要一个对Java语言有点了解的人,因为我们一无所知”。他们将“ Javascript专家”放在那里,因为在所有其他条件相同的情况下,他们希望找到一位实际上是专家的人。这并不一定意味着只有专家才有资格使用Javascript完成公司需要完成的一切工作(您会惊讶地发现他们甚至不知道自己需要完成什么工作)。因此,不必太担心成为“专家”。申请您​​熟悉广告技能的工作,并在面试中了解情况。出色的工作远不止您拥有[插入语言]多年的能力。而且,如果这份工作很有意义,那么您可能会发现自己成为专家。

那是关于“找工作”。对于“保持”工作,成为一名JOAT可能很棒。如果您的公司开始探索不同的语言和平台,那么您将处于领先地位。如果您的基于MS的公司突然需要UNIX人才来做某事,那么您将成为他们的首选(成为那个人或为“专家”服务)。无论发生什么事情,保持工作都是必不可少的,而JOAT是成为那个人的好方法。

另外,当您的公司倒闭时,这也使找到新工作变得容易:)

10
E.Z. Hart

好,是的,不是。问题是,您永远不会成为摇滚明星。您永远不会是一个可以用C做东西的人,而其他人做不到。您缺乏专注力会妨碍这种卓越表现。

另一方面,当管理层认为他们负担不起大量程序员时,他们不会解雇yo,而保留him。灵活性有其好处。

我是杰克,过去四年来我的部门减少了80%。但是我在这里。部分原因是因为我比大多数人更专注。我like完成了我一无所知的任务,而老板们喜欢我说“当然!”的事实。不管他们想出什么怪异的东西。而且,当您了解全局时,这是大多数专家都从未达到过的摇滚明星,并且可以赚钱。

因此,如果您想成为一名摇滚明星,则需要专注,因为在任何方面,没有人能比每个人都更好。但是,如果您要寻求稳定性,请选择灵活性,因为灵活性比坏资产更具市场价值。

7
Satanicpuppy

这取决于你的职业。我认为,如果您想担任一般顾问,开办自己的企业,为小型企业工作或在其他任何类型的灵活性被认为是资产的情况下,都应该对您的职业有所帮助。尽管我正在追求.NET/C#/ SQL/ASP的专业化,但我处于同样的情况,并且目前担任顾问。

同样,是否有可能通过拥有广泛(尽管很浅)的经验而又不专门研究特定技术的技术来使自己成为一种职业呢?

是的,我认为您可能会寻找无法在每个专业领域都雇用人的小型企业,或者成为顾问。

(挑选一个您专长的领域,同时保持您更一般的技能,这也不是坏主意。)

3
vjones

Generalist vs. Specialist 是CIO.com上的一篇文章,但可能有数十篇类似的文章或博客文章,人们试图了解它们是否比另一种更好。每种都有其优点和缺点。任何想说一个完全胜过另一个的人都可能在某种程度上有偏见。

不要忘记,您选择的每一面都有可能出现幻想。您所看到的专业化可能具有多种风格。例如,您是否认为Web开发人员总体上是专家还是通才?一些人可能认为这是一种专业化,而另一些人仍然认为它相当广泛,因为如今许多基于Web的应用程序可能具有各种组件,在某种程度上可能需要不同的专业知识。

虽然您列出的领域让我觉得您想为一家软件公司工作,但信息技术的某些部分可能会以某种方式使用类似的技能。您可以了解在各种现成的软件上进行了多少自定义以使其能够正常工作,以及这对于大多数公司提供现成示例的投资有多好。

3
JB King

另一方面,我觉得通过这种方式的专业化确实限制了我将来的选择。

记得。您的未来长达数十年。

随着新机会的出现,当前的技术将大大消失。

专业化完全没有害处。

我最初专门研究打孔纸卡以编写COBOL程序。现在我写Python并且几十年来都没碰过穿孔纸卡。

技术来了又去了。您现在所擅长的领域将在十年后消失,而您将专注于其他方面。否则您将变得过时。

担心“其他领域的经验”是浪费时间。无论您是否愿意,您都将获得这种体验。

3
S.Lott

当我聘请开发人员时,我会偏向于在我要寻找的特定技能方面有才能和经验的人。招聘人员将大大扩大这种偏见。这意味着即使我可以雇用您(而且我确实喜欢具有广泛技能和良好基础知识且可以学习的人),也不太可能与您交谈。

尽管我本人一直是个千篇一律的职业,但在我从事大部分职业的同一家公司中担任过许多不同的职务。仍然,我确实对不得不找工作的前景感到恐惧,而且我认为我不能轻易以现在的薪水找到另一份工作(这很令人满意,但是这里的人知道我)。

2
Jeremy

照常...

这取决于

这取决于您所说的“职业”。更重要的是,这取决于您认为的职业。

这些天,我在Web应用程序上做了很多工作。当我开始这个职业时,万维网并不存在。因此,在很大程度上,@ Satanicpuppy的答案是正确的。

万事通(JOT)区域具有四个优点:

  1. 学习完成工作所需的一切的意愿和能力
  2. 知道你不知道的智慧
  3. 谦虚地说出来,并在需要时寻求帮助。
  4. 跨越多个域边界的大量技巧

主要缺点是:Excel花费的时间长得多,因为您在多个方面都在推动学习过程。

我是否像一些只做15年的朋友一样,成为DBA一样好?当然不是。我能在两周内看到他们无法想象的解决方案吗?是。

我认为,最好的建议是继续成为JOT,直到您发现令人着迷,引人入胜的东西,直到您想做为止,直到最后。那“它”将是您的专长。

我喜欢解决新的难题,寻求创新以消磨平凡的事物,并不断学习-这就是我的“成功”,这就是我爱I.T.的原因。

成为通才我的职业生涯。

2
Steven A. Lowe

我认为公司寻找并重视专业人士的原因之一可以归结为 泄漏抽象 。问题在于,在过去的30年左右的时间里,软件工程师以指数级的速度增加了抽象层的数量,并且,正如我们要确保没有副作用的程度一样,它们总是会出现。而没有证件的特质往往会吸引你。

您也许可以通过阅读规格和在线示例来快速开始使用新技术,但是您有没有注意到,当您开始进行新的开发时,您会花费20%的时间编写功能代码,而80%的时间都在寻找最奇怪的错误你见过吗?当您成为某个领域的专家时,该比例会从20/80变为95/5(我是在编造数字,但通常它们可能很接近),特别是在该领域。这意味着,您可以更快地交付工作,并避免陷阱/常见错误在它们发生之前。例如,今天早些时候,我们的一位高级工程师(对团队/产品而言是新来的)花了半天多的时间来寻找堆栈损坏的问题,这使我花了5分钟的时间来确定,因为这恰好是我的家乡。

随着您成为该领域的专家,您将变得对管理更加可见和有价值。我不了解其他公司,但是在我工作过的公司中,您的薪酬(至少部分)取决于您的责任有多重要。 JOAT通常没有永久性责任。相反,管理人员将它们用作可移动/可互换的资源(我们的副总裁称之为瑞士军刀),可以根据需求将其从一个团队转移到另一个团队。因此,您可以在公司呆了十年,然后回头看看并意识到,您从未承担过任何责任。我有一个很好的朋友(他也是一位出色的C++/C#开发人员,但碰巧也是一位非常出色的JOAT,因为他将从事任何工作)被打字成这样的角色。我知道他不高兴,因为尽管我在操场上拥有相当大且有趣的产品,但他主要是别人土地上的临时客人。但是现在他无法摆脱困境。

话虽这么说,拥有JOAT的技能也同样重要,所以尽管我不一定要将自己定位为JOAT,但我认为继续阅读/学习/学习新事物很重要,因为技术确实在变化,即使您如果今天是专家,那么明天您可能必须成为完全不同的专家。

2
DXM

我绝对会说。

但是您将必须外出获取,它不会出现在报纸或在线职位发布中(可能性很小)。因此,也许您不应该寻找专门的工作,而应该寻找可以发挥您各种优势的工作。 “稍微好”是主观的,也许您对自己太苛刻,也很谦虚,但这是一件好事(-:

同样,尽管您的经验和专业知识很重要,但雇主对您提供结果的能力更感兴趣。问问自己:我可以利用我的各种知识和经验来改善公司的底线?看不到您的简历,我想到的头衔可能是解决方案工程师,架构师(网络,应用程序等),甚至是CTO。

最后,我的建议是使自己喜欢的事业成为职业。多年来,您每天必须做8个小时以上的时间,并且您可能还以这种速度喜欢( -;

祝您好运,

KM

1
KM.

的确,大多数职位发布都是因为过于具体或要求过高而与他们抗衡。它们的写法就像广告一样(可能显示它们的功能),但是由于您在问题中陈述的原因,它阻止了某些出色的配置文件的应用。

这是我使用的职位发布:

职位和人员描述

.NET Framework至少4年的经验。不需要特定技术的知识。候选人必须是快速学习者,并能够表现出学习新事物的热情。我们希望以下人员:

  • 对数字媒体感兴趣
  • 将困难视为机遇
  • 把事情做好,而不是由简历驱动
  • 对业务方面感兴趣
  • 他们的工作具有创业精神语言:法语OR英语

技能(不是必需的,但每个都是资产):

  • .NET Framework 4.0
  • nHibernate或实体框架
  • DevExpress组件
  • LINQ
  • 世界足球联合会
  • HTML/CSS/Javascript
  • 扩展名

如您所见,除了具有.NET的整体经验外,实际上并不需要其他知识。但是,所需要的是能够倾斜新事物的能力。

由于您无法控制公司如何撰写其职位描述,因此您应将其视为学习机会。

当我看到职位要求很高时,我认为这是学习新知识的机会。在面试过程中(如果我理解的话),我解释说,由于我的动机是学习和完成工作,因此我不会因缺乏更多列出的技术之一的经验而受到太大影响。

实际上,这就是我学得这么快的方法:通过选择要求苛刻的工作

1
user2567