V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lancelotfh
V2EX  ›  程序员

国内软件公司的产品水分是不是很大

  •  1
     
  •   lancelotfh · 96 天前 · 6612 次点击
    这是一个创建于 96 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两年在国内某能源集团做一个比较传统的管理信息化系统,一个大型民企中的标。 近期因为并发数(不到 100 )、数据量(数据库中除去日志不到 100G ),出了很多次故障,扒了一下他们的架构设计、代码,发现很多地方就是用最简单粗暴的办法实现功能、业务,没有考虑过执行效率和并发能力。 很难想象,这是获得过“中国计算机行业发展成就最具成就企业奖”的公司的当家产品。 这算是国内软件公司的通病吗?吹得天花乱坠,实际上一地鸡毛。

    72 条回复    2024-08-21 07:50:56 +08:00
    ymcj001
        1
    ymcj001  
       96 天前   ❤️ 2
    业务实现了就心满意足吧
    daimen
        2
    daimen  
       96 天前   ❤️ 1
    "靠关系"拿订单的软件公司的通病
    EastLord
        3
    EastLord  
       96 天前
    yannxia
        4
    yannxia  
       96 天前   ❤️ 13
    不是…一分价钱一分货,可以去了解下采购价,然后和现在人员工资对比下。
    scal
        5
    scal  
       96 天前
    能用就行
    mercurylanded
        6
    mercurylanded  
       96 天前
    @yannxia 还要扣掉 30%的回扣
    scal
        7
    scal  
       96 天前
    甚至隔一段时间重启能用也行😂
    lancelotfh
        8
    lancelotfh  
    OP
       96 天前
    @yannxia 建设+推广,合同额几千万。现在想想,还不如组织人手,自建系统靠谱
    lancelotfh
        9
    lancelotfh  
    OP
       96 天前
    @scal 重启解决不了问题,并发数上来,阻塞+锁表,不改代码不行
    Goooooos
        10
    Goooooos  
       96 天前   ❤️ 2
    公司是这样的,程序员只需要考虑性能和功能实现,公司要考虑的更多
    lancelotfh
        11
    lancelotfh  
    OP
       96 天前
    @Goooooos 出问题要扣我钱,跟个定时炸弹一样
    lo0pback
        12
    lo0pback  
       96 天前
    我做 G 端信息化项目,确实技术栈都很普通。。没考虑怎么多。能验收就行
    buf1024
        13
    buf1024  
       96 天前
    有改进空间,才有源源不断的收入啊,这样程序员也才不至于失业,这就是老板和程序员的本质区别。老板考虑的是收入,程序员考虑的是性能然后自己吧自己搞死。
    abelmakihara
        14
    abelmakihara  
       96 天前
    有很多人就是没有责任心
    完全不考虑变更只糊弄事的
    都谈不上什么过度提前优化
    只需要考虑好留个后路就行
    paopjian
        15
    paopjian  
       96 天前
    G 段项目不涉及高性能需求就不会考虑高并发,这是另外的价钱
    12306 不也是找阿里做的么,专业对口才有技术
    isnullstring
        16
    isnullstring  
       96 天前
    是的,有些地方还不用事务
    SGL
        17
    SGL  
       96 天前
    质量向来和工资挂钩。
    pkoukk
        18
    pkoukk  
       96 天前   ❤️ 2
    @lancelotfh #8 G 端自建?招一堆码农进来当公务员,再配几个产品,几个交互,几个 UI?一个系统一年搭建好了,10 年没有迭代需求,这些人咋办?公务员又不能开除
    wanniwa
        19
    wanniwa  
       96 天前
    除非外包出去的项目,你再养一批测试,专门负责验收
    lizy0329
        20
    lizy0329  
       96 天前
    ???能用,谁在意你的并发数?目光放长远些
    DigitaIOcean
        21
    DigitaIOcean  
       96 天前   ❤️ 1
    去掉“国内”两个字,也许更能反映实际情况
    再去掉“软件”,也许更更是社会的真相
    TenProX
        22
    TenProX  
       96 天前 via Android
    你做了一個高質量的項目,後期不需要維護,不需要軟硬件升級。簡單一句,你的保時捷誰給你加油,你的海景獨棟別墅誰給你付款?
    leegradyllljjjj
        23
    leegradyllljjjj  
       96 天前 via iPhone
    业务吹得天花乱坠,代码写得多勾史,bug 有多少只有自己知道
    Knights
        24
    Knights  
       96 天前
    见多了就不奇怪了,这个世界就是这个鸟样,不仅是人类社会,自然界也是屎山代码,没出问题就不管
    NewYear
        25
    NewYear  
       96 天前   ❤️ 16
    “还不如组织人手,自建系统靠谱”

    从管理的角度说一句,“还不如”是没办法提前得知的,在决策的时候需要考虑太多了。各方存在博弈,要达成一个所有人都满意的结果是不可能的。

    即便做再好,所有部门都满意了,还会有人说“你拿了多少回扣?”,关于这个回扣的问题,我笑死,不光是楼上,同一个部门都有怀疑的,下属怀疑领导的,下属怀疑前任的,每次遇到这个话题,我都会说赶紧打住,否则下一个被讨论有没有拿回扣的主角很可能就是你我。

    主导立项的管理者,往往都是追求目标追求完美的,但是要公司花钱,要大家配合,一定会影响某些人的利益啊,即便没有金钱上的影响,也会改变习惯,这就很烦啊,每次博弈下来其实都很累。。。所以每个成熟的管理者,都不追求完美了,不然自己得气死。

    我还记得以前没有管理思维的时候,做方案报价都是很实在的,后来发现面对的都是外行,每个项目的第一个方案肯定是有水分的,预算可以压一压,人员需求也可以压一压,“反正我不懂,砍价砍一半”,于是做方案就开始越来越水,提前给你预留好要砍的一部分额度。
    最离谱的一次事件:高管认为 8-9 万单价的服务器(中高配置)不正常,跑去电脑城一问,“服务器”只要 8000-10000(低端配置,但高管以为是同样的东西),回来就各种阴阳怪气。。。给我们普及“如何买东西靠谱”,别的部门还问“服务器批下来了吗,不是只要一万吗?”。。气的我到处打听到底是谁给高管提供的这个价格,才知道疑似是高管自己去了电脑城,但真的是这样吗,高管真的会去电脑城询价吗,还是有人吹耳边风呢?。。当时为了避免“回扣问题”,我是直接放弃了报价工作,让他的助理来承担找供应商+询价工作。即便这样也是不行的,因为找供应商+询价是我的工作,丢给上司的助理去做,想死是不是?


    回到主题,其实我是不认同自己研发的,信息管理软件有 4 大难题是自主研发无法解决的:
    1 、周期太长:从需求收集到立项到软件开发到培训使用到修改 bug ,实现新需求,这个周期不会短,说不定立项的人都离职了,到时候绝对是烂摊子。新官上任三把火,没有人想去搞旧项目,因为这样是拿不到业绩的。
    2 、成本无法估量,买软件产品大概率是产品费用+服务费,自研发的成本忽高忽低,研发期间人多成本高,产品出来后呢?人员都开除吗?如何保证留下来的人、人都走光后,屎山还能玩得 666 呢?会不会到时候又回归到原点,技术部门应该推陈出新?
    3 、BUG 带来的损失无法估量:公司运营不是过家家,数据出错带来的是经济损失,bug 影响相关业务,也是损失,我这边遇到过生产线 24 小时上班,遇到 bug 时后半夜程序员要来修 bug 的,也遇到过各种数据不准影响业务部门的。虽然你的数据是自动出来了,但业务部门需要自己核对也很烦,因为那代表你的数据不值得信任,数据繁杂的情况下太容易出错了。
    4 、没有人兜底和背书,以上三大难题,谁来兜底呢?往往都是老板来兜底,因为所有损失都与他直接相关(老板花钱找罪受)。既折腾自己人,又带来无数风险,自己也备受煎熬。你现在还能骂骂厂商,到时候你部门被骂,业绩受影响,那滋味可不好受。

    我作为信息系统运维者,一路走到信息化部门管理者,多多少少还是有点经验的,我的答案就是别搞内部研发,别折腾自己人,事情有人兜底,大家都安心点。烂怎么了,每个公司,每个人,每个产品,都是不完美的,都能被骂,所以一定不要尝试去满足所有人的愿望,因为最后还是会被骂。

    嗯,我想说的是每个位置有每个位置的难处,骂一骂就好了,别想太多,这事换别人来不行,换你我来也未必会更好。要不……咱们就勇于直言,立项搞起来?
    yinmin
        26
    yinmin  
       96 天前 via iPhone
    如果你熟悉数据库的话,在并发较低的时候,开启一个数据库跟踪器过滤出用时较多的 sql ,然后看看能不能加 index 提高效率
    drymonfidelia
        27
    drymonfidelia  
       96 天前
    @yinmin 政府的系统都不一定有数据库,我们这边有个信息化系统,txt 当数据库,不支持并发写
    drymonfidelia
        28
    drymonfidelia  
       96 天前
    我看到了 OP 说的数据库,但说不定这个数据库指 .txt
    我这边这个还不是个例
    echo1937
        29
    echo1937  
       96 天前   ❤️ 1
    了解一下日本、美国(奥巴马 care 当初上线时的情况)、欧洲的政府或者传统企业的系统,就会发现都很烂,最多只能达到本国软件发展的平均水平。
    sky9401
        30
    sky9401  
       96 天前
    几千万的管理系统你自建不了的,不行你试试,这不是简单的表单增删查改。
    管理系统的核心实际上是对业务的深层次理解和抽象,很多细分领域还在定制化,就是每家客户的业务也不太一样。这家供应商的软件很菜,可能是历史包袱太严重了,但没办法,一个庞大的管理系统,开发人员换了一波又一波,很多现在的功能要依赖十年前的代码,架构更加不好改。
    sky9401
        31
    sky9401  
       96 天前
    另外,不要想着自建,还有一点就是保护本部门利益,这东西吃力不讨好。
    做的烂,其他各个部门都能喷 IT 部门,本身在国内企业,IT 部门的话语权很低。
    咨询公司+供应商模式,出了问题,先找咨询公司麻烦,再找供应商麻烦,好好当你的甲方多好。
    lancelotfh
        32
    lancelotfh  
    OP
       96 天前   ❤️ 1
    @drymonfidelia 类 Oracle 的国产数据库,我有 DBA 权限,经常上去监控资源使用量
    lancelotfh
        33
    lancelotfh  
    OP
       96 天前
    @yinmin 已经优化 3 周,数百个 SQL 了,光从数据库上只能解决部分问题,其他的还是得厂商自行解决
    hatw
        34
    hatw  
       96 天前
    是时候规划二期升级项目了
    lancelotfh
        35
    lancelotfh  
    OP
       96 天前
    @NewYear 您说的我很赞同,项目外包有很大一部分原因就是风险转移。我的思考方式偏技术,很多优化工作也应该是我安排下去,而不是我自己做。但是现阶段出问题,扣绩效真扣到我头上了,有时候就不得不插手,按我的想法强行让供应商去做优化了。
    tomatocici2333
        36
    tomatocici2333  
       96 天前
    做二期优化升级就是了..很正常的
    lancelotfh
        37
    lancelotfh  
    OP
       96 天前
    @lizy0329 真有这么多用户,实际用下来的在线人数也在三五千。招标的时候也都把这些情况写了的,合同里也有这些条款
    lancelotfh
        38
    lancelotfh  
    OP
       96 天前
    @tomatocici2333 现在查得严,不像早几年那样,糊弄糊弄就能随便验收。验收的条件就有稳定运行 XX 天,并且各种应用级、资源级监控也有,出问题的话,集团那边知道得比我还早。
    dododada
        39
    dododada  
       96 天前
    最近在做算法的推理项目,客户给的 6130+T4 ,然后 io 太慢了,销售那边不开心,说为什么这么慢,都是 T4 了,gpu 比较好了呀。

    然后我们解释,你这个 150 块钱的 cpu ,还要起飞不成?然后就没有然后了。

    搞互联网的时候,面对的是公司内部的产品经理,项目经理,部门经理什么的,toB 之后什么人都有,各种需求稀奇古怪。

    有个客户拿了一台海光 cpu + 海光 gpu 的机器过来,让我们做适配,我们也没搞清楚他从哪儿找过来的,反正就是不按你的要求来。

    华为的机器有内核要求,但是他们就是随便搞。

    所以很多时候能把单子拿下来,演示的时候不出纰漏就可以了;有的客户一分钱不掏就要这样那样,白嫖怪太多
    love2328
        40
    love2328  
       96 天前
    正常,不一定有能力的就能中标
    lancelotfh
        41
    lancelotfh  
    OP
       96 天前
    @paopjian 招标文件写了要求,合同里也有要求,但是厂商不重视,没办法, 扣钱吧,扣多了人不干了,拿着首付款跑了咋整
    trumpasjokerA
        42
    trumpasjokerA  
       96 天前 via Android
    国内没有软件公司,只有皮包公司,基本都是拿着几十年前的技术骗钱
    liprais
        43
    liprais  
       96 天前
    @NewYear 你这搁这种地方混的台面下的工作是一点不做啊,人家为啥去问你是真不明白还是装糊涂啊
    lancelotfh
        44
    lancelotfh  
    OP
       96 天前
    去年跟他们的技术负责人,就”为什么数据表不加索引“这个问题沟通过。他们的答复如下:
    1. 在过往项目中都是这样做的;
    2. 产品功能上,能按所有字段模糊查询,加索引没有意义。

    从那时起,我就开始摆,对于问题眼不见心不烦。最近问题出多了,扣他们钱了。索引也加了,字段类型也改了,业务也重写代码了。其实他们是有这个能力的,就不知道为什么一开始不好好干。总不能他们对内部的代码产出,一点质量管控都没有吧。
    chendy
        45
    chendy  
       96 天前
    @lancelotfh 外采系统最多被供应商坑,大不了不续签合同不给验收不给结款
    自建系统那可真是,自己拉💩自己吃啊,别问我怎么知道的
    Promtheus
        46
    Promtheus  
       96 天前
    因为资本不会去这些传统软件行业,只有资本青睐的地方技术才能上去。传统软件赛道窄,程序员工资也不高。做的东西主要是拼业务竞争力而不是拼技术。他们更多的是这块业务的行业专家,解决方案成熟。你要让他们搞技术什么高并发高可用分布式 那他们不行,那是互联网企业的优势
    lancelotfh
        47
    lancelotfh  
    OP
       96 天前
    @Promtheus 当时有很多互联网大厂投标,最后选这个民企,也是因为综合评分选的。以前他们做过下属二级单位的同类系统,没想到拿到集团来用就这么拉
    Pinealxx408
        48
    Pinealxx408  
       96 天前
    在未进入工作之前,我也和你一样认为大厂程序员一定是在创新,做着别人无法复制的工作,只有小公司才会复制粘贴,大厂的工程代码一定非常优秀,这样才能做出顶尖的产品。
    有幸入职某国内大厂后,滤镜碎一地(也有可能是我单纯做产品,要求简单)。代码大都是业务逻辑,并没有什么核心的东西。非说代码有多值钱,可能值钱在经过多代量产产品的验证,代码稳定性好一些。我一度认为此工作不需要多高的学历,随便找个懂这个语言的人,给他一阵时间就可以上手,非常容易,甚至近一年在做“标准化”。每个程序员也只是螺丝刀,把松动的螺丝扭一扭就好,产品做到用户不会容易触发 bug 的程度即可。
    op 想法应该是:”大公司的产品应该是高效的代码,优秀的产品管理“,这个可能是作为开发的思想。大部分消费者不是开发者,他们选择大公司产品考虑的是产品本身功能,还有可能是:1.售后 2.生态 3.品牌文化 4.产品故事 等,反正肯定不会因为代码差而不选择。
    hazardous
        49
    hazardous  
       96 天前
    工程抢过来不必自己做,十亿先拿掉五亿,接下来发包,两转三转,四五六七八转
    ala2008
        50
    ala2008  
       96 天前
    能用就好了,可能开发者就一两个人。。
    Promtheus
        51
    Promtheus  
       96 天前
    @lancelotfh #47 大厂投标 其实干活的还是这些小厂,我司就是给华为做这种的。其实大厂就出一个吹牛逼的人。
    Fule
        52
    Fule  
       96 天前
    还可能有时间因素,比如 2 个月的工作量要求必须 1 个月出货,其中还有 15 天在拉扯需求到底要什么。
    magicfield
        53
    magicfield  
       96 天前
    问就是客户自己也不知道自己想要什么,开发一阵就需要进行业务的大量调整,系统设计几乎成了摆设。
    资源也是层层剥削,最后一个千万级项目可能就一两个开发在做事,一个人要干开发测试运维的所有活,自己也拿不到多少好处,系统做不做好全看一点微薄的责任心。
    bthulu
        54
    bthulu  
       96 天前
    @lancelotfh 我公司有个人, 所有字段类型 varchar 一把梭, 你还不能说他, 一说就跟你急眼.
    atpex
        55
    atpex  
       96 天前
    @pkoukk 我觉得很好啊,最好全民公务员,这样大家都是人上人,提前实现乌托邦(
    Masterlxj
        56
    Masterlxj  
       96 天前
    @hazardous 我话讲完,谁赞成谁反对?
    nb85144
        57
    nb85144  
       96 天前   ❤️ 1
    @leegradyllljjjj 很多 bug 自己都不知道
    qq1147
        58
    qq1147  
       96 天前
    又不是不能用

    一个大一点的软件公司,100 个人里面懂技术的绝对不超过 50 个,其中真正负责核心的可能只有不到 10 个人,不出问题才怪了
    stardustree
        59
    stardustree  
       96 天前
    内部系统,要啥自行车。说白了,就是故障一个礼拜,也几乎无业务损失。并发、效率,这些都是要钱的。

    你看中航信之类的系统,它敢在性能、可靠性这些地方随便糊弄么,再看看这些系统花了多少钱。
    chashao
        60
    chashao  
       96 天前
    @atpex 全民公务员,大家都是人上人,那问题来了,谁是人下人
    post90sraccoon
        61
    post90sraccoon  
       96 天前
    功能都大差不差,没啥技术门槛,换言之就是大家都能做。那如何与别人拉开差距,那不就靠吹吗。
    ivvei
        62
    ivvei  
       95 天前
    @NewYear 除非你们公司能削足适履,不然这几个问题采购外部系统一样存在。要想周期短,那只能是买已有的产品改改自己用。但是需求匹配吗? 要说开发成本,软件是一锤子买卖吗不会有新需求的?新需求来了,供应商临时要加钱怎么办?供应商就吃准你迁移成本大拿捏你怎么办?而且供应商的软件一样有 bug ,出了问题供应商也不能给你兜底。哪怕你们公司向供应商索赔了,公司内的追责依然还有。
    Bingchunmoli
        63
    Bingchunmoli  
       95 天前 via Android
    @lancelotfh 一般是分包下去的
    xz410236056
        64
    xz410236056  
       95 天前
    @lancelotfh #8 自建你怎么拿回扣?
    8620
        65
    8620  
       95 天前
    如果一定要用国内对比国外,目前很多公司能做起来其中很大一部分是因为国外的产品进不来。竞争不充分,大家都有水分,那么水分就不会被榨干。以数据库来说,国内的一大堆自研数据库性能和稳定性都打不过十几年前甚至二十年前的 Db2 ,但是国内大量 Db2 系统却都在转国产数据库系统让运维受罪。
    flmn
        66
    flmn  
       95 天前
    这就是中国软件业的现状,没办法的
    gogozs
        67
    gogozs  
       95 天前
    这玩意儿是一锤子买卖吧,就像装修……
    lizy0329
        68
    lizy0329  
       95 天前
    @lancelotfh 几千人就别谈什么并发不并发了,人数*10 再来谈也是可以的
    lancelotfh
        69
    lancelotfh  
    OP
       95 天前
    @lizy0329 理论上集团内部几十万人都需要用,实际在线后面大概是 2 万多,按理说一般的信息化管理系统,是到不了这个用户数的
    lancelotfh
        70
    lancelotfh  
    OP
       95 天前
    @bthulu 要我的团队有这种人,能弄走弄走,弄不走转岗别干开发了
    bthulu
        71
    bthulu  
       95 天前
    @lancelotfh 你是团长吗? 是团长的话, 你未必能发现这个问题, 发现这个问题的人很大概率又不是团长
    saltedfishgames
        72
    saltedfishgames  
       94 天前 via Android
    @pkoukk 可以成立一个 it 部门接外包项目的嘛,很多上市公司也干这些项目的。甚至可以直接请外包搞一个项目,当然要驻场等项目完工就完结了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2758 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:05 · PVG 18:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.