现在做程序员(工程师),难道不应该考虑自己负责的产品设计工作吗?

2019-07-21 00:10:18 +08:00
 CF3B5
前几天有个 Java 程序员死活不愿意改程序,都吵起来了,说你又不是产品经理(我是技术总监)凭什么要我们改,产品经理的文档就是要求做成这样子的……
作为一个十几年前就已经是程序员老人来说,我们当年都是和项目经理一起去和用户碰需求,自己做设计画原型,都是在我们的脑海里从一个假想的画面,或者功能,然后通过自己的双手逐渐变成现实,那时候那种成就感是无与伦比的!
实话实说,我觉得我们这代人天然觉得自己作为程序员,作为软件工程师,天生就是应该是去思考如何用我掌握的技术,去思考、去设计系统该做成什么样子的人。系统在性能、稳定性、人性化、交互流程等等多方面都是应该是软件工程师能力的体现才对,特别是掌握如何将系统设计的更人性,更友好的能力,和想办法掌握某个编程语言的能力都应该是一个程序员工程师应该追求的能力啊。现在炒的火热的微信产品经理张小龙,还有大家熟悉的马化腾、雷军、周鸿祎等等,这些人那个当初不都是程序员吗?
这几年我带团队,我和新一代的程序员聊过很多次这个话题,他们的理由基本上都是说程序员都是不善于沟通的群体,就应该专注写代码,这些事情应该交给更善于沟通的产品经理去做,任何系统都是一大帮人团队配合的结果,你怎么可以让程序员去设计和了解需求,这样是非常不专业的……你以前干的都是小 case,我们是干大家伙的(实际上我以前干的系统比现在大得多和复杂的多了)!
实话说如果有特别靠谱的产品经理,我也的不介意让需求沟通、产品设计这事由产品经理分担去做,但是这几年和一些产品经理接触下来,我自己感觉真正靠谱的产品经理那是比程序员少太多太多了。程序员想法其实在再不济,好歹也是能把问题解决吧!但是很多产品经理因为不了解技术,往往很多时候把简单问题复杂化,甚至让沟通更复杂困难,问题反而解决的不好了。甚至有些产品经理觉得自己不懂技术才是优势,他们觉得懂了技术就局限了自己的空间,这样产品就会变得没有“创意”了,你和他讨论产品的设计,他反而会用你太懂技术了,所以你的想法不行用户不会接受的这种观点来拒绝你……无语……
我一直和我们的工程师说,github 里头的各种开源项目,Appstore 里头的大量 App,其实都不一定是产品经理带领下完成的吧,这些这么优秀的产品,不都是一帮、甚至只有一个程序员、软件工程师呕心沥血的成绩吗?现在语言的发展和技术的创新发展,不都是在让程序员变得更复合,更独当一面,似乎并不是变得分工更细,更专注只是编码啊!( MD 我感觉现在写起代码来比我们那个时候简单太多了)
所以现在在我自己的团队里头,我一直在坚持要求程序员自己一定要去参与设计产品和系统。但是这么做下来,脚本语言的小伙伴还算配合和理解,但是后端 Java 的这帮人真心是不接受,很多时候和这帮人沟通我都有种绝望的感觉,所以有时候我也是真是挺迷茫的,也许是我真的已经 out 了,难道我真的 Out 了吗?
15132 次点击
所在节点    程序员
208 条回复
opengps
2019-07-21 08:42:55 +08:00
另外就是,程序员自己本身也排斥被当做工具,被安排执行
xuanbg
2019-07-21 08:44:52 +08:00
我去!上面的回复简直不忍直视。。。天天喊着程序员是青春饭的是你们,不愿意在业务上下点功夫积累的也是你们。就你们这个认知,也不要等 30 岁 35 岁了,凡事都是赶早不赶晚,你们明儿就赶紧地、麻利地转行了吧。

