今天在tweet上看到一幅有趣的漫画: http://theoatmeal.com/comics/design_hell。说的是上级领导怎样坑死一个专业的设计师。 漫画很有趣, 而且在实际工作中也经常发生这种悲剧。
到底是谁的锅 ?
普通员工和专业人士的不同, 在于普通员工需要别人指挥着干活, 而专业人士能够为BOSS提供各种决策建议。招聘普通员工的关注点主要是执行能力, 要听指挥, 还能出活。 聘请专业人员的目的, 则是为了能够把控正确的方向。
比如, 假设病人和医生之间, 有一场对话:
患者: "医生, 我胳膊受伤了。"
医生: "想要我帮你做点什么?"
患者: "有点疼, 能不能帮我止止疼。"
医生: "是要把胳膊锯掉么? 放心, 锯手这活我很在行!"
患者: "不不不,我的意思是帮我止痛就行了。"
医生: "止痛的话, 将手臂上的神经都阻断, 可以有效止疼。"
患者: "难道, 就没有危害小一点的治疗办法吗?"
医生: "哦哦哦~~抱歉抱歉~我今天的下班时间到了,下周我坐诊的时候你再过来看吧!"
看到这个医生在坑人, 是不是有点想揍他? 即便将对话中的患者换成你的上级, 肯定也是希望医生能够给个好办法, 以确定合适的治疗方式。
换一个版本:
患者: "医生, 帮我把胳膊给锯了吧。"
医生: "你胳膊怎么了, 哪里不舒服?"
患者: "胳膊受伤了, 我实在是讨厌这胳膊, 所以请将它锯掉吧。"
医生: "让我看看, 嗯, 看起来好像是骨折了, 也可能有一点点骨裂。 最好是先照个X光片!"
患者: "不用照了, 直接锯手就行了。"
医生: "抱歉, 我绝不可能开这种处置措施的, 你这手还是好好的。"
患者: "但顾客是上帝呀!我付钱就行了, 你要听我的!"
医生: "不行不行。这样会掉节操, 我是不会干的!"
你希望碰到哪种医生? 假设你是医生, 那你想做哪一种呢?
程序员作为软件行业的专业人士, 比管理人员掌握更多的系统设计知识与开发经验。事实上,就是因为需要你的设计和开发经验才把你招进来. 你天然有一项神圣的义务, 防止项目经理干蠢事, 把你们团队带进坑里。
将这一切归结为一个简单的道理。那就是, 如果管理人员乱指挥, 专业程序员就会拒绝执行。
如果你真的拒绝执行, 那会有风险吗? 是的, 失业的风险。但作为专业人士, 你应该坚持原则, 不能没有底线。
当然, 拒绝只是第一步。 专业人士会展现自己的职业素质, 提出可行的替代方案. 并与上级进行争取, 直到得出双方都满意的解决方案。
漫画中那个可怜的网页设计师看起来有点蠢, 不像是一个专业人员的行为。作为一个只会听别人指挥的打工者, 最后的结果当然是变成背锅侠。他应该勇敢地拒绝妥协, 从一开始就与客户进行有效的沟通谈判, 而不是完全听客户瞎掰扯。
漫画中塑造的是一个聪明却软弱的受害者设计师, 他的上级却是一个专横霸道的人. 事实上这个设计师也是咎由自取, 因为他逃避责任, 没有指出错误的地方。
If you are a professional, you never allow yourself to be put in the role of the victim.
如果你是专业人士, 就不应该干这些蠢事, 让自己变成受害者。
Posted by Uncle Bob on 12/04/2009
原文作者: Uncle Bob, 2009年12月04日
原文链接: https://sites.google.com/site/unclebobconsultingllc/blogs-by-robert-martin/saying-no