程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的
前段时间和一个朋友聊天,酒席间向我抱怨他那段时间的郁闷:项目经理从客户那里拿来一个需求,实际上就是一个ppt描述,我这个朋友拿过来看后刚开始不觉得什么,一个通常的网站系统又能复杂的了哪去,但是越往后做就越发觉得里面的问题。在ppt描述中很多地方描述的都有矛盾。比如论坛,功能上用户描述的更象留言板,而后来通过项目经理,项目经理又通过客户,得知这个功能确实就是那样子的。朋友心想这不同行业可能会有不同的需求,那就这么来吧,反正只是叫什么名而已。而在“交货”的时候,客户不愿意了,在说一大堆问题当中(当然是口述,看到哪说大哪的那种),其中就有那个BBS的功能,说BBS怎么做的和留言板似的,那么些功能都没有,然后在网上随便打开一个论坛,论坛叫什么名记不清楚了,但是,我敢肯定那是动网的东西。客户指给项目经理说你看人家设计的东西,还是免费的呢,我们花钱的都给做成这样,你们能不能做下去了以后。项目经理回来后,其实之前怎么回事他肯定是忘记了,于是,又给这个朋友一顿打击,说能不能在我这干了。朋友觉得委屈,拿出先前的那个ppt,还好那个ppt还在,给项目经理看说当初客户确实就是这么要的,并且也得到了客户的确认。项目经理似乎也是想起来了,但是,也许是面子下不来吧,就以朋友发生错误还故意找借口说第二天不用来上班了。还好,只是说说而已。
没错,小公司,尤其是对于我们这样刚毕业的学生来说,这种情况会时有发生。
不过这样的事似乎不是你有准备就能避免的了的。还是那个朋友,不过是另一个项目---其实还是一个网站,需求,同样还是一个ppt加一个根本就没有用的word文件,和广告一样,也不晓得朋友的那个公司是怎么回事,总喜欢把ppt当成用户的需求定义文档。朋友这下“尖”了,先把ppt好好看了一看,并且,直接要了客户的联系方式和网上的联系方式,有问题直接和客户沟通,确认,心想这回有了聊天记录,看你以后怎么反悔。于是呼,问题看似解决,但就象阿甘所说,人生就象一盒巧克力,你永远都不知道下一颗是什么。客户的号是天天在线,而ppt里的问题就不用多说了,问题列表给客户发过去后,客户说的好说下午就给答复。不过,也许是没有在程序的头声明“命名空间”,所以这个“下午”便宜器根本就无法确定是哪个命名空间下的,因为每天都是一个“命名空间”,并且都有下午的这个“属性”或者“方法”。于是呼等了又等,那天项目经理问,说进度怎么样了,朋友说正在做底层的东西,一些功能描述的不够详细或者有矛盾,正在等客户那头确认。而项目经理不高兴了,说这么长时间你就没做出一个东西能让我看到做成啥样了?可不么,DAL和BLL的构建你要是能看到啥样子那你就成MATRIX里的Neo了。于是项目经理给客户那头打电话确认这事,客户那头,也许不是同一个领导,也许是把这事忘了,但还好,说了句人话,说“那这样,你先做。明天争取给我们头看看你们那做成什么样子了”……而那个晚上,不晓得朋友是怎么熬出来的,不用想,加班啊,还要不停的听着项目经理的漫骂。而这样赶出来的一个晚上的东西,后果,大家可想而知了。
朋友此类的抱怨还有很多,当然,陈述的时候大都把这种感觉同酒杯里的酒一同拌着郁闷饮了下去。
这些抱怨我想起网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事如下:
兔子跟街上走着,迎面碰上了老狼。老狼伸手就给他一大嘴巴:“让你丫不戴帽子”。
兔子很郁闷地回家了,弄一帽子戴着。
第二天又碰上老狼了,又挨了一大嘴巴,“让你丫戴帽子”。
如是几次,总挨打。兔子想,这么老挨打不是个事儿啊,不行,我得找老虎投诉去。
刚到老虎家门口,就听老虎在屋里说话。
“你也不能老这么蛮不讲理打兔子阿,回头兔子找我投诉来,我也不好罩着你啊。好歹咱面子上得过得去,我教你一招。
下回你见着兔子,跟他说:给我弄点儿洗衣服的来。他给你拿肥皂来,你就打他一顿的,说我要的是洗衣粉,谁让你拿肥皂。他拿洗衣粉来,你也能打,说我要肥皂,谁让你拿洗衣粉。
要不然你跟他说,去,给我找个妞儿来。他给你找个胖的,你打他一顿说我要瘦的;给你找个瘦的,你也打一顿,说我要胖的。
这样不结了,你也能打他,我面子上也能说得过去。”
兔子一听,得,咱也别投诉了,回家吧。
第二天,兔子在街上又撞上老狼。老狼大喝一声:去,给我找点儿洗衣服的来。
兔子不慌不忙:你是要洗衣粉阿,还是要肥皂啊?
老狼一听,嗯?有一手啊。又说:去,给我找个妞儿来。
兔子还是不慌不忙:你是要胖的啊,还是瘦的?
老狼一听勃然大怒,伸手就给兔子一个大嘴巴:“让你丫不戴帽子!”
兔子那个哭啊、、、、、、、、~!
这个故事与朋友的遭遇,各个角色似乎勉强能对上,但是,每次回忆起朋友的诉苦我都会很自然的联想到这个故事。兔子如果想做一辈子的兔子的话,永远做底层的那些东西,那么,就象故事中想描述的:“我就是想打你了,还需要什么理由吗?谁让你是兔子”。
当然,客户似乎还没有不讲理到那个程度,而项目经理也没有可恶到那种地步。不过,在这里我还是想引一下JillZhang朋友博客上的一个文章,项目经理是这样当的,看过的朋友我想很多都会联想起类似这样的文章,不过,就如上所说,人生,就象一盒巧克力,你永远都不知道下一个是什么。很多事我们都无法预料的。小公司的小团队,多少有会有这样的问题发生,而基于小项目的这样的团队,如果非要一个项目经理那样去当,那是不可能的,因为有时候项目经理比“公仆”还忙呢,所以这类问题自然多的很。
而再有一点我想到的,就是作为一个程序员,不要以为管理以自己一点关系都没有,即使真想做一辈子技术,下一辈子的“蛋”,还是如那篇文章中所说,项目经理,就是那样当的。很多东西你不知道怎么回事的话你根本就不知道该怎么去做,即使你能看出怎么去做,细节上的差别你是看不到的,还有比如怎么与客户打交道,与客户的哪些人打交道,遇到什么样的客户应该说什么样的话,选择一个什么样的时间与客户交流,等等等等,太多的东西需要去学了。比如朋友遇到的问题,怎么把那个ppt变成我们需要的一个客户的需求文档,这不仅是技术层次上的事。如果这些东西如果一个程序员永远都学不会的话,除非技术真的牛到不能再牛的地步了,不然,那就快快乐乐的做一辈子兔子吧。
补充:写到这里可能也会有人抬杠,说自己的公司里40多岁的程序员多的是,你就说人家是兔子?他们在公司里都是很受尊敬的。我想,虽然他们看上去是程序员,但已经不是很简单的程序员了,没错,就是那种技术很牛的人,甚至可以引导客户的需求方向,对于那些长辈,我佩服他们的学习能力之外,还佩服他们的钻研能力,那种年龄的钻研能力,不是我们这个年纪能学习到的。他们多少年的行业经验了,就是那种非常熟悉自己做的是什么的,与其说是程序员,倒不如说是行业专家。所以,你还能用一个程序员的角度来看他们吗?
[以下为补充内容:2006-10-5]
最近写过不少类似的内容,似乎抱怨的成分居多,不过对于刚毕业的我们来说,尤其是在东北这样的城市,尤其是那些还没有走出去的同学,尤其是还在小公司里做小项目的朋友,并且还是很不成熟的,这样的事接触到的会比较多,当然,也有一些是经历过的。
不过,根据这些经历与经验,还是迎合一下此篇的主题:在公司,类似这样的情况,当作为一个程序员的时候,有些东西不能只靠领导和项目经理去做,就象各位的随笔中所说的那些项目管理或者沟通的工作,实在不行,就自己去做,所以也正如此篇所说:程序员,不要让自己做兔子。恩,应该就是这个意思。这样,自己也会在这个过程中成长起来.相对于大公司来说,在合理的安排任务分工的情况下,项目经理是绝对不会给你这样的机会的.事物都是有两方面的,当你失去一样东西的时候,肯定还能得到另外一样东西.只不过是看你是否能找的到了.
程序员,不要让自己做兔子(updated) 网上最近流传的一个笑话,关于兔子,狼还有一只老虎的,故事 我就是想打你了,还需要什么理由吗?谁让你是兔子 项目经理是这样当的的更多相关文章
- Java 程序员每天都在做什么?
作为一名 在大.中.小微企业都待过 的 Java 开发者,今天和大家分享下自己在不同公司的工作日常和收获.包括一些个人积累的工作提升经验,以及一些 Java 学习的方法和资源. 先从我的第一份 Jav ...
- Java全栈程序员之01:做个Linux下的程序猿
Windows10正在成为史上口碑最差的Windows系统 (图侵删) 我曾经花了数次1小时去寻找解决方案去关闭自动更新,包括停掉服务.修改注册表等等.但是都没有成功. 微软自身是知道这个问题的,但就 ...
- .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...
- .Net程序员之不学Java做安卓开发:奇怪的Java语法
1.final关键字:用以修饰类时,表示类不可以被继承,指向基本数据类型或者引用类型时,该类只可以在声明的时候初始化 2.@Override 类似C# 中override关键字,表示对父类的重写.网上 ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- 程序员/PM怎么让项目预估的时间更加准确
项目时间的估算对项目的成败至关重要.项目时间管理包括了项目按时完成所需的各个过程.但是,在实际项目中,经常出现项目延期,估算严重不准确的现象. 一个我曾经共事过的很有经验的项目经理曾宣称说,他会拿程序 ...
- 一个想法照进现实-《IT连》创业项目:创业时该不该用新手程序员
前言: 距离上一篇文章,转眼已然一个多月了,这段时间没出来和大伙汇报创业的进度,怪我了. 最近又感冒了,已经一个多星期了,还在感冒中,不过感冒也不能偷懒了,每天都有大把的事情等着我解决~~~ 不过今天 ...
- 做什么职业,也别做程序员,尤其是Java程序员
千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...
- 代码传奇 | 身价10亿的程序员 雷军当年也为他打工——WPS之父 求伯君
他的前半生,值得我们每一个人深思. 在普通人眼里,他寂寂无名,只有年岁稍长的文化人,才听说过他传奇般的存在. 在IT人眼里,他是块活化石,中国第一的大旗除了他,没人敢抗! 他是求伯君,从一个浙江穷山村 ...
随机推荐
- 【Scala】Scala-case-参考资料
Scala-case-参考资料 scala case_百度搜索 Scala School - 基础知识(续) scala case匹配值 - CSDN博客 scala入门教程:scala中的match ...
- javascript——获取列表选择行的列值
表格布局 方法 代码 $("#send").click(function(){ //获取选择的行号 n= $('input:radio[name="radio" ...
- Linux上传和下载之Xshell
一.安装与授权 安装时候需要注意的是,选择 Free For Home/School选项进行安装,如下图所示安装成功后 二.上传 上传需要使用rz命令,如下图所示,第一次可能会提示你命令无效或者提示你 ...
- 解决IPOD NANO7无法开机
确定是没电了,按着开关键都没反应,网上求了一招 按住没有反应的ipod nano [开关] + [home] 大概10s钟,开机,然后赶紧充电吧,这哥们进入了深度睡眠模式了!
- Hibernate中得fetch
fetch ,可以设置fetch = "select" 和 fetch = "join" 用一对多来举例:fetch = "select"是 ...
- 怎样编写YARN应用程序
(注意:本文的分析基于Hadoop trunk上的"Revision 1452188"版本号,详细可參考:http://svn.apache.org/repos/asf/hadoo ...
- JavaScript筛选出数组种连续的数字
function arrange(source) { var t; var ta; var r = []; for(var j=0;j<source.length;j++){ var v=sou ...
- Awk使用及站点日志分析
Awk使用及站点日志分析 Awk简单介绍 概述 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入, ...
- 【转】Java设计模式之《享元模式》及应用场景
享元模式:“享”就是分享之意,指一物被众人共享,而这也正是该模式的终旨所在. 享元模式有点类似于单例模式,都是只生成一个对象来被共享使用.这里有个问题,那就是对共享对象的修改,为了避免出现这种情况,我 ...
- 从n个数中随机选取m个
咋一看,这是个很简单的问题,但是如果n是个不确定的数呢?比如服务器每天会收到数以亿计的请求,但是目前服务器端不希望保存所有的请求,只想随机保存这些请求中的m个.试设计一种算法,能够使服务器实时保存m个 ...