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

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

产品迭代下来,后期都是在代码屎山里爬,这个是无法避免的问题,无非就是前人干活设计靠谱、代码工整、文档能和代码对上绝大多数,爬屎山轻松点而已。最后就是写代码的不敢接需求,提需求的给严严实实怼回去,让大家形成了“重视开会套路、需求评审”这些扯皮的事情,而且,把扯皮当成了正事和正义。

小企业理智的 Boss 是怕大企业出来的人做 CTO,一方面有可能无脑直接照搬大而全的 state of the art,HC 和工资包袱就能把小企业玩死;另一方面也有可能如你说的终于有话语权了,拿没经过时间验证的新东西来练手、跳坑;也有可能大企业是制度完备和管理完备的,技术可能就没参与过管理,然后要做管理了,定制度,带团队了,无招了,最后团队散事情搞不定,没有一个人开心。
但是呢,小企业又蜜汁相信大厂经验,认为只有大厂背景才是“最佳人选”。

所以我以为 @CF3B5 可以忽视这个帖子了,既然到了这个位置,架在火上烤了,还是看看管理类的书籍,快速入门管理。
jabin88
2019-07-22 20:22:28 +08:00
技术总监说要改就改? 不把产品总监放在眼里了 别把底层小弟当作你们做政治斗争的工具。
version
2019-07-22 21:05:47 +08:00
@lonelygo 是的,不懂技术的老板确认偏爱大厂的架构,如果是投资人的钱老板可能无所谓,如果是老板自己的,他更愿意听反对意见,本来技术部就是无底洞,普通的一个月 40 万工资也没多少员工,算上其它开支一个月就差不多 60 万了,一年下来没变化,那就悬了,
其实无状态的微服务适合大部分企业,技术总监分模块和定义,每个人去实现自己的服务,开发前定义假接口也对接假接口,压测和工期大家也不会相互影响,写得不合格的可以滚蛋, 串联出版本和压力测试一眼就看到哪些是技术菜的,面试吹牛的,直接劝退,留下的发项目奖金,
技术总监和老板搞好关系多沟通就好,不听话的赶走一两个就是了,剩下的都明白
很多人都是网上嘴炮的,等收到离职信或找工作,哭的都有可能
真以为那么多岗位,其实那些都是长期挂着根本没打算招人,一天都能收到几千份简历
kevinzhwl
2019-07-22 21:10:37 +08:00
一句话,在我们公司 ceo 都不行。去找产品经理
essicaj
2019-07-22 21:27:42 +08:00
流程问题我就不说了,我就说一点:现在产品经理对产品的改动、调整十分依赖数据,但因为职责分离的缘故,大部分情况下研发岗是接触不到真实环境下的数据的,即便有提取数据的需求,也是要请产品经理来帮忙。所以敢问一句,我连基本的数据都没有,我怎么能更好地优化这个产品?我甚至连想法都不会有,因为你根本不知道你的优化是不是在做负优化。
CF3B5
2019-07-22 21:31:06 +08:00
@version
其实关于大厂的产品经理问题,我觉得他们这么做是有道理的,最简单的一个原因,就是他们的产品基本上都是市场规则的制定者,所以他们在产品设计调整方面,确实需要有个产品经理在里面去思考整个市场的利益分配问题!是的,就是利益分配的问题,而不是产品体验!说白了这些公司的资源配置,随便你只要做个不低于市场平均水平的产品出来都不会太差!你反过来说小公司的产品,如果技术这边不给力,都像上面一些人认为技术就应该等需求混日子的话,就算让张小龙也没用!其实我听说张小龙也并不是多牛逼,好像他之前在腾讯也都是靠 foxmail 在公司吊命而已,而且腾讯的邮箱本身做的就是半死不活,而且邮箱本来就是昨日黄花了,所以他一直甚少建树,被人非议,马化腾其实几次都想裁掉他这个团队了,但是马性格上也比较优柔寡断,一直拖拉才没下狠手!哈……