别不服气,就你们平常写的那些破代码,一个智商在线的人我能三天教会。不说能解决多大问题,写的 bug 多不多,效率高不高,至少能够面向搜索引擎编程,能把一些简单的逻辑实现了。这说明什么?这说明现在写代码这个事情的难度和拧螺丝一个级别了呀。。。码农不再是程序员的自嘲,而是真的有了呀。。。但是,现在能解决业务问题的高级程序员还是非常稀缺的。

言尽于此
kerr92
2019-07-21 08:46:37 +08:00
我也想问需求评审的时候你们干嘛去了……产品不提需求不要随便改现有功能,不是很正常吗???
xuanbg
2019-07-21 08:50:33 +08:00
我觉得,大家可以考虑一下当产品学会写代码的时候,作为只会写代码的程序员,该何去何从
hoyixi
2019-07-21 08:51:08 +08:00
扯,职责不分,没有流程,最后的结果就是:加班,加班,加班,低效,低效,低效
xuanbg
2019-07-21 08:52:12 +08:00
@kerr92 楼主是技术总监,团队稍有点规模的话,就不可能每个需求评审都参加。
jorneyr
2019-07-21 08:53:26 +08:00
程序员设计的产品,很容易带入极客思想,而用户需要的是傻瓜化的产品,术业有专攻,当好自己的码农即可,产品设计、用户体验设计师不是摆设,你什么都干是因为你们没人、穷而已。
laravel
2019-07-21 08:55:04 +08:00
@xuanbg 很多活其实谁都能干,只不过你没那么多时间,照你这么说,那公司都喜欢全栈了?那你不是开玩笑吗?
ChefIsAwesome
2019-07-21 08:59:01 +08:00
“这个地方有问题,应该重新做一下”,有权力发表这种意见的只有老板。等东西做完,老板说不行的时候再改才是最安全的。老板懒得看,或者觉得没问题,程序员费那劲掺和,搞不好还跟产品经理闹得不愉快,何必呢。
产品烂,反复改需求,推倒重做,都不是大事。跟重复劳动比起来,老板觉得产品很好,开发没活干才是更可怕的。
愿意参与产品设计的程序员都创业去了。职场上班,没人愿意趟浑水,老老实实拿工资,不得罪人。
kerr92
2019-07-21 09:15:56 +08:00
@xuanbg 需求评审总得有程序员参加吧……技术总监觉得产品设计有问题,可以拉上产品经理沟通是不是要改
loginbygoogle
2019-07-21 09:24:06 +08:00
敢和产品抢饭碗?打一架打一架
ericgui
2019-07-21 09:27:15 +08:00
@mnssbe +1
loginbygoogle
2019-07-21 09:37:36 +08:00
其实我很赞同楼主的观点,但可能每个人所擅长的或感兴趣的东西不同吧,有的人就喜欢技术型的东西,对产品不感兴趣。而有的对产品或 UI 有色天赋级别的爱好,却成了个 Coder。但我认为一个好的产品经理应该同时具备 Codeing 和 UI 设计的能力,这样才能在某些功能的设计上做的更加符合实际,能够极大的提高团队的沟通效率和开发效率。
mcfog
2019-07-21 10:22:10 +08:00
我赞同工程师应当有产品素养,但不应当是为了替代产品的职责,而是为了正确找到产品需求和具体实现复杂度的平衡,产品即使懂技术,他也不了解项目的具体实现和技术债,所以产品需求当中一定有“虽然是好的体验但并不值得大量的研发维护成本”的部分,和“其实不需要太大成本就能做到更好的体验”的部分,工程师应当负责填补这个空白

