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

2019-07-21 00:10:18 +08:00
 CF3B5
前几天有个 Java 程序员死活不愿意改程序,都吵起来了,说你又不是产品经理(我是技术总监)凭什么要我们改,产品经理的文档就是要求做成这样子的……
作为一个十几年前就已经是程序员老人来说,我们当年都是和项目经理一起去和用户碰需求,自己做设计画原型,都是在我们的脑海里从一个假想的画面,或者功能,然后通过自己的双手逐渐变成现实,那时候那种成就感是无与伦比的!
实话实说,我觉得我们这代人天然觉得自己作为程序员,作为软件工程师,天生就是应该是去思考如何用我掌握的技术,去思考、去设计系统该做成什么样子的人。系统在性能、稳定性、人性化、交互流程等等多方面都是应该是软件工程师能力的体现才对,特别是掌握如何将系统设计的更人性,更友好的能力,和想办法掌握某个编程语言的能力都应该是一个程序员工程师应该追求的能力啊。现在炒的火热的微信产品经理张小龙,还有大家熟悉的马化腾、雷军、周鸿祎等等,这些人那个当初不都是程序员吗?
这几年我带团队,我和新一代的程序员聊过很多次这个话题,他们的理由基本上都是说程序员都是不善于沟通的群体,就应该专注写代码,这些事情应该交给更善于沟通的产品经理去做,任何系统都是一大帮人团队配合的结果,你怎么可以让程序员去设计和了解需求,这样是非常不专业的……你以前干的都是小 case,我们是干大家伙的(实际上我以前干的系统比现在大得多和复杂的多了)!
实话说如果有特别靠谱的产品经理,我也的不介意让需求沟通、产品设计这事由产品经理分担去做,但是这几年和一些产品经理接触下来,我自己感觉真正靠谱的产品经理那是比程序员少太多太多了。程序员想法其实在再不济,好歹也是能把问题解决吧!但是很多产品经理因为不了解技术,往往很多时候把简单问题复杂化,甚至让沟通更复杂困难,问题反而解决的不好了。甚至有些产品经理觉得自己不懂技术才是优势,他们觉得懂了技术就局限了自己的空间,这样产品就会变得没有“创意”了,你和他讨论产品的设计,他反而会用你太懂技术了,所以你的想法不行用户不会接受的这种观点来拒绝你……无语……
我一直和我们的工程师说,github 里头的各种开源项目,Appstore 里头的大量 App,其实都不一定是产品经理带领下完成的吧,这些这么优秀的产品,不都是一帮、甚至只有一个程序员、软件工程师呕心沥血的成绩吗?现在语言的发展和技术的创新发展,不都是在让程序员变得更复合,更独当一面,似乎并不是变得分工更细,更专注只是编码啊!( MD 我感觉现在写起代码来比我们那个时候简单太多了)
所以现在在我自己的团队里头,我一直在坚持要求程序员自己一定要去参与设计产品和系统。但是这么做下来,脚本语言的小伙伴还算配合和理解,但是后端 Java 的这帮人真心是不接受,很多时候和这帮人沟通我都有种绝望的感觉,所以有时候我也是真是挺迷茫的,也许是我真的已经 out 了,难道我真的 Out 了吗?
16618 次点击
所在节点    程序员
208 条回复
CF3B5
2019-07-21 11:25:49 +08:00
@chmaple 其实这就是我很困惑的地方,是不是这个世界上所有的系统和软件项目都是前端、后端、交互、UI、测试、产品这个流程组合走下来开发出来的?我翻了很多项目,查了很多公司的成功产品的开发过程,实际上大部分项目的成功,其实都归结到项目程序员工程师的设计和思考功劳居多,特别是一些核心技术人员支撑起了整个系统架构,从 Linux 这个全世界最大的开源项目,小到 Github 里头成千上万的各种模块应用,基本上都是工程师的心血结晶!你在世界上,能叫得出名字的软件系统,几乎背后的名字都是技术,而不是产品,UI 或者交互这些人!现在所有的软件技术发展,无非都是 2 条路,要么性能更好,要么就更简单,更融合,更跨界!整个大方向似乎都是让工程师变的更全面,而不是分工更明确!
janxin
2019-07-21 11:30:38 +08:00
看情况决定处理:

