未来五年程序员应当具备的十项技能(转)

作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。近日,著名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领域的专家无疑将给你的简历添上浓重的一笔。

(全文…)

项目成功的12个关键原则

1、项目经理必须关注项目成功的三个标准
简单地说,一是准时;二是预算控制在既定的范围内;三是质量得到经理和用户们的赞许。项目经理必须保证项目小组的每一位成员都能对照上面三个标准来进行工作。
2、任何事都应当先规划再执行
就项目管理而言,很多专家和实践人员都同意这样一个观点:需要项目经理投入的最重要的一件事就是规划。只有详细而系统的由项目小组成员参与的规划才是项目成功的唯一基础。当现实的世界出现了一种不适于计划生存的环境时,项目经理应制定一个新的计划来反映环境的变化。规划、规划、再规划就是项目经理的一种生活方式。
3、项目经理必须以自己的实际行动向项目小组成员传递一种紧迫感
由于项目在时间、资源和经费上都是有限的,项目最终必须完成。但项目小组成员大多有自己的爱好,项目经理应让项目小组成员始终关注项目的目标和截止期限。例如,可以定期检查,可以召开例会,可以制作一些提醒的标志置于项目的场所。
4、成功的项目应使用一种可以度量且被证实的项目生命周期
标准的信息系统开发模型可以保证专业标准和成功的经验能够融入项目计划。这类模型不仅可以保证质量,还可以使重复劳动降到最低程度。因此,当遇到时间和预算压力需要削减项目时,项目经理应确定一种最佳的项目生命周期。
(全文…)

软件开发中的测试

测试是开发中必不可少的工作

首先,一个软件产品或系统的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已。软件程序编写的完成,其实只是完成了开发任务中的一半。与程序的开发相配合的、具有同样重要性的另一半工作,是对开发完毕的软件所进行必要的测试。对测试的管理和执行,其重要性不亚于对程序本身的开发。你可以花费巨大的资源和努力进行程序的开发,可是你要是没有与此配套的完善的测试,所开发出来的软件往往会因为质量问题无法满足客户的要求和帮助你赢得市场的竞争。
近几年来国内信息业界的软件开发的成熟程度大大提高,很多公司都开始重视软件测试的重要性、并建立了与此相关的组织结构来保证测试工作得以执行。但是忽视或轻视测试工作的不良习惯和企业文化仍旧普遍存在。在中国项目管理俱乐部的网站上有业界的同仁们反映了这样的情况:他的公司居然还采用所有的软件开发人员都只做程序编写、只有一个人担任软件测试工作这样一种组织结构,而且这个公司的领导认为只有程序的编写才属于实际的开发工作,因此只知道夸奖程序编写人员的工作成果、完全忽视测试人员的贡献。虽然这样的近于荒唐的例子可能是极少数的极端现象,但在相当大比例的软件企业中测试人员往往仍旧是被当作“二等公民”看待,好像他们只是开发人员的配角而已,对软件最终是否合格和能否发行的判决,并没有实际的影响力。
(全文…)

一点经验

        说心里话,每个项目经理都有自己的不同经历,不同遭遇。而且不同项目,不同地域,不同甲方,需要的策略都是不一样的。总体而言,我下边的话算是自己的一个粗略总结。希望大家多提不同意见。

        合同及开发需求注意方面:
1)项目管理中,必须文档先行,然后签署详细的需求书,并让甲方确认,签字。这样为了杜绝甲方在项目开展后无理的额外要求。并在合同中严重说明严格根据开发合同执行。
2)大项目要分期,针对第一条,个别项目签署开发合同的时候,对于那些已经编码开始后,并已经初具规模的情况下,用户需要增加的,或者认为很有必要修改的。必须放到2期开发中。第一能保证在既定周期内可以完成开发,收回款项,第二也能明确开发条理性并能少一些纠纷,多一个收入。
3)项目结束后不要签署过长的维护期。如果用户要求,那建议签署服务合同及培训合同。否则尾款不好收尾,而且带来的服务压力也会很大。
4)合同部分签署的要实事求是,不能为了项目的签署下来,而胡乱承诺。

(全文…)