Saturday, April 18, 2009

在未来五年内开发者将需要的10技能

如果您是开发人员寻找出人头地在您的领域(或在某些情况下,简单地停留雇用) ,这不是一个好时机因此而自满。 Justin James lists the skills you’ll want to work on now to maximize your future job prospects. 詹姆斯名单上的技能您想要的工作以最大限度地提高您现在的未来的就业前景。


With the recent changes in the economy, a lot of developers are focused on their short-term job prospects.与最近发生的变化,经济,许多开发商的重点是短期的就业前景。 At the same time, it’s important to make sure that you get the most bang for your buck when it comes to taking the time and energy to learn new skills.与此同时,重要的是要确保您获得最帮您降压时,采取的时间和精力学习新技能。 Here is our list of 10 skills you should be learning right now to make sure that your resume is relevant for the next five years.这里是我们的名单, 10技能,你应该学习现在,以确保您的简历是有关今后五年的。 The list is hardly exhaustive, and there are huge swaths of the industry it won’t cover (mainframe developers, for example).这份名单并不是详尽的,有巨大的工业地带,将不包括(大型机开发,例如) 。 Nonetheless, for average mainstream development, you can’t go wrong learning at least seven of these skills — not only to the point where you can talk convincingly about them at a job interview, but actually use them on the job.尽管如此,平均主流发展,你不能出错学习至少7这些技能-不仅是为了这一点,您可以令人信服地谈论他们在面试,但实际上利用他们的工作。

Note: This article is also available as a PDF download . 注:本文也可下载

1: One of the “Big Three” (.NET, Java, PHP) 1 :一个“三巨头” ( 。 NET中,爪哇岛, PHP )的