@lonelygo 知音,必须握手……哈哈!我管理这块确实比较薄弱,所以现在也在努力各种爬书中,你说的都非常有道理,有机会一定要向你多多学习请教!
虽然这贴有很多人反对我,不过我也看到有不少人确实认同我的观点,其实这就够了,这世间的问题,同道者不求多寡,只求有无,如果某个问题是人人都有统一的答案,其实就不能称之为问题了!
有时候我真觉得人的起起伏伏,3 分能力,7 分天命!就好比我最近爬管理上的书,发现有人雷厉风行,说做就做才能成事,但是有人优柔寡断,做起事非常谨慎,瞻前顾后的,结果也成事了!
技术上一个需求,来来去去也就几种写法,但是依靠团队要办成一件事,管理上的办法成千上万,真的不容易!
但是我总觉得,无论何事,人心不齐,目标不一致就一定是坏事,这个人心不是说要洗脑成思想一样的人心,而是说团队所有人是否认可自己从事的工作最后能达到的目标是否一致。没有这个一致,就算生产线上的工人也无法把产品做到最好,更别说软件开发这种更复杂的智力劳动!
mindjetzheng
2019-07-22 21:56:41 +08:00
其实就是边界的问题,理想与现实冲突的问题。

理想化扁平化的组织架构当然是每个人都把团队的产品视为己出,但现实情况是,人员能力参差不齐且高度专业化,这样各司其职反而出错率低一些。产品就只管产品和用户体验设计,开发就只管需求实现落地。至少说,能让流程跑起来。而扁平化架构在这种情况下很容易出现“朝令夕改”。

具体采用哪种方式,还是得看团队规模和人员能力建设情况。
fvckDaybyte2
2019-07-22 23:27:37 +08:00
有问题为什么不在看文档的时候提,写代码之前纠正……不建议写完程序之后才开始检查功能。文档看不出来的问题不算。
lonelygo
2019-07-23 00:03:17 +08:00
@version 公司实际支出,如果在把工位、设备、水电这些乱七八糟的成本核算进来,公司支出是账面发出去工资的 1.5 倍都不止,而且稍微想做点事情,准备融资的,合规都要考虑也不敢避税了,五险一金也不能乱来了。
JD 放出去么,简历上的快的前三岗位:设计、前端、产品,一天不看吓死人的节奏。
微服务说说也没啥难得,但是我见过一个苏宁干过的 30 岁的 Java,这是吓人的技术储备:
别人 boot 建的项目,他接手维护迭代后,升级要打 jar 包去生产环境替换。我以为还是传统的 SSH,就说你要看看 boot 啊,你们这种业务最适合微服务场景啊,要往 boot 上迁,然后 cloud,docker 用起来多省心啊。
人家说,就是 boot 建的工程啊,我说那你干嘛还 jar 包部署啊,不知道 docker 啊。
答:不知道 docker,没看过 cloud。
他的垂直拆表的办法,我估计你能猜出来。

@CF3B5 你可能掉入技术理想化的陷阱了,慈不带兵,该出手就要出手,否则无法立威。 你可以看看我之前的一波骚操作: https://zhuanlan.zhihu.com/p/30551539
实际上 V2 里面也有,懒得去翻了。
CF3B5
2019-07-23 01:11:38 +08:00
@lonelygo 兄弟非常赞!
顺便我能吐槽一下和我对喷的是技术也是苏宁出来的吗?
唉,老板的旧兵,我已经甩回去了…
sampeng
2019-07-23 08:27:59 +08:00
lz 不必纠结…这类人,下次裁员,各种 curl 的事,费力不讨好的事,不用动脑子的事。一个公司总有这些没什么搞头的事,总要有人来干。你这现成的人力储备。干这些事滑水最好了的,不用背锅,所有事也是在走流程。你也不用纠结… 2-3 年干毁了又不是你的意愿,要尊重每个人的选择…技术领域拿一年事干 5-6 年的多的是,自己都毁了还不自知
l00t
2019-07-23 09:05:28 +08:00
得有决定权啊。现在又不是单打独斗的年代了,一个项目,不说别的角色,就单纯开发,也有一堆人在做,互相之间有不同意见很正常,听谁的?很多东西甚至没个对错之分,争个几次都没争到话语权你让人还怎么愿意去思考产品设计?你举例说 Linus,但人家对 Linux 怎么做有话语权啊。