我觉得楼主作为技术负责人,对产品团队若有若无的敌意是非常不可取的,先抛开产品团队其实并不差的可能性(你是否真的理解产品工作的复杂性?),即使产品团队真的不行,作为技术负责人,应该做的也是和产品负责人沟通交流看能否改善,产品负责人也不好沟通就和老板沟通。同时一定要避免煽动团队对抗产品经理,下面的人对抗就算了你作为领导也对抗那整个公司的协作配合的氛围就完蛋了。就好比销售和风控,开发和测试的关系是一样的,指责上可能有冲突,但团队之间一定是要配合的,讲默契的,这个氛围是需要双方领导一起来建设的
CF3B5
2019-07-21 10:28:42 +08:00
@thomaspaine 其实很简单,有些需求会存在架构设计问题,很多时候需求可以实现,但是完全实现的话,会影响整体的系统架构,给系统带来一些负面影响,这些产品经理大部分不会知道也不会懂!很多时候这些问题也不一定是在需求评审中发现的,那么本来就需要程序员要思考究竟什么是系统最总要的,用户要的究竟是什么,来判断一个双赢的设计,而不是完全依靠产品经理指引去做!
CF3B5
2019-07-21 10:40:28 +08:00
@mcfog 我其实对产品经理没意见,我有意见的是现在的很多的搞技术的这帮人,年纪轻轻,思维固化的厉害!我们那个年代,学了点技术就像应用起来,自己写网站,开博客,主动去想很多办法把自己所学的东西都用起来!但是感觉现在很多做技术的,完全就把自己当成了一个打字的!产品好不好那是产品的事情,有没有 bug 那是测试的事情,自己每天就是打字,只要需求完成了,不出 bug,绝不会改第二次,还觉得这才叫负责!系统出任何问题都是别人没有把问题告诉他,和这些人沟通太 TMD 难受了……
chmaple
2019-07-21 10:48:38 +08:00
@CF3B5
我的观点就是你有毒。
你觉得有问题第一步要找产品经理,都进入开发阶段了,还直接让程序员改,有没有一点规则概念????
这不是你一个人过家家的事情,前端、后端、交互、UI、测试、产品,多方共同参与的。都进入开发阶段了你有问题就应该找产品、找项目的开发负责人,而不是扯一个程序员来批判,有病吧?
我做项目,别说你技术负责人,顶头 boss 让我不按照需求去开发要我改东西我都不搭理,都进入开发阶段了,你要改可以,找齐产品、开发负责人、测试负责人,需求变更的会议记录通知到所有人,不然改出事情了归谁?早不说干啥去了?还一大堆大道理,一堆的“我们当年”,还一堆的“感觉”,看把你能的。
chmaple
2019-07-21 10:52:24 +08:00
@xuanbg 他不能每个都参加,那么至少项目应该有开发负责人吧,开发负责人吃什么饭去了?有问题来怼一个程序员而不知道和产品沟通、不知道问责负责人,我不明白这人什么思维。
而且话说的很明白了,“产品经理的文档就是要求做成这样子的……”,这句话明显就能看出来需求早就确认了,而且已经开发完了,谁允许这个所谓的“技术负责人”越过产品经理或者项目负责人直接改需求的?
chmaple
2019-07-21 11:08:22 +08:00
@CF3B5
而且需求是需求,技术是技术,别把两者混为一谈。
项目的需求,从下发需求文档、批注、评审、签字,这么长的时间你想改什么觉得有什么问题随便提。都签完字进入开发阶段了,除非涉及到流程不正确会卡死或者存在非常非常大的问题的情况下,会采取通知项目负责人和开发负责人以及相关人员一起修改,否则谁来说都应该是不做不改,你是产品经理还是咋滴,这个项目你是负责人吗?你要改大家知道吗?产品知道了吗同意了吗?
技术是另一回事。我这边项目开发完,每个人都有自己的学习计划和技术分享安排,爱搞权限的搞搞 shiro/security/jwt/sso 之类的,爱搞数据库的搞搞 es/elk/mongo/pg,爱玩网络的搞搞 nio/netty/dubbo。程序员这方面做的不好,不愿意学习,不愿意按照你的要求做技术调研,这个你可以随意喷,开了都是你的权利。
“只要需求完成了,不出 bug,绝不会改第二次,还觉得这才叫负责”,这就是负责,需求都完成了还没 BUG,只要代码 review 没有明明白白的错误(我们这边是违反阿里 java 规约、或者存在明显不合适的实现方式的时候),你凭什么要去改别人的代码?
ww2000e
2019-07-21 11:16:52 +08:00
现在有产品的公司,产品是主导,不要越界,你为何不去说服产品。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/584776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX