将您的职业转向另一种编程语言


21

我会追逐的。我正在寻找有关经验丰富的开发人员如何说服准雇主使用其他语言的职位的建议。满足其他非语言特定要求(知道版本控制,OO,学位等)。例如,一个经验丰富的PHP开发人员希望移至Perl职位。可能吗 会有多难?语言依赖吗?

编辑:我得到的答案证明了这个社区的未来确实是光明的,但可悲的是,它只允许我选择一个答案。谢谢您的答复。


7
语言!生涯==开发人员
Steven A. Lowe

Answers:


18

以接受采访的人的身份讲话。

说实话

让他们知道您正在切换音轨,并告诉他们您认为需要多长时间才能加速。

热心

向他们展示您对学习新语言感到兴奋。当您知道开发人员要回家并继续使用相同的语言进行编程时,热情可以弥补经验。

了解CS概念

更深入的了解将有助于学习其他语言。

表明您知道相关语言

一旦知道Perl,学习Ruby并不是一个大飞跃。当您只知道C是一个巨大的飞跃时的学习计划。

表明您已经知道3种语言

您知道的语言越多,它们就越容易被接受,直到成为一种比语法更多地学习习语的案例。


从招聘经理的角度来看潜在的申请人,这是非常有用的信息。
canadiancreed

20

经验丰富的程序员除了应该使用任何合理的编程工具外,还应该能够使用几乎所有编程语言。如果您想使用一种新的语言,只需自己阅读一两本书,在家里练习,然后像其他人一样发送简历。


4
我不买。学习语言随附的库需要花费时间。C ++ pro / php新手会和十年的php兽医一样好吗?同样,从一种内存管理的语言转变为一种不是这种语言的语言比反向语言要困难得多。
尼尔·麦圭根

9
@NRM,为什么要“ 学习 ”这些库?总是有可用的参考,您不应该因为API等不重要的东西而使头脑混乱。
SK-logic

4
@NRM错误的例子。C ++ => PHP应该几乎是一个平凡的过渡。现在,很难尝试另一种方法。
康拉德·鲁道夫

1
@NRM-当然,“新手”不如十年的“兽医”好。但是,“新手”有很多工作。那是兽医的来源。
davidhaskins 2011年

1
这里的问题是说服潜在的雇主您可以切换语言,尤其是通过HR招聘,后者的要求是“至少具有37年Java经验”或同样愚蠢的要求。
Fred Larson

8

全面披露:我自己没有尝试过

在我看来,您需要一个分为两部分的策略来使此工作有效。首先,您需要站起来接受采访。这意味着要超越任何简历和人力资源过滤器。您可以在不撒谎的情况下以任何方式将新语言关键字应用到简历中(例如,贡献一个开源项目)。接受面试后,您需要向招聘经理证明...

  • 您可以聪明地讲新的语言(尤其是如果您还不是专家的话)
  • 您有能力快速提高速度,因此您不会落后于同事

我认为任何语言的有才华的程序员应该能够以足够的耐心实现这一目标。您需要在适当的情况下在适当的公司提供适当的机会,以聘用新语言。简而言之,就像被录用为正常工作一样。:-)


7

在大约25年甚至30年的时间里,我不得不学习许多新语言。现在我失去了很多。这是一个粗略的清单。

如果我往前走,往后走...

8080,Z80、6502、8086、80286汇编程序。

BASIC(大约6个品种)。

APL(是)

PL / 1

FORTRAN 4和77

COBOL(信不信由你)

PASCAL(包括Delphi在内的多个品种)

OCCAM2(乐趣无穷-即时创建流程)

C(很多编译器,很多处理器,很多奇怪的变量)

C ++

Ada(大型系统以及嵌入式系统)

一点Perl只是为了好玩

的PHP

这些已在各种机器上使用-小型嵌入式系统,开发板,运行TSO的IBM大型机,VAX / VMS,CP / M,DOS,Windows,Solaris,Linux,无操作系统的嵌入式系统,远程托管的开发环境,并在清单上。

而且还有一些我不记得(或不想​​... PL / M)的方式产生的一些晦涩的东西。

这些都是必须学习的,因为这是完成工作的一部分。在大多数情况下,我以前没有经验,只是一个宽容的经理,愿意跳进去完成工作。

如果您感兴趣的是学习新事物,则可以买书,玩耍,在自己的时间做事。如果您想担任职位,那么您在简历上看起来不错,因为您有兴趣。

正如其他答案之一指出的那样,大多数时候,做主流事物的概念并没有太大变化,只是表达它的方法。(或者,当然,您可以使用一些非常普通的语言,这些语言既不是OO也不是程序语言,这确实需要转变思维方式。)

如果您有机会在工作中做一些与众不同的事情,那么请抓住机会。我上面列出的大多数东西已经使用多年了,不太可能再次使用,但是您永远不会知道。有一天,我真的很想制造一款微码APL机器:)


4

作为个人轶事,我通过展示一个基于PHP的演示被聘为Java职位。 -学习完整的概念,就像用笔而不是铅笔(您的想法正确吗?)。

我认为真正重要的是要证明自己具有良好的软件开发,CS概念和沟通能力,甚至为最困难的问题寻求解决方案,希望对同事有所帮助,实现自动化并简化他们的工作,最重要的是(至少对我来说),您要谦虚并承认您并不了解一切,并且愿意学习更多。

(完全滥用了“那个”这个词。)


3

我只做过一份已经了解主要开发语言的工作,所以是的,不仅可能,而且我一直认为这很普遍。

要记住的是,在他们可能使用的多种语言和技术中,它只是一种语言。SQL是SQL。不管是在python还是perl中执行。与配置DB服务器甚至没有语言相关。HTML是HTML,它是由PHP还是ASP生成都没有关系。与XML相同。套接字是套接字,它们在所有语言中的操作基本相同。OpenGL在Delphi中的工作原理与在C ++中相同。当您从整体上看待开发时,特定语法只是其中的一小部分。其中一些技能本身就是很重要的话题,比起新的语言要难得多。

重点是,专注于技能。当然,您可能不知道他们的主要开发技术,但这只是难题的一小部分。但是,他们也有可能使用您确实知道的其他技术和操作系统。


1

如果您的履历中没有写首字母缩写词,您将很难进入。如果您想更改,请花一些时间在个人项目上以充分学习它,然后突出显示该内容。


1

当然有可能。我刚开始从事红宝石,JavaScript和Go的工作。在开始之前,我对这些语言都没有太多的经验。

我认为我在这里取得成功的关键在于,从最初的回应到面试,我确保我了解足够的红宝石(他们的主要语言)来理解和编写现实世界的代码。我认为了解Python和C与ruby and go非常相似也有帮助。


1

我工作的公司没有寻找“ C#程序员”。任何优秀的程序员都会尽其所能,因为他可以立即选择一种语言。

如果您雇用程序员的想法是他们待了几年,那么我真的不认为这是个问题,他们有足够的时间来学习语言的本质。如果他们在一年后离开,那可能是在浪费时间。


0

恕我直言,并不是所有的程序员都做出类似的反应。语言是宗教;-)

以我的个人经验,我喜欢学习新的语言,但是很快就会爱或恨。我可以在第一天就了解一种新语言,并在以后的几年中使用它。从开始到现在,我还讨厌语言,甚至数十万(即使不是数百万)程序员也在使用它们。

所以我建议不要命令同行程序员使用另一种语言。相反,在周五晚上的啤酒时间闲聊一下语言偏好,以发现他/她的爱或恨。

  • 我故意在这个答案中省略了语言名称;-)
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.