Unless there is a radical shift in the development world (akin to an asteroid hitting Redmond), most developers will need to know at least one of the Big Three development systems — .NET (VB.NET or C#), Java, or PHP — for the near future.除非有一个根本性的转变发展世界(即小行星击中微软) ,大多数开发商将需要知道至少有三大发展系统-的。 NET ( VB.NET或C # ) , Java或PHP的-在不久的将来。 It’s not enough to know the core languages, either.这是不够的,知道的核心语言,无论是。 As projects encompass more and more disparate functionality, you’ll need to know the associated frameworks and libraries more deeply.作为项目包括越来越多的不同的功能,您需要知道相关的框架和图书馆更深入。

2: Rich Internet Applications (RIAs) 2 :丰富的互联网应用程序(区域一体化安排)

Love it or hate it, in the last few years, Flash is suddenly being used for more than just animations of politicians singing goofy songs.爱或恨它,在过去几年中, Flash是突然被用于不仅仅是动画的政治家唱歌愚笨歌曲。 Flash has also sprouted additional functionality in the form or Flex and AIR.闪光还长出额外的功能在表格或Flex和空气。 Flash’s competitors, such as JavaFx and Silverlight, are also upping the ante on features and performance. Flash的竞争对手,如JavaFx和Silverlight ,还加大了赌注的功能和性能。 To make things even more complicated, HTML 5 is incorporating all sorts of RIA functionality, including database connectivity, and putting the formal W3C stamp on AJAX.为了让事情变得更加复杂, HTML格式5纳入各种免疫功能,包括数据库连接,并把正式的W3C邮票上的AJAX 。 In the near future, being an RIA pro will be a key resume differentiator.在不久的将来,作为一个记者Pro将是一个关键的恢复与众不同。

3: Web development 3 : Web开发

Web development is not going away anytime soon.网络的发展是不会消失的迹象。 Many developers have been content to lay back and ignore the Web or to just stick to “the basics” their framework provides them with.许多开发商已经奠定回的内容,而忽略了网站或只是坚持“基本”的框架内为他们提供。 But companies have been demanding more and more who really know how to work with the underlying technology at a “hand code” level.但公司一直在要求更多谁真的知道如何工作的基本技术在“手码”的水平。 So bone up on JavaScript, CSS, and HTML to succeed over the next five years.因此,骨上的JavaScript ,的CSS和HTML的成功,在未来5年。

4: Web services 4 :网络服务

REST or SOAP?休息或SOAP的? JSON or XML?简称JSON或XML ? While the choices and the answers depend on the project, it’s getting increasingly difficult to be a developer (even one not writing Web applications) without consuming or creating a Web service.虽然选择的答案取决于项目,它越来越难以开发(即使是不写Web应用程序)在消费或创建一个Web服务。 Even areas that used to be ODBC, COM, or RPC domains are now being transitioned to Web services of some variety.即使地区曾经是数据库的COM ,或RPC域名现正转移到Web服务的一些品种。 Developers who can’t work with Web services will find themselves relegated to legacy and maintenance roles.开发商谁不能工作,网络服务将发现自己降级到遗产和维护的作用。

5: Soft skills 5 :软技能

One trend that has been going for quite some time is the increasing visibility of IT within and outside the enterprise.一个趋势已经持续相当长的一段时间是增加知名度的IT之内和之外的企业。 Developers are being brought into more and more non-development meetings and processes to provide feedback.开发者们正在把越来越多的非发展会议和进程提供反馈。 For example, the CFO can’t change the accounting rules without working with IT to update the systems.例如,首席财务官不能改变会计规则不使用它来更新系统。 And an operations manager can’t change a call center process without IT updating the CRM workflow.和一个业务经理不能改变一个呼叫中心的进程没有它更新的CRM流程。 Likewise, customers often need to work directly with the development teams to make sure that their needs are met.同样,客户往往需要直接与开发团队,以确保他们的需要得到满足。 Will every developer need to go to Toastmasters or study How to Win Friends and Influence People ?将每一个开发商需要去演讲或研究如何赢得朋友和影响人们 ? No. But the developers who do will be much more valuable to their employers — and highly sought after in the job market.不可以,但谁做的开发商将是更有价值的雇主-和高度寻求在就业市场。

6: One dynamic and/or functional programming language 6 :一个动态和/或功能性编程语言

Languages like Ruby, Python, F#, and Groovy still aren’t quite mainstream –  but the ideas in them are.语言,如红宝石,蟒,女# ,和Groovy仍然不太主流-但他们的想法是。 For example, the LINQ system in Microsoft’s .NET is a direct descendent of functional programming techniques.例如, LINQ系统在微软的。 NET是一个直接后裔功能编程技术。 Both Ruby and Python are becoming hot in some sectors, thanks to the Rails framework and Silverlight, respectively. Ruby和Python都成为热点在一些部门,由于铁轨框架和Silverlight分别。 Learning one of these languages won’t just improve your resume, though; it will expand your horizons.学习其中一种语言不仅会改善您的简历,但它还将拓展您的视野。 Every top-flight developer I’ve met recommends learning at least one dynamic or functional programming language to learn new ways of thinking, and from personal experience, I can tell you that it works.每个顶级开发商我找到了我建议学习至少一个动态或功能的编程语言,了解新的思维方式,从个人的经验,我可以告诉你,它的作品。

7: Agile methodologies 7 :敏捷方法

When Agile first hit mainstream awareness, I was a skeptic, along with many other folks I know.当第一次击中敏捷的主流意识,我是持怀疑态度,还有许多其他人,我知道。 It seemed to be some sort of knee-jerk reaction to tradition, throwing away the controls and standards in favor of anarchy.这似乎是某种膝跳反应传统,扔掉的控制和标准有利于无政府状态。 But as time went on, the ideas behind Agile became both better defined and better expressed.但是,随着时间的推移,后面的思想敏捷成为双方更好地界定和更好地表达。 Many shops are either adopting Agile or running proof-of-concept experiments with Agile.许多商店都采用敏捷或运行概念证明型实验敏捷。 While Agile is not the ultimate panacea for project failure, it does indeed have a place on many projects.虽然敏捷不是灵丹妙药项目最终失败,但它确实有许多项目上。 Developers with a proven track record of understanding and succeeding in Agile environments will be in increasingly high demand over the next few years.开发人员跟踪记录证明理解和敏捷的环境中成功地将在越来越高的需求在未来几年。

8: Domain knowledge 8 :专业知识

Hand-in-hand with Agile methodologies, development teams are increasingly being viewed as partners in the definition of projects.携手与敏捷方法,开发团队正越来越多地被看作是合作伙伴的定义中的项目。 This means that developers who understand the problem domain are able to contribute to the project in a highly visible, valuable way.这意味着,开发商谁了解问题域能够有助于该项目在一个高度引人注目,有价值的方式。 With Agile, a developer who can say, “From here, we can also add this functionality fairly easily, and it will get us a lot of value,” or “Gee, that requirement really doesn’t match the usage patterns our logs show” will excel.与敏捷,开发谁可以说, “从这里,我们也可以加入这一功能很容易,而且将得到我们很多的价值” ,或“哎呀,这一要求并不符合我们的使用模式的记录显示“将Excel中。 As much as many developers resist the idea of having to know anything about the problem domain at all, it is undeniable that increasing numbers of organizations prefer (if not require) developers to at least understand the basics.正如许多开发商抵制想法知道什么问题域,这是不可否认的是,越来越多的组织希望(如果不是需要)开发商至少了解的基本知识。

9: Development “hygiene” 9 :发展“卫生”

A few years ago, many (if not most) shops did not have access to bug tracking systems, version control, and other such tools; it was just the developers and their IDE of choice.几年前,许多(如果不是大多数)商店没有获得bug跟踪系统,版本控制,以及其他类似的工具,它只是开发商和他们的IDE的选择。 But thanks to the development of new, integrated stacks, like the Microsoft Visual Studio Team System, and the explosion in availability of high quality, open source environments, organizations without these tools are becoming much less common.但由于发展的新的,综合性栈,如微软的Visual Studio Team System软件,并在爆炸中获得高品质的,开放源码的环境中,企业如果没有这些工具正变得更普遍。 Developers must know more than just how to check code in and out of source control or how to use the VM system to build test environments.开发商必须知道不仅仅是如何检查代码和源代码控制的或如何使用虚拟机系统,建立测试环境。 They need to have a rigorous habit of hygiene in place to make sure that they are properly coordinating with their teams.他们需要有一个严格的卫生习惯,以确保他们得到适当的协调与自己的团队。 “Code cowboys” who store everything on a personal USB drive, don’t document which changes correspond to which task item, and so on, are unwelcome in more traditional shops and even more unwelcome in Agile environments, which rely on a tight coordination between team members to operate. “典牛仔”谁存储上的所有个人USB驱动器,文件,不改变它的任务相符的项目,等等,都是不受欢迎的较传统的商店和更不受欢迎敏捷环境,依靠严密的协调团队成员操作。

10: Mobile development 10 :移动开发

The late 1990s saw Web development rise to mainstream acceptance and then begin to marginalize traditional desktop applications in many areas.上世纪90年代末增加了Web开发的主流接受,然后开始排斥传统的桌面应用程序在许多领域。 In 2008, mobile development left the launch pad, and over the next five years, it will become increasingly important.在2008年,移动开发离开发射台,并在未来五年内,它会变得越来越重要。 There are, of course, different approaches to mobile development: Web applications designed to work on mobile devices, RIAs aimed at that market, and applications that run directly on the devices.当然,不同的方法来移动开发: Web应用程序设计,在移动设备上,区域一体化协定,以市场和应用程序,直接运行的装置。 Regardless of which of these paths you choose, adding mobile development to your skill set will ensure that you are in demand for the future.不管哪种这些路径选择,加入到您的移动发展技能将确保您在未来的需求。

No comments: