未来五年程序员应当具备的十项技能
2010-01-04 20:37作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。近日,著名IT评论员Justin James在他的博客中列出了未来五年程序员应当具备的十项技能,如果照此实践,你未来的工作前景一定一片光明。
当前的经济形势下,很多程序员将目光聚焦在短期内的工作形式上,但是你仍然要抽出时间和精力学习新的技能。以下是作为程序员应当即刻学习的十项技能,以确保在未来五年内你的简历上有真材实料。当然这个名单很难做到详尽而没有遗漏,有些领域没有涉及到(比如大型机开发者)。然而,对于一般的主流开发而言,你至少要学会以下十条中的七条,而且掌握的程度不是那种你在工作面试上能够夸夸其谈,而是真正能够用于实际开发。
1,三大主流开发体系之一(.NET, Java, PHP)
除非软件开发领域发生巨大的变革(这机率好比行星撞击地球),不然程序员至少需要知道三大开发系统中(.NET (VB.NET or C#), Java, PHP)的一种。而且仅仅了解核心语言是不够的,因为现在的项目拥有越来越多的不同功能,这也迫使程序员对相关的框架和库了解得更深。
2,富客户端应用(Rich Internet Applications)
无论你对Flash是爱还是恨,我们都不得不承认在过去的几年里Flash的发展壮大已远不仅是应用于动画制作。Flash以及Flex和AIR都具备越来越多的功能。而Flash的竞争者,如JavaFX和Silverlight等也在不断提升自身的性能和表现。让富互联网应用更加活跃的是,HTML 5正整合进所有种类的RIA功能,包括数据库连接、将W3C置于AJAX上等。在不远的将来,作为一名RIA领域的专家无疑将给你的简历添上浓重的一笔。
3,Web页面开发
Web开发恐怕在未来的很长时间内都是主流技术之一。许多程序员往往满足于构建后台、或者只是专注于框架基础而忽略了Web。但是越来越多的企业需要如何在交互代码(hand code)级别处理Web技术的人员,所以掌握JavaScript、CSS和HTML必将在未来五年内的职场上无往不胜。
4,Web服务端开发
REST 还是SOAP? JSON 还是XML?当然选择答案得依据项目来定,但如果一名程序员不会创建Web服务(尽管这个程序员也许不用写Web应用),那么他在工作岗位上一定倍感艰难。因为即便是过去那些被ODBC, COM或者 RPC主宰的领域现在也转到了一些形式的Web服务上了。
5,软性技能
一段时间以来就有这样一种趋势即:无论在企业内部还是企业外部提高IT的能见度。程序员被越来越多地带去参加非开发性会议来提供技术支持。例如,没有IT升级系统,首席财务官不可能改变收支细则;没有IT升级CRM工作流,运营总监不可能改变一个中心呼叫进程。同样,客户经常直接与开发团队沟通以确保他们的需求被完成。是否每个程序员都应该回去学习礼仪课来与别人更好的交往呢?那倒不必,但是程序员的确要提高待人接物的软性能力,以在职场上获得更大的价值。
6,一种动态或者函数式程序设计语言(Functional Programming Language)
类如Ruby, Python, F#和Groovy等的语言虽然不完全主流,但是语言内部包含的思想却是开发界的主流。比如,微软.NET中的LINQ系统就是函数式程序设计语言的一个直接派生。得益于Rails框架和Silverlight的发展,Ruby和Python语言在一些领域变得很热门。学习这样一门语言不仅丰富了你的简历,而且会开阔你的开发视野。我所遇到的顶级开发者几乎都曾在演讲中提到学习一门动态语言或者函数式程序设计语言的重要性,就我的个人经历而言,这确实很有用。
7,敏捷开发
当敏捷开发第一次冲击主流的开发意识时,我跟许多开发者一样持怀疑的观点。因为它抛弃了控制、标准等,看起来是一种完全与传统方法相悖的开发方法。但随着时间的发展,敏捷背后的思想被定义的越来越好,应用得也越来越棒。许多开发或者采用敏捷,或者在敏捷开发的实验阶段。尽管敏捷不是失败项目的万灵药,但它确实在软件开发中有一席之地。那些对敏捷有很好的理解并且有应用经历的开发者必将在未来五年内成为抢手货。
8,业务领域知识
开发团队越来越被看做是项目的合作者,这意味着了解该领域的开发者将对该项目的贡献更大。有了敏捷,开发者可以说我们可以在这儿很简单地增加这个功能,而这将让我们的产品更具价值。或者这个要求不符合我们日志显示的常用类型。由于越来越多的程序员反对必须了解该领域内的所有问题(实际上也不可能做到),所以不可否认的是越来越多的企业希望开发者起码了解该领域内的基础知识,越多越好。
9,质量控制
几年前的时候,很多企业和产品没有bug跟踪系统、没有版本控制和其他类似的工具,所写出的代码和产品都只是跟程序员和他所用的IDE有关。幸而开发领域有了新的、集成的工具如Microsoft Visual Studio Team System,而且产品、代码高质量及可用性的透明度提高,开源环境等,现在没有这种工具的企业已经越来越少稀少。开发者除了知道如何源代码控制、如何使用VM系统构建测试环境之外,还要做更多的质量控制工作,并具备很好的清洁意识来确保他与他的团队协调一致。那些将代码处存在个人硬盘中,没有记录代码变更、任务目录等的开发者,不但在传统的开发环境中不受欢迎,在敏捷的开发环境中也不受欢迎。
10,移动开发
在上世纪90年代末,Web开发一跃成为主流并且将原来传统的桌面应用开发边缘化。在2008,移动开发大肆进入人们的视野,而且至少在五年内移动开发都将是开发领域的重中之重。当然移动开发的方式有很多种,但无论你选择哪一种都将令你成为未来的抢手货。
http://v.163.com/special/opencourse/algorithms.html
分享到:
相关推荐
中级程序员,特别是软件设计师,是IT行业中至关重要的角色。他们不仅需要掌握扎实的编程技能,还需要对软件设计原则、架构模式、系统分析以及项目管理有深入的理解。2016-2017年间的真题及答案为备考者提供了一个...
第一:XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解,等待只会让你失去机会; 第二:新知识肯定会有很多新概念,尝试理解和接受,您才可能提高。不要害怕和逃避,毕竟我们...
初级程序员也应关注技术发展趋势,例如云计算、大数据、人工智能、物联网等新兴领域,这些都可能成为未来考试或工作中需要面对的挑战。 通过深入学习和练习这些知识点,初级程序员不仅可以顺利通过考试,还能为今后...
《2009年程序员杂志第五期》是...通过阅读《2009年程序员杂志第五期》的PDF文档(0905.pdf),读者可以回顾那个时代的IT热点,理解那些技术如何塑造了当今的数字世界,同时也可以从中汲取灵感,应对当前和未来的挑战。
- **时间和成本压力**:项目耗时长达五年,投入资金高达15亿美元,这对微软来说是一笔巨大的投资,也意味着必须承受巨大的时间和成本压力。 - **竞争对手威胁**:在此期间,市场上出现了其他强有力的竞争产品,如...
总的来说,2007年《程序员》杂志第五期很可能涵盖了编程语言、Web开发、数据库技术、开源软件、人工智能的早期探讨以及软件工程方法论等多个方面,为当时的IT从业者提供了全面而深入的学习资源。通过阅读这期杂志,...
通过这种方式,不仅有助于回顾过去的工作,还可以帮助总结经验教训,为未来的工作提供参考。 - **计划明日工作**:列出次日的主要工作任务,并根据其重要性和紧急程度进行排序。这样可以确保将最高效的时间用在最...
### 2021年程序员试用期工作总结关键知识点 #### 一、个人成长与适应 1. **加入新环境的挑战与适应:** - 作者于2021年9月11日成为一家公司的.NET程序员。 - 在初入职场时,面对不熟悉的环境和比之前更快的工作...
在分析《2021年四川省地区程序员岗位薪酬水平报告-最新数据》时,可以从以下几个方面展开知识点的提炼和总结: 一、薪酬调查数据的重要性 报告中提到了大数据系统每年进行薪酬分析,涉及到200个行业、180多个城市和...
这个资源对于备考程序员资格认证的考生来说极具价值,因为它提供了近十五年的试题回顾,有助于考生了解考试趋势、题型分布以及常见考点。 在程序员考试中,通常涵盖的知识点广泛,包括但不限于: 1. **编程基础**...
【2010年11月软考程序员考试】是中国计算机技术与软件专业技术资格(水平)考试(简称软考)中的一个级别,针对初级程序员的资格认证。这个考试分为上午和下午两个部分,涵盖计算机基础知识、编程语言、数据结构、...
- **长期愿景**:思考五年甚至十年后的职业定位,是否想要成为技术专家或是管理岗位。 **3.2 发展路径选择** - **技术路线**:深耕某一领域,成为该领域的技术专家。 - **管理路线**:逐步转向项目管理或产品经理...
2008年上半年的程序员水平考试是针对计算机编程与软件开发专业人员的一项重要考核,旨在评估考生在编程基础、算法设计、数据结构、软件工程等方面的知识掌握情况。以下是对这份试题的详细解析: 一、编程基础 在...
通过实习,可以建立起初步的职业网络,并学习如何在团队中发挥作用。 - **实习成功的要素:** 成功的实习不仅需要个人的努力和热情,还需要具备一定的策略。例如,提前做好准备工作、积极主动地参与项目、以及建立...
尤其是他与AltaVista的关系,AltaVista曾是90年代末至2000年初最受欢迎的搜索引擎之一。 - **技术成就**:Paul在搜索引擎算法和技术方面的创新为后续的搜索引擎发展奠定了基础。包括关键词索引、网页排名算法等方面...
这一期可能是2006年的第五期,提供免费下载。 【描述】"程序员06第5期 免分"的描述简洁明了,表明这期杂志不需任何积分即可获取,可能是在某个平台上作为公共资源分享,鼓励读者学习和交流IT知识。 【标签】"06第5...
《程序员》封面报道:智能算法 智能应用每时每刻都在影响着我们的工作和生活,然而对于许多软件开发人员来说,构建智能应用的技术—智能算法依然披着神秘的面纱。一方面,这些技术的潜在价值可以带来巨大的经济回报...