`
varsoft
  • 浏览: 2508571 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

leo谈程序员的职业素养(上)

阅读更多

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址: http://blog.csdn.net/jobchanceleo/archive/2007/12/10/1928141.aspx<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

原文刊登于《程序员》杂志07年第11期第24页)

说起职业素养,可能大家脑子里马上反应出的是西服领带公文包的精干白领形象,其实作为程序员来说,有更多内在的职业素养?一个具有职业素养的程序员应该是什么样的呢?本期调查分享两个研发小组的故事,让大家在统计数据的基础上进一步了解——什么是程序员需要的职业素养?

案例一:对客户坚称“一点也不复杂”的团队A

DDD公司是个在发展壮大中的贸易公司,由于业务发展员工从刚开始的10人半年内增加到150多人,管理上出现了沟通效率低、对员工工作难以监控的现象。公司想近期上OA系统,以加强公司的工作效率、支持快速增长的业务。DDD公司找到了OA专业开发公司OOO公司,经过几次与OOO的销售沟通后,双方确定了合作意向。而在OOO内部,有两年开发经验的开发工程师苏成自告奋勇希望承担该项目的开发管理工作,公司考虑到苏成不错的开发能力、希望提高自己的期望,安排他成为这个项目的项目经理带领三个开发人员,建立了项目组A,开始了这个DDDOA项目。

项目不大,公司没有特别安排需求开发工程师。按规定作为项目经理应该在与客户确认需求后进行开发。但初为项目经理的苏成信心爆棚,认为自己开发能力强,当项目经理也一定成。

ü 对外,苏成采用了就想当然地按照合同后附的简单需求说明草率进行开发。

ü 对内,苏成认为项目经理拥有绝对权力。“今天不努力工作,明天努力找工作。”成了他的口头禅,每次用威胁的口气说出时,苏成都会有种满足感。同时,任何关于开发的不同意见都听不进去,在第一期快结束时,苏成已与项目成员发生了N次争吵,大家纷纷要求调离项目组,团队面临全面崩溃。

在二个月未与客户沟通的状态下,苏成项目组向DDD提供了OA系统一期产品,按合同规定包括了:员工管理一项功能和其他四个子项(公司纪律规定、部门工作分类表、职务分配表、工作内容调查周报表)。

看完基本功能演示之后,苏成随即向客户提出希望尽快部署和收款的要求。

DDD公司的HR经理Helen几乎要尖叫起来!于是,发生了下面的对话。

HHelenZ:苏成)

H:“这个员工管理怎么没跟考勤部分联系想来呢?而且按你说的在这个系统里增加一个新用户需要五步!太复杂了吧。”

Z:“一点儿也不复杂,一点儿也不复杂。我现在给你再演示一下。”

一边说Z一边动起手来。系统是按他自己的理解开发的。运用起来自然十分娴熟,演示增加人员的步骤5秒钟都没用,当然,H也和刚才的演示一样,没怎么看清楚。

H:“还是太复杂了,能改成一步吗?”

Z:“一点儿也不复杂,要不要再给你演示一次。”

H:“算了,先不谈这个。我们希望在这部分里加个统计功能,之前也和你们销售讨论过这个问题,我们希望能统计出公司员工交周报的情况和部门比例。”

Z:“这个有困难,做不了。其实公司人也不多,建议这部分还是手工统计吧。”

H强压怒火:“按这个思路都可以手工统计,根本不用您来开发,但公司是因为要发展才要上软件的。”

……

实际情况是,因为开发时即没要求留下文档,加之团队其它几个成员均已准备离开项目组,任何在此模块中的小小变化都会面临所有代码重新开发的局面,更不要新增什么功能了。苏成非常清楚,客户是不会再花一个项目的钱,只开发一个新功能的。所以,苏成压根儿都没提因为需求变更,要加钱做这个功能的事儿。

最终结果可想而知,苏成辛苦开发几个月没有得到相应回报,客户不满意、项目组成员不满意、研发部总监更是对他的能力产生了怀疑,在几经努力拿到DDD公司在第二期项目开发合同之后,更换了项目经理。

Leo点评:程序员如何以明确需求为基础与客户沟通?

如果有专门掌握需求编写技术和经验的需求工程师作为客户和程序员之间的桥梁是最理想的状态,但是,以国内目前的国情下,每个项目组都配有需求工程师的并不多。因此,无论是从现实出发,还是从程序员自身提高的角度出发,正确地帮客户表达需求、正确地理解需求就成了程序员的基本素质之一。否则,到最后多是像本文中提到的苏成,搞得人、财两空。此次调查中66.67%的被访者认为“能帮助客户正确提出需求”是程序员自身的修炼之一,此种修炼肯定能在中国当今的环境下,提高程序员自身的能力和素养,可见在程序员内部已就此达成了相当的共识。认为“能使客户需求更完善”是程序员自重重要修炼之一的占到此次调查的55.13%。说明超过一半的程序员认识到,帮助客户完善需求会节省双方的时间和精力。

那么如何才能提高自己的需求分析能力呢?以下分享几个有关需求的几个小技巧:

1、尽量提高自己的表达和沟通能力。

良好的表达和沟通能力能在客户不能清楚表达需求时,融入到客户组织内部,了解客户的工作流程,与客户共同更好地、更准确地定义和分析需求;此次调查中60.90%的被访者认为沟通能力(能与客户和同事良好相处沟通)是程序员应具备的基本能力,只有2885%的参加调查者认为“表达能力(能准确表达自己的看法以及清楚准确地撰写文档)”是程序员必备的基本能力之一。沟通固然很重要,但我们更应该进一步认识到准确表达自己的观点和意见也是成功沟通的基础之一。如果只“沟”而不“通”仍然是对方面资源的浪费。

2、应用多种方式了解需求。

常用的方法有:问题分析法和建模分析法(结构化分析法、面向对象分析法)以及几种方法的结合。比如在问题分析法中应用面向对象的思想,与客户的员工谈话,访谈首先要面向工作流程,面向任务,面向角色,也就是用面向对象的思想帮助客户理清思路。

3、不臆测需求

如果有专门的需求工程师,对需求这块而针对程序员的要求有一点要特别强调,就是编码过程中当需求不明确时,必须与项目经理或需求工程师及时沟通,程序员不能自作主张地猜测客户的需求。

4、不过度承诺。

很多销售为了拿到项目,向客户大包大揽,甚至完全不顾公司的现有开发能力向客户承诺很多功能。在定义需求阶段,一定要向客户说明“什么是我们能做的,什么是我们应该做的,什么是我们不能做的”。客户付了钱就应该得到相应的产品,很多时候过度承诺导致了新功能无法实现的同时,原有功能也受到影响。过度承诺而无法完成相应功能,开发人员会因此产生严重的挫折感,谁都不开发让自己最终会“心中有愧”的产品,。此次调查中59.62%(近六成)的被访者,正确地认识到对客户提出的不合理需求拒绝得当也是程序员内在修炼的一个重要方面,这是非常难得的。

相关文章

不要像受害者一样工作

第一份工作应该做什么???

程序员不擅长沟通???

不能干一辈子开发???

不能干一辈子开发?(续)

浅析程序员的压力的产生

浅谈程序员如何正确面对压力

技术女性职业规划及其它

暴露你的优点写在中国的情人节(1)

小心,机会胆儿小写在中国的情人节(2)

技术人员行走职场三大陷阱之熟人借钱

技术人员行走职场三大陷阱之盲目创业

技术人员行走职场三大陷阱之胡乱跳槽

两起跳槽引发的道德思考

公司到底是怎么看我们的……

leo谈程序员的职业素养()

leo谈程序员的职业素养()

程序员初涉江湖 宜步步为赢(1)

程序员初涉江湖 宜步步为赢(2)

程序员初涉江湖 宜步步为赢(3)

32岁了,我还有没有机会转行做程序员吗?

5年海外工作经验,硕士归国没有适合我的位置???

女程序员过三奔四,你的名字是迷茫???

英语程序员永远的痛???

前进路上,我们都曾经迷失

MBA毕业了,我想继续做开发

职业发展顾问Leo

分享到:
评论

相关推荐

    程序员羊皮卷 程序员羊皮卷

    本书由CSDN《程序员》杂志创始人蒋涛倾力推荐,作者Leo(张大志)凭借在CSDN平台上的数百篇深度文章积累的广泛读者基础,将自身丰富的行业经验和深刻洞察凝结成书,旨在帮助读者解决职业发展中的困惑,提供实用的...

    极好的书籍程序员羊皮卷

    这本书不仅涵盖了技术层面的知识,更包含了对程序员职业生涯规划、个人成长以及团队协作等方面的独特见解。对于每一位想要在IT行业中稳步前行的程序员来说,阅读此书无疑能为他们的职业生涯带来宝贵的启示。 首先,...

    沟通的误区——《程序员职场第一课》

    总结来说,沟通是程序员职业生涯中不可或缺的一部分,理解和克服沟通误区能够极大地提升个人影响力和团队协作效率。通过学习Leo的指导,我们可以更好地理解自己在职场中的定位,更有效地与他人交流,从而实现个人和...

    7人际纵横谈之职场导师—程序员职场第一课之7.pptx

    总之,程序员在职场上不仅要提升技术能力,还要注重人际关系的建立,寻找合适的导师,这样才能更好地规划职业道路,实现自我成长。通过学习这七堂课,程序员们将更清晰地认识到职场中的各种关系,以及如何利用这些...

    程序员的职场成长 (程序员必看)

    Leo的故事讲起 44研发人员的第一份工偛 45先就业还是先择业 46第一份工作的意义和法败 48完成从学习者到社会职业人的转变 48开放的态度迎接现实 49找对方法从小处着觉 50坚持向无字书学习 51试用期...

    假如今天是最后一天—程序员职场之PPT学习教案.pptx

    《假如今天是最后一天—程序员职场之PPT学习教案》是一份专为程序员设计的职场提升教程,旨在帮助程序员在职业生涯中更好地沟通、坚持自我、处理人际关系以及理解生命的意义。教程由讲师Leo张大志主讲,他是一位有着...

    程序员求职第一书

    另外,本书还提到了“程序员职场三部曲”的其他两部作品——《程序员羊皮卷》和《程序员职场第一课》,这两本书分别涵盖了初入职场的注意事项、职场基本素养、职场生存技能以及职业生涯规划等话题。 通过阅读...

    程序员职场第一课

    - **讲师简介**:Leo(张大志),具有丰富的IT行业工作经验及教学经验,曾出版《程序员职场三步曲》等著作。 - **个人成就**:除了出版书籍外,他还通过自己的经历和见解,帮助了许多程序员解决了职场上的难题。 ##...

    有关坚持的个关键点——程序员职场讲之月大本营直播PPT学习教案.pptx

    【程序员职场中的“坚持”关键点】 在程序员的职场生涯中,坚持...总之,这份资料不仅关注程序员的技术成长,更注重他们的职业素养和心理建设,鼓励程序员在职场中找到正确的坚持路径,从而实现个人与职业的全面发展。

    Random Forests-LEO BREIMAN

    随机森林是一种强大的机器学习算法,由著名统计学家和数据挖掘专家Leo Breiman在2001年提出。这个算法在预测任务中表现出色,无论是分类还是回归问题,它都能提供高精度和良好的模型稳定性。"Random Forests-LEO ...

    Leo课件播放工具

    "Leo课件播放工具"是一款专为学习者设计的小巧实用的播放软件,主要用于播放各类教育课程相关的多媒体文件。这款工具以其简洁的界面和高效的功能,为用户提供了便捷的在线学习体验。作为一款信誉良好的软件,它确保...

    Broadband LEO Satellite Communications Architectures and Key Technologies.pdf

    文中介绍了两种流行的LEO星座——沃克三角形(Walker Delta)和星型(Star)星座,并探讨了如何在卫星上采用合适的波束覆盖方案来实现全球无缝覆盖。此外,针对LEO与静止地球轨道(GEO)之间的干扰协调问题,提出了...

    DFT_LEO_USBH_WM65

    标题"DFT_LEO_USBH_WM65"与描述"DFT_LEO_USBH_WM65.rar 用于HD2在WM6.5下的OTG驱动。"共同揭示了一个关键知识点:这是一份针对HTC HD2手机在Windows Mobile 6.5(简称WM6.5)系统下的OTG(On-The-Go)功能的驱动程序...

    leo_Plugin.rar

    综上所述,"leo_Plugin.rar" 文件的探索将涉及插件化的基本原理、实现方式、以及在不同平台上的应用实践,对于希望深入理解和掌握插件化技术的开发者来说,是一个宝贵的资源。通过这个工程,你可以学习到如何构建一...

    宽带LEO星座卫星通信系统业务量仿真分析

    【宽带LEO星座卫星通信系统】是指利用低地球轨道(LEO)卫星构建的宽带通信网络,相较于传统的地球同步轨道(GEO)卫星系统,它具备低延迟、低传播损耗的特点,更适合提供高速数据通信服务。随着小卫星技术的迅速...

    Leo GRADY 随机游走分割算法

    Leo GRADY的算法通过解决图上的扩散问题来达到分割目的,使得同类像素聚集成各自的簇。 4. **MATLAB实现**:MATLAB是一种强大的数值计算和图形处理环境,常用于科学研究和工程应用。Leo GRADY的算法使用MATLAB编程...

    leo购销管理系统 2.7

    开店帮手--可配合条码枪...自定义报表-用户可将自己公司名称联系方式等信息打印在出货单上 excel数据导出-可将数据导出为Excel表文件 下载地址 http://leo008.s110.98dns.com/ 独立开发的正版软件可以永久免费使用~

Global site tag (gtag.js) - Google Analytics