到目前为止,我一直是C++/Linux开发人员,我擅长这个堆栈.最近我获得了需要Perl,Unix(具有C++知识,shell脚本)专业知识的机会.即使我没有太多的脚本经验可以夸耀,组织也表现出了兴趣.这个角色更多的是涉及SQL的支持,维护项目.我很晚才解决是否放弃这些优惠.
我不知道IT组织的动态,因此一方面我担心我的C++经验将无效,而且从积极的方面来说,我正在开发一个新的技术堆栈,这只会增加我的技能.
我相信,你们中的大多数人在某些时候遇到过这样的困境并且会做出一些决定.
我希望您在这样一个场景中分享您的观点,在这种情况下,一个人在改变他/她的工作时需要改变他/她的技术堆栈.
选择其中任何一个选择的优点和缺点是什么?
我也知道C++不会在不久的将来出现.perl怎么样?我不知道perl开发人员的未来是什么?是否有足够的机会让perl开发人员?
我在这里问这个问题,因为我的大多数程序员都面临着这个职业选择的困境.
编辑:自从我上次问这个问题以来,我决定转换.我正准备在虚线上签字,但是一些神圣的干预使我找到了关于工作时间的一些澄清,令我恐惧的是,这份简介要求我轮班工作,这是我从不习惯的.我更加生气,因为他们之前没有澄清这一点.这是一个知名的组织,但我仍然给了他们一点心思并且非常感谢你.
谢谢.
关于堆栈的更改,它肯定会帮助您长期的职业生涯,从提供给下一个雇主的额外经验到扩展的工作集,您可以获得更高的编程智商,因为他们知道不同的观点(例如Perl,所有人)它的脚本起源,如果使用得当,既有OO和非常好的功能范例,但这一点适用于任何新技术).
但是,您必须愿意付出额外的努力来实际学习新的堆栈/环境/语言,并学会以新的方式做事(例如,不要在Perl中编写C++代码:) - 特别是为了获得最后的好处请注意那里的"环境" - 跳转涉及学习新的调试器和调试技术(对我而言,从Perl切换到目前为止,C++开发最困难的事情可能是在用于perl调试器的灵活性/功能之后进行有效的gdb调试).
我个人不得不两次跳 - 从C开发人员到Perl,10年后Perl再到C++.我两次都学到了很多东西,我很抱歉,我跳了起来.第一次跳跃是从IT角色(Junior SA/Production with some C coding)到全面开发者,第二次跳跃是不同业务团队之间的跳跃.
至于缺点,请注意,您将在一段时间内没有使用的堆栈中失去优势.并没有完全忘记,但远离你离开的地方 - 这甚至不计算堆栈可能在过去的时间内自然演变的事实.另外,正如我所说,你必须期望它是有效的,你必须付出很多努力才能熟练掌握新堆栈的惯用语,哲学和生态系统.例如,简单地学习Perl是一小部分难题 - 你需要熟悉大量的CPAN,就像你必须知道STL一样......就我而言,这并不是一个缺点,而是一点需要牢记这一点.
至于Perl开发人员的机会,之前已广泛涵盖了这一点.虽然绝对的工作岗位数量可能少于Java或C++职位,但高质量的开发人员总是需求旺盛,并且有很多公司(包括或者尤其是金融行业)大量使用严格的Perl开发(而不是简单的管理脚本).语言本身也正在发展并向前发展.