如果我以一种语言(例如Java)作为开发人员工作,并晋升为高级开发人员,那是否有资格让我成为使用另一种语言(例如Ruby)的高级开发人员?
如果我以一种语言(例如Java)作为开发人员工作,并晋升为高级开发人员,那是否有资格让我成为使用另一种语言(例如Ruby)的高级开发人员?
Answers:
回答此问题的最佳方法是查看开发人员和高级开发人员之间的区别。假设这不仅是一项时间服务,通常我希望开发人员和高级开发人员都能够:
另外,我希望高级开发人员能够:
那么,问题就变成了您是否满足第二(或第三或第四)语言的扩展标准?我建议,只要您在语言上具有足够的技术能力,就可以迁移到是,因为大多数高级开发人员的内容都倾向于可移植。
您可以申请,但至少如果我正在招聘,我可能会也可能不会雇用您。
资历涉及(至少)两个领域。通用开发专业知识和语言/框架专业知识。(我有目的地忽略业务空间知识)。作为我书中的高级开发人员,还将包括一定水平的设计/架构专业知识。如何建立良好/可测试的系统等
达到Java的这一水平应该可以使您更好地使用其他(相似/过程)语言。
但是在这个期望立即提高生产力的时代,您不太可能像Java一样了解Ruby。如何将系统拆分为Ruby友好的结构而不是Java友好的结构。您可能知道一些Java框架,而不是Rails或其他特定于Ruby的东西。
如果在面试中我要你用Ruby进行白板编码,可以吗?
所有这些决定将由我决定是否以任何级别雇用您;但尤其是担任高级职务。
祝好运
不。
这是我们的职业与其他更“正式”职业之间的最大差异之一。如果您曾从事遗嘱和遗产事务律师20年,那么您将获得很高的回报率,因为您在该领域积累了20年的知识。
如果您从事C ++ / Win32 / MFC已有15年了,即使您仍在同一领域中解决相同的问题,也并不能真正使您有资格成为Rails开发人员。例如帐单。
更糟糕的是,大多数公司甚至都不会考虑您的职位大致相同。例如,如果您从事C ++ / MFC已有5至7年,那么您应该能够掌握C#的最新知识。 /.NET 非常快,至少对于台式机而言。不幸的是,大多数公司并不这么认为。
是和否
如果语言类似,例如C ++,Java或Ruby,请确保考虑使用。根据坐在这些办公室中的人员的灵活程度,您会有战斗的机会。
但是,如果语言有很大不同,并且我的意思是说您是一位热衷于Haskell的COBOL专家,那么尽管您拥有10年以上的COBOL机会仍然非常多,但您可能甚至无法像获得面试一样多。
在这种情况下最重要的事情:
我很少看到基于语言的“高级”标题。我认识一些高级系统程序员,几个高级Web程序员和一个高级COBOL程序员。
编程是多方面的,并且提供了很多学科。我希望资深的Web开发人员(在标题上,程序员和开发人员似乎可以互换)精通Web开发中使用的几种主流语言。这会使Python和PHP专家立即成为C#的专家吗?不。另一方面,并非所有C#专家都掌握了项目管理和领导力的精湛技巧。
除了担任高级系统程序员之外,我还曾在一家公司担任CTO职务。但是,如果我们遇到一个需要二者之一的项目,我会很乐意服从计划或LISP专家。成为一名优秀的领导者之一是了解自己的限制和不足之处第一。
我不确定我想在一家公司,甚至一家只专注于一种语言的部门工作。听起来这将像他们经常说的那样做:抽烟:当现实情况变得更糟时,阻碍您的成长。
不要追求标题,追求知识。但是,公平地讲,只要您具备手头的语言能力,那么您在先前的领导职位中所扮演的角色可能会给您带来更多的优势。
我想说,语言越底层或对机器友好,您就越熟练。
与ASM / C / C ++专业知识相比,Java / C#专业知识的薪水更低。
后面的那些语言执行内存管理和其他在编程时实际上很重要的事情。
但是对于其他“轻松”语言,您需要对使它们“更轻松”的功能进行快速比较,但是我发现它没有用。使用CMS /您以前工作时使用的其他自制代码(例如代码点火器或django或Apache或RoR)可以更好地评估使用简单语言的体验。
对我来说,高级开发人员是对内核,系统,嵌入式硬件等进行编程的人。使用对机器不友好的语言的编程人员对我而言不是高级。他们只是做工作,仅此而已。