`
- 浏览:
142696 次
- 性别:
- 来自:
上海
-
未雨绸缪,作为有远见和忧患意识的开发人员,现在可不是因为仍保有工作而自满的时候。为了更光明的前途,请看看作者列出的未来最需的技能清单。
由于最近经济形势的变化,很多开发人员只关注他们短期的工作前景。与此同时,把时间和精力花在学习最能带来回报的新技术上是件非常重要的事情。这里是我们列举的10种你需要马上开始学习的技术,让你的简历在未来5年不会落伍。这个列表并不完全,有很多业界的领域(比如大型机开发人员)没有涉及。尽管如此,对通常的主流开发来说,学习其中至少 7项技能肯定不会错 ——不但要达到能在面试时侃侃而谈的程度,还得能在工作中运用自如。
1: “三大”之一 (.NET, Java, PHP)
除非开发世界有根本的改变(类似小行星击中雷德蒙),在不远的将来,大部分开发人员将需要了解三大开发系统——.NET (VB.NET或者C#), Java, 或者PHP——中的至少一个。并且只了解核心语言也是不够的。因为项目会包含越来越多不同的功能,你需要对相关框架和库有深入的了解。
2: 丰富互联网应用 (RIAs)
不管爱她还是恨她,最近几年,Flash的用途突然间不仅仅是制作政治人物弱智歌曲演唱动画而已了。Flash也萌生出了以Flex和AIR为形式的附加功能。Flash的竞争对手,比如JavaFx和Silverlight,也在不停的在特性和性能上加筹码。HTML5集成了所有RIA的功能,包括数据库连接和把正式的W3C****加到AJAX(译者:这个地方拿不准)。在不久的将来,RIA专家将会是简历的一个重要筛选条件。
3: Web开发
Web开发在近期内不会消失。很多开发人员满足于忽略Web或者只是使用他们的框架给他们提供的"基本元素"。但是公司需要越来越多的真正知道怎样使用底层技术进行“手工编码”的人。所以要获得成功请在未来5年里努力钻研JavaScript,CSS和HTML。
4: Web服务
REST或者SOAP? JSON或者XML? 尽管选项和答案取决于项目本身,不使用或者创建Web服务对一个开发人员(甚至是那些不做Web应用程序的)来说越来越困难。那些原来采用ODBC,COM或者RPC domains的领域,现在也在某种程度上过渡到了Web服务。不会用Web服务的开发人员将会发现他们被排挤或者沦为维护人员。
5: 软技能
有一种已经开始了很久的趋势,IT在企业内部或者外部变得越来越透明。开发人员被卷入越来越多的非开发性会议和过程以给与反馈。举个例子,CFO要改变会计规则不能不依靠IT去更新系统。如果没有IT去升级CRM的工作流,运营经理就不能更改呼叫中心的流程。同样的,客户常常需要和开发小组一起工作来保证他们的需求被满足。每一个开发人员都需要找主持人帮助或者去学习《怎样结交朋友并影响别人》么?不是。但是拥有这种能力的开发人员对他们的雇主来说更有价值——并且更抢手。
6: 一种动态的和/或者函数编程语言
像Ruby,Python, F#, 和Groovy这样的语言并不很主流——但是他们包含的想法却是。比如说,微软的.NET中的LINO系统是函数编程技术的直接产物。Ruby和Python在某些部门很热门,分别感谢Rails框架和Silverlight。学习其中的一门语言不只会提升你的简历;它能开阔你的视野。我见过的每一个顶级开发人员都推荐学习至少一种动态或者函数编程语言,用来理解新的思考方式,个人经验来讲,我可以告诉你确实有用。
7: 敏捷开发方法
在敏捷开发方法刚开始进入主流视线的时候,我持怀疑态度,和其他我认识的很多家伙一样。它看起来就像某种对传统的下意识反应,丢掉控制和标准而偏爱混乱。但是随着时间的推移,敏捷开发背后的智慧被更好的定义和表达出来。很多团队不是应用了敏捷开发就是在进行敏捷开发的概念证明实验。尽管敏捷开发不是治愈项目失败的终极灵药,它的确在很多项目上有一席之地。在未来几年里,对有着敏捷开发环境的理解和成功经验的开发人员的需求将会高速增涨。
8: 领域知识
和敏捷开发密切关联,开发小组在项目定义中被越来越多的看做是同伴。这意味着了解问题领域的开发人员能够用更可见的,高价值的方式给项目作出贡献。敏捷开发中,一个能够说,“从这里,我们也可以很简单的添加这项功能,而且这能给我们带来很多回报,” 或者 “噢,这个要求和我们的日志中显示的使用模式并不相符” 的人将是优胜者。正如许多开发人员有抵制了解问题领域的想法,不可否认的是越来越多的组织希望(如果不是要求)开发人员至少能理解基本的内容。
9: “清洁”开发
几年之前,很多(如果不是大部分)团队都没有使用bug跟踪系统,版本控制,和其他类似工具;只有开发人员和他们选择的IDE。但是,感谢新的整合套件的开发,比如Microsoft Visual Studio Team System以及高质量开源环境的爆炸性发展,没用到这些工具的组织变得更不常见。开发人员必须比知道怎么在代码控制中提交和获得代码或者怎样用VM系统配置测试环境了解更多的东西。他们需要在适当的地方养成严格的卫生习惯以保证他们和其他的小组恰当的合作。“代码牛仔”,把所有的东西存放在私人USB盘上,不把对任务对象的相应改变记录成文档,等等的人,在传统的团队里不受欢迎,在需要团队成员之间紧密合作的敏捷开发环境中更是如此。
10: 手机开发
上世纪90年末代web开发被主流接受开始在很多领域将传统的桌面程序边缘化,在2008年,手机开发开始兴起,在未来5年里,它将会变得越来越重要。当然,手机开发有很多不同的方法:针对手机设备的web应用程序开发,针对市场的RIAs,和直接在设备上运行的应用程序。不管你选择了哪个方向,把手机开发加入你的技能集会保证你满足未来的需求。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本教程将引导初学者Alexa技能开发人员完成使用此hello world模板(称为“ hello world”)创建技能所涉及的所有必需步骤。 这篇文章假定您对Python(或类似的编程语言)和Alexa Skills Kit有所了解。 概念 这个简单...
本教程将引导初学者Alexa技能开发人员完成使用此hello world模板(称为“ hello world”)创建技能所涉及的所有必需步骤。 这篇文章假定您对Python(或类似的编程语言)和Alexa Skills Kit有所了解。 概念 这个简单...
对于软件开发人员的评定, 当你公司要招人,必需给其专业技能评级, 每个段位的成本不一样的, 另外公司内部人员提升时也需要考虑, 软件研发人员的技能.
对工作必需技能不熟悉,日常工作难以完成(7%以下)。考核人需要根据被考核人的实际表现选择相应的等级。 五、工作态度与责任感(15%) 工作态度与责任感部分考核 web 前端人员的工作态度和责任感,分为五个等级...
采用与组织业务模型一致的轻量级流程和促进开发人员的工作效率是一个关键的环境决策。高层管理的承诺、组织文化和有效的开发人员的贡献是高质量软件开发的区别因素。软件质量可达到的水平反映了一个组织的经营决策。...
此仓库将包含通过成为后端Web开发人员所必需的技能集来介绍我的Path和Routine 。 它分为这两个主要部分。 路径是指实现我的目标所必需的技能结构(以及有关这些技能的内容)。 我的日常课有每天的经验,试图学习和...
该存储库包含开发人员职位上用于职位申请的项目的需求定义。 挑战包括两部分,其中仅第一部分是必需的。 整个任务基于我们生产应用程序的真实部分。 但是,由于我们系统的大多数部分都需要大量特定领域的知识,...
除了学习HTML,CSS,JavaScript和Node.js(列表不胜枚举)之外,如今的开发人员还必须学习大量的额外技能,才能在现代堆栈中启动和运行。 这样的技能之一就是操作npm(或纱线)并遍历整个终端。 控制终端需要开发...
中级开发人员如果您想培养从初级到中级开发人员所必需的技能-完成X,0和1层后,请继续完成2和3层。高级开发人员如果您想发展从中级到高级开发人员的必要技能-完成X,0、1、2和3层后,继续完成4和5层。专长每个级别都...
中级开发人员如果您想培养从初级到中级开发人员所必需的技能-完成X,0和1层后,继续完成2和3层。高级开发人员如果您想发展从中级向高级开发人员过渡的必要技能-完成第X,0、1、2和3层后,请继续完成第4层和第5层。...
学习Node.js开发 这是发布的的代码库。 它包含从头到尾完成本书所必需的... 本书剖析了有关Node的大量信息,并提供了成为Node开发人员所需的基本技能。 它带您创建完整的应用程序,并了解如何构建,部署和测试自己的N
数控机床新手入门技能提升秘籍主要面向刚刚从事数控机床操作的人员,介绍了一些数控机床的操作技巧的理论学问。这些操作者可以来自不同的背景,有些来自机械专科学校,有些来自一般手动机床或者半自动机床操作的技术...
这个github页专门介绍了我在学习Web开发方面的工作以及在2018年成为最佳Web开发人员所必需的所有工具和技能。我从HTML的基础知识入手,并不断学习更新的语言和完成任务的方式。 在2018年暑假期间,通过在线课程...
以廉价且有效的方式开发一种测试思维增强测试技能。思维工具是从测试故事开发而来的,因此你自己很容易就能把它在要描述的场景中形象化地展示出来,并且易于学习和使用。你将跃跃欲试对观察和反思进行改革创新你将...
计算机动漫与游戏制作专业教学计划是为培养适应社会主义现代化建设要求的、德、智、体、美等方面全面发展的、掌握必需的科学文化知识和基本技能的初等专业技术人员而设立的。该专业的培养目标是培养学生具备网络与...
《Java程序设计》是计算机网络技术专业的一门专业基础课程,是培养应用和开发人员的主干课程。使学生具备从事本专业相关工作必需的面向对象软件开发基本思想、相关知识,培养学生在企业进行软件开发、测试等基本技能...
工作任务引言高职教育的目标是培养面向一线的高素质高技能的应用型人才,根本要求是理论够用,基于此开发?计算机应用根底?课程,探讨课程性质、设计思路、设计内容与考核方式。一.课程性质现代社会中计算机占据...
第Ⅱ部分介绍创建一个C#应用程序所必需的核心技能,包括Visual C# 2008新引入的LINQ语言;第Ⅲ部分重点介绍额外的语言特征;第Ⅳ部分全面介绍如何调试托管代码;第Ⅴ部分介绍内存管理和不安全代码。 本书内容丰富,...
本教程将引导初学者Alexa技能开发人员完成使用此琐事技能模板(称为“驯鹿琐事”)创建技能所涉及的所有必需步骤。 这篇文章假定您对JavaScript / Node.js(或类似的编程语言)和Alexa Skills Kit有所了解。 使用...