如果之前与产品讨论过,并且确定方案要按文档这种方案执行的这样做没有问题,你去强制推动修改并不合适。

如果产品沟通已经确定需要修改,这种害群之马的开发开了就开了,无所谓的。
xx19941215
2019-07-21 11:38:10 +08:00
我赞成楼主的想法 工程师需要考虑产品的可使用性、用户体验,技术最终是要面向用户的,工程师需要为整个工程负责,不然就不能称为「工程师」。
CF3B5
2019-07-21 11:44:59 +08:00
@chmaple 不知道你有没有看过《代码大全》这本书!要知道,代码中的是有坏味道的,而且很多代码也是会随着项目的发展慢慢腐化的,很多时候刚开始做出来的菜,也许确实能吃,吃了也死不了!但是不好吃是普遍存在的,刚开始的好吃的代码,慢慢也会变得难吃!这些不是我瞎掰的,很多专业方面的书籍也是这么说的,程序员追究自身水平的提高,很重要的一点就是降低自己代码中坏味道,让自己的代码更简洁,更优雅,更解耦,更灵活,这些貌似都不是产品经理和文档能够给到程序员的把?如果程序员在这方面没有追求,认为只要能跑不出问题,遵循代码规范就是好的程序员吗?至少我看过很这方面的书似乎都不太认可这个观点……
chmaple
2019-07-21 11:53:18 +08:00
@CF3B5
我俩站的角度不一样。
你想表达是程序员作为主导的项目中,程序员应该有的素养。
而我所站的立场,是在项目开发过程中的程序员应该做到的,需求既定的情况下不应该贸贸然改动。
如果把你今天这一堆观点和起始事件剥离开来,单纯看你的观点,我举双手赞同,程序员应该做到进步无止境,无论是技术还是风格。
而回归到你“现在做程序员(工程师),难道不应该考虑自己负责的产品设计工作吗?”的标题,应该考虑,事实上就必须要考虑。但是这个考虑是在需求文档确定之前的,确认开始开发之前凡是不符合规则、不符合实际、存在问题的需求,都应该被改正过来。
需求既定的情况,就要做好程序员的本分。本分是什么,拿着别人的钱,按照别人的要求开发出合格的软件,这个合格是主导项目的人来制定规则的,而不是由程序员。
之前我的言辞过于激烈了,很抱歉。
misaka19000
2019-07-21 11:55:01 +08:00
楼主真有毒,还好你不在我们团队,不如就完了
linZ
2019-07-21 11:55:13 +08:00
其实根本问题是后端不愿意理解业务,说是啥就是啥。。产品多数不靠谱,对话都困难。。讲道理,需要有个人来领导一下(是不是就是卖苦力的意思。。。),他来帮忙推动各个事情,要不就满满磨合。。个人意见。。
inwar
2019-07-21 12:05:21 +08:00
程序员当然要关注产品,开发也要有流程和记录,楼主如果作为技术负责人应该着力去推流程的机制,比如开发问题反馈机制,推动搭建产品沟通窗口。


针于单人单事做规则以外的事情,谁都怕麻烦,程序该完到时候和产品对不上版,到时候两边都有理,就很难处理。
IanPeverell
2019-07-21 12:12:06 +08:00
你如果比产品经理还专业,那要产品经理干什么呢?你这边把这块改了,产品那边看了会怎么想?你一嘴他一嘴最后改得乱七八糟的最后还不是你来收拾烂摊子。既然有产品来设计,你就把你的看法跟产品说就完了,改不改改哪里最后由产品来决定就完事儿了。要不然谁都是产品经理了,谁都来说一嘴最后到底听谁的?
MeteorCat
2019-07-21 12:13:23 +08:00
最开始需求文档写了吗?
Takamine
2019-07-21 12:17:08 +08:00
请把岗位工作范围和权力放到一起谈,不要只给工作不给权力。到时候说没按照需求来的时候,背锅的是谁。哪怕参与进来了,但是话语权最终是又给了谁。

你也许想建立一个大家齐心协力打造一个好的产品的氛围,但是这不是一朝一夕之功,更不是就单方面要求程序员参与进来的问题。

