最近从网上看到一篇与程序员密切相关的文章,感觉相当不错,不知道立志做一个优秀程序员的我们能做到多少呢?
作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。在当前的经济形势下,很多程序员将目光聚焦在短期内的工作形式上,但是你仍然要抽出时间和精力学习新的技能。以下是作为程序员应当即刻学习的十项技能,对于一般的主流开发而言,你至少要学会以下十条中的七条,而且掌握的程度不是那种你在工作面试上能够夸夸其谈,而是真正能够用于实际开发。
1.三大主流开发体系之一(.NET, Java, PHP)
除非软件开发领域发生巨大的变革,不然程序员至少需要知道三大开发系统中(.NET (VB.NET or C#), Java, PHP)的一种。而且仅仅了解核心语言是不够的,因为现在的项目拥有越来越多的不同功能,这也迫使程序员对相关的框架和库了解得更深。
2.富客户端应用(Rich Internet Applications)
在过去的几年里Flash的发展壮大已远不仅是应用于动画制作,Flash以及Flex和AIR都具备越来越多的功能。而Flash的竞争者,如JavaFX和Silverlight等也在不断提升自身的性能和表现。让富互联网应用更加活跃的是,HTML5正整合进所有种类的RIA功能,包括数据库连接、将W3C置于AJAX上等。
3.Web页面开发
Web开发在未来的很长时间内都将是主流技术之一。许多程序员往往满足于构建后台、或者只是专注于框架基础而忽略了Web。但是越来越多的企业需要如何在交互代码(hand code)级别处理Web技术的人员,所以掌握JavaScript、CSS和HTML必将在未来五年内的职场上无往不胜。
4.Web服务端开发
REST 还是SOAP? JSON 还是XML?当然选择答案得依据项目来定,但如果一名程序员不会创建Web服务(尽管这个程序员也许不用写Web应用),那么他在工作岗位上一定倍感艰难。因为即便是过去那些被ODBC, COM或者 RPC主宰的领域现在也转到了一些形式的Web服务上了。
5.软性技能
一段时间以来就有这样一种趋势即:无论在企业内部还是企业外部提高IT的能见度。程序员被越来越多地带去参加非开发性会议来提供技术支持。程序员的确要提高待人接物的软性能力,以在职场上获得更大的价值。
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,移动开发大肆进入人们的视野,而且至少在五年内移动开发都将是开发领域的重中之重。当然移动开发的方式有很多种,但无论你选择哪一种都将令你成为未来的抢手货。
千里之行,始于足下,一点一滴的积累,才能不断壮大自己。
分享到:
相关推荐
根据给定文件的信息,我们可以总结出未来五年程序员应当掌握的十项关键技能: ### 1. 掌握至少一种主流编程语言(.NET、Java、PHP等) 在未来的五年里,程序员应该至少熟练掌握一种主流的编程语言,比如.NET (包括...
【未来五年程序员应当具备的十项技能】 在不断发展的信息技术领域,程序员需要持续学习和适应新的技术和工具,以保持竞争力。以下十项技能是著名IT评论员Justin James认为程序员在未来五年内应该掌握的关键技能,...
一个JAVA程序员应具备的十项技能.rtf 这篇文章,讲述了Java程序员必须具备的十项技能,详细剖析了每项技能的必要性和学习方法。是一个Java程序员必须具备的,也是Java程序员必读的文章!!想成为Java程序员的你还在...
程序员应该具备的技能程序员应该具备的技能程序员应该具备的技能
未来五年程序员应该干的事,值得大家一看。
沟通是架构师的另一项核心技能。他们需要有效地与团队成员、管理层以及其他利益相关者交流,确保所有人都对项目目标和实施方案有清晰的理解。 【决策与权衡】 架构师经常需要在不同的技术选项、性能需求和成本之间...
同时,对软件工程原则的理解,如敏捷开发、测试驱动开发等,也是现代程序员应当掌握的技能。 总之,成为一名合格的程序员并不仅仅意味着编码技术的娴熟,更在于具备团队协作、文档编写、规范编码、需求理解和模块化...
—合格程序员应该具备的12种能力" 指向了一个讨论合格程序员所需技能的主题。在这个行业中,成为一个优秀的程序员不仅仅是掌握编程语言那么简单,还需要一系列综合能力。以下是对这些能力的详细阐述: 1. **解决...
一个Java程序员应该掌握的10项技能一个Java程序员应该掌握的10项技能
以下是十项关键技能,涵盖编程语言、互联网 Rich Application、Web 开发、Web 服务、软实力、动态/函数编程语言、敏捷开发方法、开发修养等领域。 1. 编程语言三选一 (.NET, Java, PHP) 在未来五年内,大部分开发...
随着技术的快速发展,程序员需要保持敏锐的洞察力,不断提升自己的技能,以应对不断变化的市场需求。同时,良好的沟通能力、问题解决能力和自我管理能力同样重要,它们将帮助程序员更好地融入团队,提升项目的成功率...
【程序员应具备的素质】 在IT行业中,程序员扮演着至关重要的角色,从底层硬件到上层应用,他们的工作贯穿整个技术栈。然而,中国的程序员群体虽然庞大,却在软件开发和产品化方面存在一些问题。这并非由于智商或...
一个金融类程序员所需掌握的技能 一个金融类程序员所需掌握的技能
行业,程序员的能力不仅仅局限于编程,而是需要一系列综合技能来确保软件开发的成功。以下是对程序员应具备的12种能力的详细解析: 1. **编程语言能力**:精通一门编程语言是程序员的基础,这意味着深入理解语法、...
在编写Java程序员的简历时,技能描述是展现个人专业能力和技术深度的关键部分。以下是一些高大上的技能描述示例,适用于初中高级Java程序员: **基础类技能:** 1. 精通JavaSE,包括核心语法、多线程与并发编程,...