它是最适合多种专业化还是单一专业化?

时间:2010-08-07 21:29:37

标签: specialization

我注意到很多关于要发布的工作要求申请人了解多种语言或技术。特别是我发现这与web开发。我不太喜欢这个,考虑到你越专注于几件事,你对每一件事的了解就越少。我认识到,当你能支付一个人去做很多事情时,这对于底线是有利的,但对于劣质服务是否值得呢?这不是他们的错吗?一个很好的阅读是像this这样的研究。

它表明,您执行的任务越多,您执行的质量就越差。

这是我的问题。我真的只想专注于一些事情,因为我喜欢擅长自己所做的事情而且当我告诉别人我能做他们想做的事情时我不想撒谎。如果我在许多技术中工作,那么在一些事情上更专业化会让我更难找到工作吗?

第二点。我的父亲是一名DBA,他告诉我,我会对那些只学到足够的东西欺骗他们认识的雇主,然后在被雇用后学习它的人数感到震惊。然后他告诉我,如果我需要,我也应该这样做。我不喜欢它,只想申请我自信地知道该怎么做的工作。我认为这是正确的事情,但我找不到工作,而撒谎的人更容易找到工作。这是我总是要处理的事情,从长远来看,我会更专注于一些对我更好的事情吗?

我想有趣的事情,只是想从经验丰富的开发人员那里了解到。我21岁,专注于html / css,javascript和python。我也知道一些口齿不清的东西,但只是涉足。

谢谢你们

6 个答案:

答案 0 :(得分:4)

不幸的是,科技行业中有很多人试图尝试滑冰。他们中的许多人都会学到足够的知识,通过认证考试来填补他们认为会让他们轻松赚钱的问题。有很多DBA符合这种描述,因为大多数管理人员并不真正知道DBA的期望或要求。

就发展而言,原则才是真正重要的。一旦你理解了OOP和其他范例的概念,用这些理解填补一个角色就会使你处于与80%的市场竞争相同位置的同一水平。有很多专家不了解发展的基本原则,只是填补了足够长的时间来主张专业知识,或者他们参加了一些课程或认证计划。大多数时候,一个优秀的通才能够像那些专家一样表现和提供。

当然,这是基于我自己的经验和全面的概括。大多数时候,它归结为向无知的管理层和人力资源部门人员推销自己,而人们会寻找流行语,证书和学位。通常情况下,直到第二次面试或内部评估才能获得能够真正评估某人在开发工作中的历史和理解的技术人员。

那么,你应该专攻吗?那么,您需要为了实际理解开发的一般原则。所以,你最终会专注于某些事情。但更重要的是,当你研究专业化的更深层次时,要理解一般原则。专业化,如果没有对概念的真正理解,将使您处于与大型机时代的COBOL和RPG程序员相同的位置。你选择进入一个变化很快的领域,专业化的专业化将使你陷入一个无聊的大公司的死胡同。你的心智能力和对发展范式的理解越敏捷,你就越需要在你想要的地方和地点工作。

答案 1 :(得分:1)

你误用了“多任务”这个词。多任务处理试图同时做多件事,而不是使用多种语言。

我从不雇用任何一种自称为“专家”的人。对我而言,这个词只意味着“拥有极其有限的专业知识”。编程语言不是具有无限专业水平的领域,专业化将使你比其他任何人都更好。

我也不想听到任何语言的焦点,因为学习语言不是专业程序员的成就;这是常规。对JavaScript及其浏览器API的流畅理解是一段时间的工作 - 如果有人夸大它,好像这是几个月的艰苦训练的结果,这告诉我它们可能没有经验。

答案 2 :(得分:0)

关于Web开发:Web Developer的一般定义是知道(至少)HTML,JS,可能是JS框架(如jQuery),CSS,服务器端语言(在您的情况下,Python)和可能至少有一个服务器端框架(Django?我没有在Python中进行任何Web开发)。那就是四种或五种语言。

也就是说,您使用单一语言学习的内容中有99%适用于其他语言。我的大部分工作都是用Java和PHP完成的,但本周我开始在课堂上学习C ++,并在两天内编写了小型OO应用程序。这主要是因为许多PHP和Java所做的事情都是从C ++开始的,但大多数现代语言都是如此。我的应用程序的生产质量如何?当然不是,我还有实践要做,但不要以为只是因为有人精通五六种语言,他们会自动编码得更差;事实上,我认为相反的情况可能是正确的;在使用不同语言时,您将学会以不同的方式看待事物,从而全面改善您的代码。

答案 3 :(得分:0)

很明显,雇主希望拥有多种语言知识的员工越多越好,因此开发人员可以更灵活地完成任务。在我看来,一些语言的专业化是一个明确的优点(如果通常需要这些语言),但多语言的知识也是如此。

如果您专注于python,了解OOP PHP,C#或Java(或其他典型的Web语言)意味着您可以轻松地适应语言是否需要。如果您不了解这些语言,那么如果需要这些技术,学习曲线将会更加困难。作为Web开发人员,无论服务器端语言如何,HTML / CSS / JavaScript都很重要。

流行的服务器端语言通常非常相似。如果您阅读了一些其他语言的书籍,您将会对其语法和工作方式有所了解,并且能够在需要时快速掌握语言。

答案 4 :(得分:0)

  

如果我在许多技术中工作,那么在一些事情上更专业化会让我更难找到工作吗?

     

这是我总是需要处理的事情,从长远来看,我会更专注于一些对我更好的事情吗?

即使在Web开发中(特别是在python世界中),也有一些项目试图将单一语言用于所有目的,例如Pyjamas。它基于Google在Java中实现的相同思想GWT。因此,肯定有一些倾向于摆脱发展的混合。

至于找到这样的工作,通常取决于你说服人而不是实际知识的能力。例如,你肯定能找到愿意使用Pajamas / GWT进行网页开发的人。

答案 5 :(得分:0)

你确实知道有多少东西可以堆叠在一起,但有些人只是认为这是一回事,对吧?例如,在我的Web开发世界中,后端可能有一些MS-SQL服务器,一些C#中间层的东西,一些前端ASP.Net也在C#中,XSLT用于Sitecore使用的一些页面渲染环,页面的HTML / CSS以及一些Javascript和jQuery都汇集成一个网页,有些人可能看不到所有这些技能汇集在一起​​。虽然可能有一些Web开发人员可以坚持使用单个堆栈,但我不确定有多少人真正有多少人只是适应他们周围的东西以及雇主可能希望他们使用的东西。

其次,你确实意识到大多数地方可能都有你可能不知道的编码标准和做法,对吧?当您弄清楚哪些有效并且在该环境中不起作用时,可以进行一段时间的调整。虽然一些实践可以很容易地转换,但知道变化几乎总是即将到来并不是一个糟糕的观点。

你将永远不得不在世界上处理一定数量的谎言和BS。我能看到的唯一异常就是你在学术界或微软或谷歌的一些研究部门工作过,在某种意义上你没有体验现实世界中发生的事情。有人可能会说他们想要一个做X的应用程序,然后你将它传递给回答:“嗯,我知道,我真的也想要Y和Z。当你发送请求时,你不知道吗?” / p>

最重要的是,知道什么对你有用。是结构,特定工具,特定实践还是其他什么?只有你能知道什么对你有用,而且可能需要数年才能找到能够欣赏这一点的地方。