如果说你司的程序员招聘要求就是产品开发设计并岗,那我觉得在招人的时候也说清楚比较好,免得彼此误解岗位职责定位。
Vegetable
2019-07-21 12:32:41 +08:00
现在非常需要在软件开发行业开展职称评级,初级的不叫工程师,叫技工。
很多人觉得楼主司流程存在问题,但是他说的问题的确是真真确确存在的。技术技工完全不关注产品。很多人连产品本身的功能都不知道。产品经理和程序员能力的交集应该是对产品的理解和设计能力,产品经理多了沟通需求的能力,工程师多了编写代码的能力。
hefish
2019-07-21 12:44:39 +08:00
真舒服,居然还有技术总监帮忙考虑产品这一块。 我们都是程序员自己想,搞的累的一塌糊涂。
gamexg
2019-07-21 13:01:07 +08:00
两个可能:

一是,开发想尽量事少。
二是,开发如果提了建议,或者自己做了认为正确的修改,却被产品顶回去,多来几次就变成了要么走认为,要么忍了。
mumbler
2019-07-21 13:01:32 +08:00
@CF3B5 我明白你想表达的东西,程序员这个群体现在很多人看工资高培训一下就进来混饭吃的,他们不热爱编程,也不爱自己做的项目,能少做绝不多做,不主动学习。真正的程序员都会像你一样思考问题,不用说服哪些混子,他们未来注定会被淘汰的
chrisstyle
2019-07-21 13:49:28 +08:00
赞同楼主!
程序员首先要技术方面是专业的,大部分公司都是业务为主,这时候技术专业就是能根据业务快速设计合理的架构并产出,而如何写出好的架构?不理解业务设计个啥架构?产品设计的好不好,作为程序员心理没点逼数能行?

而且程序员了解业务,具备业务分析能力,这才是竞争力吧!甚至于能技术驱动业务--->这种太少了,也是阿里 p7 以上的基本要求。
leafShimple
2019-07-21 14:13:07 +08:00
- - 我也不知道该怎么样好,一开始项目的产品不给力,我们开发自己去调研需求,产品有意见就想叫我们加班,后来换了个需求。
我梳理了业务,他连需求文档都不写了,我给他讲明白了,我发给他的一段话,他复制过去直接叫我做需求.需求评审叫上一堆测试就评审了.
看了楼上各位前辈的回答,我也在想知道怎么做的更好.目前的新项目,开发嫌麻烦,需求产品觉得你给他找事儿.
我也觉得我做的项目能有很多人稳定高效的使用是一件有满足感的事儿
leafre
2019-07-21 14:15:29 +08:00
程序员学会吹牛就可以去应聘产品经理了
CF3B5
2019-07-21 14:32:25 +08:00
@leafShimple 实际上在我的经历来看,不靠谱的产品比不靠谱的程序员多的多去了!国外产品经理都是要技术背景的,甚至是技术做的足够好了,所以才转做产品。国内现在恰好是反过来的,产品经理以不懂技术为荣,技术干不下去了,才去做产品经理!实际上我最近还较真的去找了一下,真正标榜是产品经理做起来做的好的产品在网上屈指可数!反倒是实际上由程序员或者所谓的码农创立的产品做的比较好的比比皆是!举个最简单例子,v2ex 这个论坛的创始人刘昕不就是程序员吗?难道你们觉得他的想法就没有产品经理设计的好,v2ex 里头充满了不合适的功能和技术?大家不用的挺欢的吗?
所以我一直不明白新一代的这些程序员你们菲薄些什么,现实的情况究竟是真的产品经理做的比程序员做的普遍都专业,还是说实际上大家们在营造一种气氛去降低对自己的要求以求安逸?天天盯着电脑,重复敲着类似的代码和用现成技术框架,CVCP,这就算程序员该有的一生了?
老说程序员是青春饭,老说自己年纪大干不动,写不了代码,生产线当然谁也干不了一辈子,但是工程师绝对是可以干一辈子的工作啊!
snoopy1024
2019-07-21 14:59:39 +08:00
@opengps 本来就是工具,排斥什么?都是打工的

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

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

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

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

© 2021 V2EX