另外,不同于你的“说起某个软件、某个系统的作者的时候,无一例外提到的都是这个软件、系统的程序员,工程师”的观点,实际上我们日常遇到的大多数软件都不知道谁是它的开发者,或者说它也不能简单归功到某一个人身上。VSCode 谁开发的? Visual Studio 谁开发的? IntelliJ 谁开发的?我们只知道哪个公司开发的,进而哪个团队开发的,但是并没有多少人关心具体的程序员是谁。
misaka20
2019-07-23 09:10:46 +08:00
你的想法都没啥问题,但是你也必须去说服产品经理,然后再让他们改。
turi
2019-07-23 09:13:02 +08:00
做棋牌的。
游戏界面,抄袭竞品,完全一样。你给我说提需求,市场那帮人完全不听你的,抄袭竞品就对了。
玩法,几天改,明天改,天天改。你给我说这个规则天天,能不能一次性对接好,产品来说:市场这么要求的,我也没办法。
主界面绿色清新,俱乐部界面暗黑主题。这 tmd 搭配不丑?我 tmd 都觉得丑,都 tmd 两三年了,就是没人换。
200 多人的研发人员,你说咋没人去管呢?

我 tmd 给运维提过不少于十次,gcc 要升级到 c++11 版本,不奢求 c++14 17 啥的。
tmd 运维不给你升级啊。
guolaopi
2019-07-23 09:45:49 +08:00
1.想法是好的,是不应该仅仅局限于只写代码,要思考别的东西。
2.注意仅仅思考就够了,在其位谋其职,况且隔行如隔山,自己琢磨出来的大概率不如人家专业做产品做出来的(别玻璃心我说的是专业做产品的。
3.公司里做事不要越级,不要越级,不要越级。
4.换位思考一下,如果你是员工,产品定下来的东西技术总监让你改你又会怎么样?

最后再强调一下,想法是好的,所有人都应该在业余时间去提升自己,包括但不限于:感受下别的工种(产品、UI 等),发展别的技术栈,增加兴趣爱好,增加技术深度,甚至看书旅游等等。
Keyes
2019-07-23 09:53:21 +08:00
@CF3B5 看 LZ 帖子真是深有感触

当年背着笔记本到处给客户演示功能(尤其那会儿电池普遍不给力,用了两三年的笔记本经常 10 分钟没电了,还到处找客户问插头在哪),演示完回来加班加点按照客户说的再改到满意,再拿过去试用。

说起来苦,但现在想想,那会儿真是很棒,真的是做软件的

现在呢?产品经理、项目经理、开发 leader、前端、后端、架构师、DBA、测试、交付,不得不说,商界大佬真是神奇,能把软工搞成这么流水线化

但是我觉得这种分工就是纯纯扯 J8 蛋的,是商业流水线带来的结果,这就 TM 是商业最大化利益而已。而现在所谓的全栈,才是软工本貌,一个功能,一个产品,就是要从市场调研、需求沟通、设计、实现、测试、交付全都做完,才是真的在做“工程师”

看楼上大部分回复,真是觉得好笑,你既然喜欢做你公司的螺丝钉,那请继续做吧,守护你公司的流程去吧,十年后见分晓。
guolaopi
2019-07-23 09:56:10 +08:00
@guolaopi 再补一个,别老拿开源项目说事儿,贵司不是做开源项目的吧?基本上公司产出的东西都是“商品”性质的。我认为根本无法相提并论。
开源什么的我不懂,但是 linux 的毛病没人负责也没人有义务帮你解决。
公司产品就不一样了,支付宝出个 BUG 你试试?


产品那块说的是对的。但是把开源拉出来就不好了。
xiaonengshou
2019-07-23 10:00:35 +08:00
额。baidu 和 ali 都是技术领导产品啊。产品委员会的老大一定是技术,并且一定是归属于技术委员会。比如在阿里,产品最高只能是 p9 但是技术可以 p12 都没问题
knightgao2
2019-07-23 10:07:25 +08:00
按流程走,一线的程序员,要是谁都说上一句就改了功能,那么出问题了,背锅的一定也是一线的程序员。
换我,我最多口头答应,但绝不改,除非出了问题,有人会站出来背锅
SunFarrell
2019-07-23 11:36:15 +08:00
要我,我会这么说
你的建议我不太懂,建议你和产品经理商量下,我从他文档里看他全局上都有考量,如果可以,我也想加,但现在这么突然是有风险的,我目前的工作对于整个产品来说是一个点,目前还看不到整体,你还是先和产品商量下吧


PS:
1. 我们的目标是完成产品,不是把同事放到自己的对立面上,为了高效的完成产品,沟通和尊重很重要
2. 年迈的 90 后

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

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

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

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

© 2021 V2EX