开发商之王的王冠是重的。
是的,随着软件吞噬世界,对熟练开发人员的需求仍然很高。但软件的普及——从服务器到云计算,再到即将到来的可穿戴设备和物联网设备——意味着软件工程师的责任要大得多,也意味着需要不断扩展技能。
公司现在经常在寻找这样的人:熟悉开发栈的每一层,有能力从大量数据集中提取见解,能够战略性地思考未来的设备,同时重新考虑使用最新语言和框架的旧系统。不知道从哪里开始就够了。
为了找出今年最受欢迎的开发人员技能,我们接触了招聘人员、首席技术官、首席执行官和其他高管,他们提供了他们必须尝试的技术、需要考虑的策略和需要掌握的软技能。
如果你想重新整理你的简历或更新你的现有技能(你应该这样做),让我们对最受欢迎的技能和趋势技术需求的分析成为你的指导。
复习一下JavaScript
我们调查的那些人说,如今,掌握了JavaScript的开发人员不会出错。精通JavaScript是迄今为止主管和招聘人员最常寻求的技能。
“JavaScript已经被证明是当今市场上一种高度可移植和有价值的技能。”
——Todd Anglin, Progress Software的首席布道者
Dev Bootcamp的讲师Sherif Abushadi表示:“大多数开发者在准备工作面试时,已经对雇主正在搜索的热门关键词有了一定的印象,他们已经仔细阅读了求职公告栏和比较薪酬报告。“JavaScript是大家谈论的话题,JavaScript社区建立的许多相关框架和库也是。”
+更多的编程:12项你需要知道的技术+
Progress Software首席传道者Todd Anglin说:“不管你是面向桌面、Web还是移动平台开发,JavaScript已经被证明是当今市场上一种高度可移植且有价值的技能。”
WinterWyman Search软件技术实践的首席顾问Mark Stagno说,拥有扎实的计算机科学基础和现代堆栈知识的工程师是不会去找工作的。他说:“这可以是全栈的工程师或专注于ui的开发人员,他们知道JavaScript和像AngularJS或React这样的现代库。”
Abushadi补充说,虽然JavaScript是王者,但是其他流行的语言和方法也值得你去尝试一下,包括Ruby, Ruby on Rails框架,Python和Django;事实证明,这两种技术对构建可伸缩的Web应用程序都至关重要。
用数据做大
去年,大数据项目继续扩大,未来几年也没有放缓的迹象。
Smartling联合创始人兼首席技术官安德烈•阿克塞罗德(Andrey Akselrod)表示:“虽然大数据已经存在多年,但这是一种趋势。”“开发人员必须对(商业智能)和分析产品、机器学习工具以及其他传输、存储和聚集大量数据的解决方案有深入的了解。只有这样,他们才能帮助企业存储、互动和分析大数据,从而做出更好的商业决策。”
“流媒体解决方案和内存数据存储等在数据到达时就捕捉并发挥作用的技术,正成为必须掌握的技能。”
——John Piekos, VoltDB工程副总裁
VoltDB工程副总裁约翰·皮科斯(John Piekos)表示,数据创建的步伐令人眼花缭乱。但机遇也是如此。
“移动和物联网设备正变得无处不在,”皮科斯说。“目前正在开发的应用程序正在利用惊人数量的数据,并进行实时分析和反应。流媒体解决方案和内存数据存储等能够在数据到达时立即捕获并发挥作用的技术,正成为人们必须掌握的技能。而能够存储、管理和历史上分析大量数据(pb级以上)的技术,将是未来十年为开发人员提供良好服务的技能。”
对于希望将数据争吵添加到他们的武器库中的开发人员来说,技术如Hadoop火花,R,以及各种机器学习框架正在兴起都是很好的开始。
掌握整个堆栈
许多顶级公司现在都在寻找能在各种技术和平台之间轻松切换的全栈开发人员。
初创公司Flybits的创始人兼首席产品官侯赛因•拉纳马(Hossein Rahnama)表示,这些工程师“理解从软件核核心层到表示层的技术决策的含义”。“这些都是很好的资产,因为它们让同行的工作变得容易得多,并将防止初创公司遵循传统的分层技术决策方式而产生“竖井”。它们使团队保持小规模和高效。利用像Top Coder和Amazon Mechanical Turks这样的平台也是参与酷项目的好方法。”
MongoDB的开发人员倡导者Bryan Reinero表示,未来工程师将需要更广泛的技能才能有效工作:“幸运的是,增加专业知识的范围对工程师和她工作的公司都是有益的。”
购买devops
“Devops技能非常突出,通常有这样的说法:‘负责编写应用程序的工程师,就是在生产环境中维护应用程序的工程师。’”
——Bryan Reinero, MongoDB的开发者倡导者
一些技术专家认为,随着云计算在企业内部的使用不断增长,devops将会被淘汰。MongoDB的Reinero说,事实并非如此。
“Devops技能非常突出,”Reinero说,“经常有这样的说法:‘负责编写应用程序的工程师与在生产环境中维护应用程序的工程师是同一个人。’这包括打破工程竖井的需要,这样工程师才能理解他们的代码在生产中是如何运行的,并在开发阶段注意性能和稳定性。”
更容易获得热门的工作前景并不是在简历中添加devops的唯一原因;Reinero认为,devops实践只是让您成为更好的开发人员和更有价值的合作者。
“以这些方式思考的工程师将以更大的信心更快地发布更好的代码,”Reinero说。Devops实践还提高了团队凝聚力和操作灵活性。这是一种优势,允许一家公司加速领先于其他公司。”
多元化
“给予和接受反馈的技巧往往是成功和失败项目之间的关键区别。”
——Sherif Abushadi, Dev Bootcamp教练
WinterWyman Search的Stagno表示,与几年前相比,如今公司需要的技能更加多样化:“Java和c#仍然是市场的一部分,但当你看看上次经济衰退后成立的公司,你会发现多种多样:Ruby on Rails, Python/Django, Node.js,以及函数式编程语言的出现,其中以Scala最为流行。
“我们也开始看到一些公司采用Go。我不认为你需要找到‘正确的’技术来掌握,但你希望确保自己是当前的,因为如果你选择了错误的技术,就会让你落后于日新月异的形势。”
使用源
特别是对于自由职业者来说,能够在GitHub上指向你的代码表明你的工作已经得到了很好的利用,并且得到了同行的评审。
“随着越来越多的企业采用云计算,安全性和合规性成为企业越来越关注的问题。”
——Aashish Kalra, Cambridge Technology Enterprises董事长
ZeroStack的联合创始人兼首席技术官基兰•邦达拉帕蒂(Kiran Bondalapati)表示:“开发有意义的库,并将它们开源,以向潜在雇主展示即时价值。”他补充称,为开源项目做出贡献也有助于建立合作资格。
招聘服务公司Addison Group的招聘经理坎迪斯•墨菲(Candace Murphy)表示,。net和Java技能的需求仍然很大,但“开源开发的更大趋势正在增长。”我们看到对拥有Ruby、Python、Node.js和AngularJS开源JavaScript经验的IT专业人员的需求在上升。这种趋势是由公司远离需要授权费用的传统平台推动的。”
如果公司自己也在探索GitHub以增加技术,你不应该这样做吗?
要灵活——磨练你的团队合作技能
“我想说的是,成为一名成功的手机开发者不是靠特定的技术技能,而是靠商业头脑。编写代码只是这个项目的第一阶段。”
——Andrey Akselrod (Smartling联合创始人兼首席技术官
费城软件咨询公司PromptWorks的联合创始人格雷格·斯特恩代尔(Greg Sterndale)表示,敏捷开发应该成为2016年程序员技能的一部分。PromptWorks专门从事网络和移动应用程序。保持简单:“要谦虚,要有饥饿感。熟悉敏捷和精益方法——能够将大项目分解成小故事,确定优先级,适应变化,并交付最大价值。”
因为在敏捷环境中提供反馈是很重要的,所以Dev Bootcamp的导师Abushadi强调需要了解你的同事和项目:“当你在团队中工作时,只有当你有同理心时,才能提供诚实、友善和可操作的反馈,而给予和接受反馈的技能往往是项目成功和失败的关键区别。”
得到安全
Addison的墨菲表示,去年遭遇安全漏洞的公司已经知道他们想要什么,以及在2016年什么技能对他们最有用。
“现在每个人都面临着下一个重大挑战:我如何将数据——以正确的格式、正确的规模、具有正确的弹性和响应性——输入到这些应用中?”这是一个更大的把戏。”
——Appcelerator首席执行官兼联合创始人杰夫·海尼(Jeff Haynie
Murphy说:“他们正在采取更主动的方法来提高安全性,不仅是在他们的IT部门,而是在整个部门。”“因此,今年我们将看到最受欢迎的技术发生变化。
专家指出,网络安全需求增加,特别是自适应应用安全,以及云安全。
剑桥科技企业(Cambridge Technology Enterprises)董事长阿什什•卡尔拉(Aashish Kalra)表示:“随着越来越多的企业采用云计算,企业越来越关注安全性和合规问题。”“这导致了对安全、合规、治理和数据管理专家的需求激增。”
虽然开发人员传统上可能会将安全责任转嫁给专门的安全专家,但开发人员保护其代码的需求却在不断增长。把它看作是一个宝贵的、不断增长的利基市场。