在项目组中的定位

来源:互联网 发布:知天命之年的祝福 编辑:程序博客网 时间:2024/05/16 09:38

无论做什么事,目标有了,方向对了,计划清晰了,成功就近了。

即使项目组中一个普普通通的coder,如果定位不明确,能力提升点模糊,是一件很危险的事。

一个项目组一般以业务块进行划分,例如一个大型电信系统,其中包含有安全子系统、日志子系统、系统框架等等,每一个子系统分别落入到一个项目组进行维护,要维护它,当然要理解它的业务。于是,第一个定位便有了:业务分析师。看起来似乎没多大技术含量,业务本质上也属于某一固化的知识域,知道就是知道,不知道就是不知道。了解某一业务,甚至熟悉与之相关的细枝末节也并不值得称道。真正合格的业务分析师,在于深知业务甚至其任一细节存在的价值点,换句话说,业务的任务一个部分都是一个商业利益点,否则这块业务就不会存在。你必然深刻地理解这一点,并将之用于业务知识学习的实践中。有很多刚进入到项目组中的新手,总是急于学习代码,以能尽早地干涉代码来体现自身过人能力之处。深入的业务学习,是能在项目组很好的立锥之基。

做软件始终不是体力活(有很多人认为做外包软件纯粹是体力活,本人并不赞同,是否是体力活完全取决于做事人的态度,特别是写程序),需要一些技术储备及经验积累,于是每个人都可以向另一个目标奋进:TL(Technology Leader)。当然C++、Java、.Net、Eclipse不是技术只是工具。这里所谓的技术,是指对复杂问题求解的能力。回想一下,每一个项目组都会存在一些具有最大利益的核心业务,与之对应的实现技术往往就是核心技术(或专利),这种技术就是产品的竞争力。例如,并不是每个公司,甚至每个国家(中国,实话实说并没有bs的意思)都搞得出来操作系统,数据库。熟练掌握并优化项目组中核心业务的实现,并能得心应手地处理任何复杂的新业务,这是一个极具挑战并很诱人的目标。

程序员都很“懒”,但在对做如何减少重复工作的任务时,又格外的“勤快”。自动化专家这个角色对项目组的绩效起着关键作用。能在项目组中适时地引入、探索、创造一些自动化工具、方法以提升工作效率是一种能力,自动化就是以技术手段来释放项目组中最重要的资源,人。在这里要由为提出的是测试自动化能力,在敏捷开发里,测试、自动化测试是很多工作能否成功的前提和核心。我始终信仰一句话,未经测试的功能等于不存在。


能做到别人也能做到的,那是平庸;能做到别人做不到的,那是伟大。

程序员对待自己写的代码,也常常会犯天下所有母亲对待自己儿女一样的毛病--“溺爱”:过分的纵容、保护,而且容不得别人对其谈论是非。反之,对别人写的代码常常以一种冷漠、怀疑、鸡蛋里挑石头的眼光来评判(这种人不仅往往做不好程序员,也成不了什么事儿)。常常看到程序员在维护别人写的代码时,发出“shit”、“fuck”之类的感慨,从人性上来说,这也算得上人之常情,但有些事情是注定了的,就好像现在,你正处于一个负责维护几十万行遗留代码子系统的项目组中,你不仅没必要浑浑噩噩的虚度光阴,反而有一个非常有意义的角色值得你去挑战,那便是重构“大师”。何谓大师,能化腐朽为神奇是也。从无到有,是0到100分的过程;从坏到好,是-100到100分的过程。将已有的糟糕的代码重构成精练漂亮的代码,肯定比为开发一个新功能而写代码更具有挑战性。当然,成大师者必竟是少数,这需要:主动,思考,积累。

没有哪个软件不会面临性能的问题,换个角度考虑,性能问题本身可能并非是问题,它只是代表了软件业务的发展历程,有时候甚至是业务发展的牵引力,类似于硬件领域的CPU(从286到386再从奔腾到迅驰),内存(从K级别到M再到G)等等。软件的性能需求体现在两方面,一是运行要足够的快,二是运行内存占用要尽量的少,在软件领域,这两者天生就是个矛盾关系,也许解决性能问题的最高层次就是处理这种矛盾关系的平衡,但在实际遇到的性能问题中,大多还不需要上升到这种顶级高度,人能范的错误总是比人们想象中的要多的多,我们需要优良的性能优化高手。性能优化可以从很多方面进行,例如工具上,算法上,设计上等等。如果想要开发的产品真正拥有核心竞争力,亦或是希望改变业界对这一业务领域的一惯认识,不妨从产品性能提升开始。

项目管理并非像编程那样是一门单纯的技术,它是一门综合性很强的技能,不仅需要一些必备的理学技术,而且还涉及到交际学、心理学、管理学等等很多复杂的人文科学,所以有人说,管理是一门艺术。尽管项目管理是一件很复杂的事件,但有一点是很简单且基本的道理:项目管理的核心是人。项目组中项目管理者和组内成员都需要一种换位思考,对管理者来讲,只有每位项目组成员的能力都在不断提高,整个项目组的能力才能真正不断提高,对于项目组成员来讲,只有项目组整体绩效优秀,个人才能成为优秀。所以说管理者最核心的任务是培养下属,而并非简单的任务计划,分配,监控与验收。当然一个项目团队的leader只会有一个,但如果你对项目管理方面充满好奇心,不妨坦诚与主管沟通,肯定会有机会尝试的。

原创粉丝点击