众所周知,一般一个公司会有很多产品,一个产品背后的服务也不止一个,也就是说有一个产品背后对应着多个项目,在某福报厂,大大小小的项目数不胜数,基本上只要写个东西都要整一个单独的项目出来。
我有时候很好奇,为什么要搞那么多项目出来,但是仔细一想,整个新项目才有新 KPI 啊
这些大大小小的项目,有些可能只是几个接口,几个定时任务。。。所以也算不上很重要的,而且都是内部项目,并不是面向普通用户。所以也没有运维、测试等配套人员,只有你自己,基本上就是想咋搞就咋搞。
1.发布全靠手动。福报内部有一个叫作 aone 的容器化发布平台,但是配置繁杂,很多 p7 大佬也不会,或者懒的搞,直接就是打一个 rpm 包,然后 ssh 到生产服务器上面手动安装发布,写一个 shell 脚本保活就算完事。
2.看日志要到生产服务器上。话说但凡是一个项目少不了业务日志,出点问题的话总要看日志排查,但是呢,我所接触的项目很多都没有对接日志平台,类似 elk 这样的东西福报厂内部也有。但是很多 p7 大佬不知道是不会还是懒。有时候看个日志就 ssh 到服务器上面 tail 。但是外包狗是没有生产服务器权限的,所以你懂的。。。
3.数据库设计很烂。所谓的核心库,里面有几百张表,建表根本没有一个统一规范,或者是有规范但是没有人监督执行。有些表没有 id 主键,有些表是复合主键,表的时间字段有叫 time,有叫 utime,还有叫 gmt_created,还有叫 created_at,一个库里面这样的设计比比皆是。
更不要说什么数据库设计三范式了,我怀疑这些 p7 大佬们压根就不懂 mysql,其实也正常,因为他们大多数并不是主要搞 web 开发,对于他们来说,mysql 就是存个数据,也不用考虑性能问题。可是倒是苦了我们这些写 CRUD 的外包狗。
以上内容纯属虚构,如有雷同,纯属巧合!
1 changchong 2021-08-19 20:50:42 +08:00 外包一年能拿多少个? |
![]() | 2 dragonszy 2021-08-19 20:52:02 +08:00 关于 3 可能是接手过来的(传统行业 /上市公司 /国企 /大型民企)历史遗留数据库设计。作为只懂最基础 SQL 的业外人士经常看到某些设计也惊为天人,设计缺陷硬生生导致数据 x5,速度-10 。 |
![]() | 3 wangbenjun5 OP @dragonszy 并不是接手,只是经手的人太多了,都是按照自己的风格想法来设计 |
![]() | 4 wangbenjun5 OP ![]() @changchong 20 个左右 |
![]() | 5 dynastysea 2021-08-19 20:56:12 +08:00 ![]() 不知道你是否在别的大厂干过(对比鹅厂),如果你干过你可能会觉得福报厂做的真的是很牛逼。。。这些基建真的是很强。。。 |
6 pigspy 2021-08-19 20:57:15 +08:00 哈哈哈,我明白你的感受 大厂里面的混子真滴多 |
![]() | 7 wangbenjun5 OP @dynastysea 没错,这些基础通用平台都有,福报厂一般都是拿开源的改改,内部换个牛逼的名字,但是就是很多人不用,或者用起来太麻烦。。。 |
![]() | 8 sagaxu 2021-08-19 21:01:13 +08:00 via Android 存活比较久但很久没重构过的项目,可能都这样吧 |
![]() | 9 jxxz 2021-08-19 21:41:35 +08:00 via iPhone 好奇哪家外包 |
10 cs419 2021-08-19 21:57:37 +08:00 ![]() 只能说源码也是人写的 光鲜亮丽的小姑娘 可能俩星期都不洗脚 |
12 EmiliatanTenshi 2021-08-19 22:05:16 +08:00 ![]() 第一点被人诟病很久了,套用一句老话,你看到的是一堆 p9p10 老板撕逼后平衡得出的产物,也是没办法 第二点不清楚集团什么情况,蚂蚁的合作伙伴(也就是通俗的外包)是没有生产的任何权限的,包括服务器和日志平台,所以线上问题只能正式员工查。 第三点,不是没有规范,而是规范一直在迭代,之前的 time 和 utime 应该是历史产物,蚂蚁最新的标准应该是 created_at 。 大厂要吐槽的点数不胜数,不过就跟了解技术的实现细节一样,去研究一下背后的原因,有时候也是蛮有意思的 (当然吐槽还是要吐槽,这样可以更有底气地吐槽 |
![]() | 13 wangbenjun5 OP @EmiliatanTenshi 哈哈,肯定有原因,我不太清楚都是这样,还是仅我接触到的是这样。不过个人感觉还是开发的不作为原因居多,只图完成项目,说白了 KPI 导向,我说这些点搞好了也就那样,不搞项目照样能跑。 |
![]() | 14 ufan0 2021-08-19 23:19:58 +08:00 福报厂是我所在单位的外包,你说的情况全部得到了很好的体现,其代码质量令人心累,一个项目重构五次了还是难以看下去,已经准备不签字了,要么我走人,要么他们走人。 |
![]() | 15 wangbenjun5 OP @ufan0 躺平就行了,我是啥也不敢问啥也不敢说,默默填坑 |
![]() | 16 yyfearth 2021-08-19 23:42:16 +08:00 积年累月的项目 这些都是很正常的 只要所有项目不是一个小团队并且人员基本上保持不变 否则不可能做到完全统一和一致 团队大了 什么人都有 而且也会有自己的风格 要保持最基本的一致只能靠一些工具来限制 像数据库这种 很难控制的 还有历史遗留问题一大堆 数据一多 迁移成本过高 |
17 ztcaoll222 2021-08-19 23:43:37 +08:00 @akatquas #11 谷歌搜这个关键字,第一条就是这个贴 |
18 clearc 2021-08-19 23:48:37 +08:00 题外话:p7 也配叫大佬。。。 |
19 kerro1990 2021-08-20 00:02:56 +08:00 农民工工地不一样很乱,更何况程序员也属于农民工 |
![]() | 20 wangbenjun5 OP @ztcaoll222 不是吧,搜索引擎这么快的么。。。 |
![]() | 21 wangbenjun5 OP @clearc 哈哈,p7 现在是主力,网上 p8 很难升了 |
![]() | 22 levelworm 2021-08-20 02:19:34 +08:00 via Android 正常,其实去的公司多了就知道本质上大家都是草台班子。 |
23 xjlnjut730 2021-08-20 06:10:01 +08:00 大部分公司的历史项目都这样。就算现在新起一个项目,换了一波人,很快就变形了。主要还是看经手人的个人风格。在人员变更很频繁的情况下,显然这是不可控的。学会接受 or 改变吧~,大部分还是忙业务实现的,代码规范、数据库规范很多时候都是次要的属性。对开发而言,属于本职工作,但是很难体现在个人绩效里,除非领导是一个非常重视代码规范的人,很显然,这种领导凤毛麟角,而且一般这种领导上不去,^_^。人的精力也有限,有限的精力那肯定往有希望晋升,有希望涨薪的方向去了。 |
![]() | 24 swulling 2021-08-20 07:33:28 +08:00 via iPhone ![]() 记得有人说过,当你充分接触社会,你会惊讶的发现大部分组织都是草台班子。 |
![]() | 25 Webpoplayer 2021-08-20 08:37:45 +08:00 提取楼上#10 楼的话 “光鲜亮丽的小姑娘 可能俩星期都不洗脚”,可以说很形象了。。。 |
26 Cbdy 2021-08-20 08:39:42 +08:00 via Android 楼上都谈什么历史项目,历史问题云云,事实是新项目也是如此,不断重复历史罢了 |
![]() | 27 sadfQED2 2021-08-20 09:30:21 +08:00 via Android div class="sep5"> 哈哈哈,百度员工表示代入感很强,我们这边也是这个鬼样,一个接口都要新启一个项目,人员多换几次,项目仓库都找不到了,各种 kpi 产物 |
![]() | 28 dwlovelife 2021-08-20 09:31:37 +08:00 多问一句 要是 20 个服务器集群这种 怎么 tail |
![]() | 29 wangbenjun5 OP @dwlovelife 根本就没有集群,很多服务都是单实例跑 |
![]() | 30 AngryPanda 2021-08-20 09:58:39 +08:00 ![]() KPI 导向问题,国内大小厂大多数都是重产出不重质量。 一种说法叫做实用主义,能用就行;另一种说法就是急功近利。 |
31 justRua 2021-08-20 10:04:31 +08:00 内部平台自己人用的估计就随便了,都单体服务了肯定是不重要的,能跑就行了 |
![]() | 32 wr516516 2021-08-20 10:04:54 +08:00 不都走的 linkeE 发布吗 |
![]() | 33 dynastysea 2021-08-20 10:08:51 +08:00 @wangbenjun5 不过可能也是看部门,可能有些部门业务不行,投入的也不够,据我了解到的类似淘系、阿里云、蚂蚁这些核心部门起码在你说的这些点上还是搞的比较正规的。 |
![]() | 34 Torpedo 2021-08-20 10:09:07 +08:00 数据库设计我的感觉是,你看着一堆表,都是一堆人不断往上面加的结果,没有一个人做通盘考虑的 |
![]() | 35 wangyzj 2021-08-20 10:29:19 +08:00 见过 P7 不会 git 的吗 |
36 sgissb1 2021-08-20 10:41:51 +08:00 ![]() p7 不会这不会那怎么了?会写 ppt,精通各种黑话,影响了评级么?价值观考核只要不及格,你就算会造火箭又能奈何? 要搞清楚抓手是什么,摸索的过程中要新城一套核心的打法! |
![]() | 37 arthas2234 2021-08-20 10:42:22 +08:00 ![]() 高情商:在不断尝试中寻找突破 低情商:瞎折腾 |
![]() | 38 defage 2021-08-20 10:42:27 +08:00 都说是小项目了,你都说是不知名了,很可能都没成气候,整的人模人样有什么鸟用。怎么快怎么方便怎么来也是种项目节奏 |
39 NCZkevin 2021-08-20 10:47:37 +08:00 大厂几万人,不同组情况完全不一样,你这种情况都是边缘部门无关紧要的服务,毕竟这种服务也就是 KPI 产物,随便糊弄下就行了,淘系那边对服务,日志这些方面要求还是很高的,基本都是按照规范来做。 |
![]() | 40 hiwind 2021-08-20 10:50:25 +08:00 有没有 Google MS AWS 的大佬爆料一下,国外大厂也这样吗? |
![]() | 41 mengjue 2021-08-20 11:00:21 +08:00 这个其实也就是你是外包的原因了,只愿意吐槽,没有想过为啥这么做,或者我要怎么做的才能更好?举个例子好了,你说的 ELK 系统为啥没有像外部那样搞的原因时 ELK 没发容纳这个平台级别的日志,所以他们搞了一套自己的,通过 hadoop 归集,然后放在一个统一的平台搜索。 |
42 x940727 2021-08-20 11:03:51 +08:00 @Torpedo 通盘考虑的人不是离职了就是升级了,想找一个能通盘接手的人的难度可是非常大的,尤其是在大厂内部 KPI 还逼得紧的情况下就更难了。 |
![]() | 43 matrix67 2021-08-20 11:11:51 +08:00 ![]() @dejavuwind #40 特斯拉之前的员工有爆料过的 https://news.ycombinator.com/item?id=17835760 1. 我曾经在 SpaceX 的团队中工作,该团队开发了一款名为“WarpDrive”的软件。它是一个庞大的单体 ASP.NET 应用程序,大量使用 ASP.NET WebForms 完成,而当我在那里工作时,ASP.NET MVC 的缓慢前沿逐渐增长。该应用程序几乎负责运营工厂的所有工作:库存、供应链管理、成本分析等。Elon 是 Windows 的忠实粉丝,并努力推动使用 Microsoft 技术运营整个商店。值得庆幸的是,火箭通过高度定制的 Linux 安装飞行。 2. mode x 和 s 和后端之前通信是挂着 openvpn 的。 3. centos 6 上跑着 ruby on rails 4. 。。。。等等 不翻译了 |
44 x940727 2021-08-20 11:13:26 +08:00 @mengjue 内部人都不搞,指望外部人搞?服务器怎么申请?而且搞出来谁维护?外包没有责任去帮甲方变的更好,而且也基本上没资格查询线上的日志,你这种结果论的人是真的令人害怕。 |
![]() | 45 OMan 2021-08-20 11:21:18 +08:00 ![]() 人和代码,有一个能跑就行。 |
![]() | 46 mengjue 2021-08-20 11:24:26 +08:00 @x940727 今天闲的慌,再回复你一次好了。我讲这个实例的意思是,每个决策都是有背景和 tradeoff 的,仔细研究这些决策背后的根本原因,有利于帮助自己成长,比如说日志这个事情,如果跟多 infrasture 那边的人交流下,就会明白原因了。阿里系虽然名声不堪,但是里面的技术牛人还是外边不能比的,更不要说跟一个外包比。 |
![]() | 47 wangbenjun5 OP @mengjue 兄弟,你这话说的,我要是能搞早就搞了,主要是没权限。 |
![]() | 48 wipbssldo 2021-08-20 11:45:30 +08:00 ![]() @mengjue 看完你写的,我也不太明白「发布全靠手动。看日志要到生产服务器上。」这些决策背后的根本原因,有哪些利于帮助自己成长 |
![]() | 49 hiwind 2021-08-20 11:46:51 +08:00 @wangbenjun5 盲猜一下 @mengjue #46 这位怕是利益相关吧?在线答疑? |
![]() | 50 hiwind 2021-08-20 11:50:08 +08:00 ![]() 看了半天才知道 infrasture 其实说的是 infrastructure 基础设施 |
![]() | 51 zjuster 2021-08-20 12:10:03 +08:00 阿里的这些数据库设计结构,是现实,但是没人能解决,或者说没必要解决。实际上在这种数据结构下面还能稳健运作,是阿里的技术功底。 这么多年技术迭代、业务变更下来,在人员变动较频繁的情况下,数据库设计规范是不可能实现的,你看到的一个数据表可能是三四个人接手过的,或者有十年历史的。 aone 本身是很强大的工具,上手太难,业绩重要的情况下,很少有人会好好用。 |
![]() | 52 zjuster 2021-08-20 12:14:16 +08:00 很多问题 一些毕业生会问你怎么不按照书上写的做呀? 现实就是书里、实验室里的工程项目,和业务线上运作的底层逻辑是不同的,首要目标也不同。 好的代码规范当然有用,有一个这样注重技术规范的领导,对整体部门稳定性有大好处,但这样的领导很快就会有精力牵扯项目。技术高 p,要推广技术,要考虑饭碗抢业务,给手下弟兄争利益,这样的背景下,规范优先级着实不高。 |
53 jakezh 2021-08-20 12:15:01 +08:00 据掉福报厂 P8 offer 的飘过 早就听朋友说了,不知道 infra 组整天加班在加些什么 |
![]() | 56 Joker123456789 2021-08-20 12:49:54 +08:00 都是赶着发布的,使用者也不关心底层,反正又不是他们维护。 他们只想快点用起来。 这是世界通病,作为一个新时代的农民工 没办法的。 |
![]() | 57 onionKnight888 2021-08-20 13:05:32 +08:00 就好奇问问,p7 升 p8 难吗 |
58 js8510 2021-08-20 15:20:18 +08:00 有时候就是没必要啊。等各位工资更高了,不这么卷了,人力成本上去了,自然自动化程度,工程质量就要被迫提上去。p7, p8 也不过是和您一样的打工仔。代码人人都会写,不是你写的多,写得好就能升职加薪的。到了这一步,你要给上头拿出来可以量化的成绩。 如果各位工资再高一点,并且不加班,招不到这么多小弟人海战术。业务需求还是那么多,那肯定有一帮 ledership 站出来我们要 better engineering 。 |
![]() | 61 yl666 2021-08-20 15:32:57 +08:00 不过人家的业务理解能力确实很强,各种切入点都想都很完美 |
![]() | 62 SlipStupig 2021-08-20 15:36:23 +08:00 @clearc 最少也得是团座? |
![]() | 63 janxin 2021-08-20 15:40:49 +08:00 阿里现在 P7 比以前水多了,尤其是人员扩充频繁流动大的前提下 |
![]() | 64 xingguang 2021-08-20 16:17:25 +08:00 呵,我当年两年换了三个换汤不换药的框架,美其名曰更先进的组件,两年换了有五个 leader,所以我为什么当初 20 年疫情那么严重的时候果断换工作,实在呆不下去了 |
65 Muyiafan 2021-08-20 16:29:35 +08:00 没有集群,单实例可太真实了。 |
66 EthanDon 2021-08-20 16:52:21 +08:00 笑死,怎么感觉在说我厂。。。 0. 从零开发一个项目比在老的项目上改要稳很多快很多,所以就有一堆微服务出来了 1. 这个没见过 2. 其实很多大厂业务很忙的,人员更换又频繁,配套的工具虽然多,但是得花时间去学,所以有些服务就是先上了再说,先跑起来再说,就变成 shi 山了 3. 有可能这个表是实习生建的 /有可能这个组业务太忙,没时间 review 这些 /有可能这个组压根就没有技术大佬 其实想明白了大厂的一部分体力主力军是应届生甚至实习生,就释然了 |
67 lplusk 2021-08-20 17:35:07 +08:00 同福报厂,你所在部门的情况看起来是工具效能同学和 SRE 不太称职 or 业务不太重要,所以相关流程、工具的使用做成这个样子。 |
![]() | 68 Bigglesworth 2021-08-20 17:56:19 +08:00 @janxin #63 水太多了,甚至培训班出来都能上。。。 |
![]() | 69 loryyang 2021-08-20 17:56:21 +08:00 ![]() 有几个因素造成: 1. 短期 KPI 导向,长期看变动过大 2. 人员素质不齐(我更倾向于培训不到位) 3. 工具支持不到位 以上因素重要度依次递减 |
![]() | 70 still97 2021-08-20 18:02:44 +08:00 g,怎么跟我们一个小公司一样,我每次都吐槽字段名变来变去,一个项目好几种日期名,吐了。。。 |
![]() | 72 guoyuchuan 2021-08-20 20:19:12 +08:00 楼主加个微信聊一聊。 |
73 roundgis 2021-08-20 21:19:59 +08:00 via Android 又不是不能用 |
![]() | 75 AltairT 2021-08-21 18:05:29 +08:00 aone 和 sls 都不接嘛? ssh 到服务器上看日志也没啥,有时可以更快定位问题。 外包不给生产权限很正常,生产权限本来就要严控。 |
![]() | 78 liudengchn 2021-08-22 22:39:05 +08:00 感觉在说我厂,太体面了 |