我于去年底入职的银行金融项目 Java 开发岗位,同部门之前有两个干了三四年➕的老同事,加上我和另一个新同事共 4 人。 存在很多手动 shell ,Python 脚本流程解析非常复杂 JSON (对比我也构思出 Java 自动化递归解析方案,被否定,原因是出了问题谁负责?),工作交接基本没有,大部分都是安排工作遇到问题再给你讲。
我在遇到问题问老同事的时候,另一个老同事(女)就对我强调:上面对我们的要求都是中级开发巴拉巴拉……意思是我似乎不应该过于依赖他们啥的(不是第一次这样)
我个人看法时,工作流程没有任何文档,工作交接不存在任何系统性讲解,他们自己在讲问题时也可窥探出能力并不强,对这个💩山项目也是一直半解。又没人讲,遇到问题问一下还能被阴阳,我心理一直耿耿于怀每天看到她就想起她说的话,很不舒服
自我认知不是一个小气的人,但是她的话总是忘不了,而是每次工作分配,都是难度高的派给我,之前某个系统发版的热部署方案也就让我一个人来写,期间他们都是不闻不问,只关心进度,结果。我感觉这个热部署方案交给她写大概率她一个人写不出来。她们平时写的代码更是一言难尽,我看都不想看那种,警告满天飞
术业有专攻,闻到有先后。问个问题被这样阴阳,真是难以释怀,如果不是一起共事的同事也就罢了,关键她还坐我旁边,大家遇到这种情况怎么处理呢?
1
zhy0216 226 天前 via Android
6 字
|
3
zapper 226 天前
她们?估计早就拉好小群吐槽你了
拢共就四个人,向上做好汇报工作,能拿你咋地 |
6
kk2syc 226 天前
银行金融项目,存在很多手动 shell ,Python 脚本流程解析非常复杂 JSON ,工作交接基本没有,大部分都是安排工作遇到问题再给你讲
---- 银行的日常,呆久了你就能参悟了 我在遇到问题问老同事的时候,另一个老同事(女)就对我强调:上面对我们的要求都是中级开发巴拉巴拉……意思是我似乎不应该过于依赖他们啥的(不是第一次这样) ---- 教会徒弟饿死师傅,有时候不是不想好好交流,是迫于环境不能好好交流 她们平时写的代码更是一言难尽,我看都不想看那种,警告满天飞 ---- 有的时候不是没有警告就是最好的,不要这样子认为 |
8
me1onsoda 226 天前
就是你小气,没别的。她又不是你导师,搭不搭理你都是看心情,同级没有义务给你讲解。想想有没有可能你把人问烦了
|
9
NoOneNoBody 226 天前
结论:你想多了
这也是当代人的通病:先站立场再想问题 道理很简单,一看这个人员结构,就不是一个团队工作,实际就是一人负责一件事,从头到尾 你从团队合作去想,自然就啥都想不通了,你按个人工作去想,她的话就包含善意部分 —— 你不依赖别人,就是别人也不依赖你,各自负责,出问题责任就不能推到别人身上,大家都一样。反而你去改动一些旧习(或者说陋习),那是别人的工作,出事责任就分不清了,就是那句“出了问题谁负责?”的意思 |
12
Ashe007 OP @NoOneNoBody 我也感觉这件小事,自己想的有点多,但就是忘不了她的话,有些不舒服
|
15
s642153378 226 天前
感觉上面的几层都没认真读完楼主写的东西,楼主没什么问题。
新的工作项目内容新的环境,不了解的东西不询问同事询问楼上的吗?又不是经常问技术问题,能力有问题。 有多少公司新员工入职,规章流程没人介绍,业务没有规划没有培训,各个流程部门踢皮球,财务后勤养一大堆闲职,拿到手的员工手册还是零几年那版删删改改,之前的公司甚至还见过四年的老员工直接公司大群里 battle 财务负责人呢 |
16
an0nym0u5u5er 226 天前
年轻人做技术工作容易技术导向,觉得谁技术牛逼谁就牛逼。
实际工作中要业务导向,技术要服从业务,要服务于业务,要职位导向,工作由领导分配,完成之后要向领导汇报总结,最终绩效还要领导评判。 所以你讲的很多问题,从稳定性和投入产出比来看,你的想法未必就正确或可行,Python 能解析 JSON ,为什么要搞 Java 版本?你自己也说了出了问题谁负责,从管理的角度来说,这句话一个字都没错,银行的业务本来就稳定第一。 没有工作交接,但是遇到问题能找到人给讲,其实就已经超过了 80%的公司了,所谓的“交接”一口气给你讲完了,再改或者出问题的时候,你就自己能搞定了? 并不是说你的领导一点问题都没有,你说难度高的任务派给你,实际工作中,保姆式领导少,能冲在前面的领导更少,大部分都是牧羊犬式领导,你是羊,领导是牧羊犬。等你做了管理工作,其实你也不适合把自己的经历都拿来埋头写代码,不然光低头赶路了,你作为带一队人的领导,哪有精力抬头看天?哪有精力找正确的道路? |
17
Ashe007 OP @an0nym0u5u5er Python 解析的方案需要手动改很多文件啊,改成 Java 递归子层级 key-value 的方式可以实现自动化解析,注意递归深度,从理论上完全可行,我也起草过 Demo 实现了。
因为害怕担责拒绝更好更有效率的方案,造成的结果不是在拒绝进步吗?银行业务确实需要稳定优先,但事事都是这种理念作为决策基准(懵),才导致很多银行系统老牛拉破车的现状 至于你说的领导抬头看天,找正确的道路,我只看到两个老同事有空就玩手机看小说(他们就坐我旁边) |
18
cmdOptionKana 226 天前
很常见的职场霸凌而已,有人就有江湖,什么是江湖,江湖就是霸凌啊。
她帮助你,她有什么好处吗?如果没好处,她不乐意做,也很正常。 |
19
phrack 226 天前 via iPhone 1
python 解析 json 怎么都应该比 java 方便啊,怎么可能 java 方便呢,java 还得编译打包一下呢
|
22
yasumi 226 天前
只管自己的工作,不对团队负责。要么忍到晋升,要么提桶跑路
|
23
x7DnVcd9bA706oWp 226 天前
帮你是情分不帮你才是正常的(那你下次也没必要帮她),当然遇到这种同事有什么事情也没必要藏着掖着,下次分给你难度高的工作,你直接就说要不你来这个吧,给她上点难度;对于工作交接没有信息啥的,同事问不了那就直接找领导,并不需要因此怀疑自己的能力问题,基本信息不给怎么办。这里找领导还有个好处就是,他如果也提供不了信息最少能知道你处于什么状态如果进度慢了并不是你的问题。上面你提到的热更,那人知道自己能力不行然后你帮她了她还不自知?那下次就直接给她 ,要是做不出来你就一直等着,让问题浮出水面大家都看看,懂?
|
24
Ashe007 OP @duange7X24 不想撕破脸,并不是她没有帮我,而是我在问其他同事问题的时候她来恶心我(应该不是无意,因为不是第一次这样),让我不舒服。嗐,真不知该怎么做才能摆脱心里的膈应
|
25
Ashe007 OP @yasumi 晋升是不可能的哦,银行金融项目有很多系统,基本都是一个部门负责某个领域的几个固定 project ,如果有也只能轮得到她吧,我还是想干个一两年的,环境不好找工作啊
|
26
x7DnVcd9bA706oWp 226 天前
@Ashe007 调整心态,职场什么人都有,我曾经也被人恶心了,比吃苍蝇还恶心
|
28
Ashe007 OP @duange7X24 嗯嗯,感谢老哥理解
|
29
jvee 226 天前
银行项目代码能跑就行了。优化了没任何好处,改出问题了就得找人背锅
|
33
jvee 226 天前
@Ashe007 俺现在这个项目,代码跨度十几年了,不知道多少人开发过。老得业务下线 代码也不删,导致越垒越多,到现在想拆分微服务上云,已经没人能说得清到底哪些是目前在用的,哪些已经遗弃了,最终的解决方案就是 所有代码都保留,留给后面的人去解决🤣
|
36
Sawyerhou 226 天前 via Android
体制外靠能力赚钱,技术好底气就足。
体制内靠人脉赚钱,技术好卵用没有。 处理方法如楼上所说, 环境不会变,就看你能不能适应了。 |
37
EndlessMemory 226 天前
别老想着优化这优化那,做好自己的内容就行,言多必失,做多必错,既然进来了,要么适应,要么跑路
|
38
Meteora626 226 天前
外包还是银行本部开发?外包没有文档太正常了,
|
39
Ashe007 OP @Meteora626 外包,我关注的核心不是文档,而是同事之间的态度和关系,以及如何处理问题的方式。至于银行本部(开发和业务),都是有锅都往外包身上推(听老同事的吐槽,该岗位未亲身经历),之前干的一份外包也是——干最多的活担最多的责(产品需求都没搞清楚就让我开发,做出来业务说不对,然后我来加班加点改,最后项目奖金是本部项目部瓜分的,几个月累计 bug 量来扣我一个月绩效考核,而是很多 bug 还是之前负责开发的人制造,只是由我接手来改),太难了
|
40
jchnxu 225 天前
楼上说的都很有道理。但我试想一下一坨代码一个递归都不愿意写,那我看到了也本能的来气。
|
41
haikea 225 天前
既想把活甩给你干,她自己摸鱼,出了事你背锅,又想 pua 你,怕你干太好威胁她的地位,懂?
|
43
lesismal 225 天前
我最好奇的是:python 和 java 都没有成熟的 json 库吗?为什么都需要开发者自己来实现解析 json 了。。。
|
44
6i3BMhWCpKaXhqQi 225 天前
解决屎山代码和遗留问题可以用 AI 给你讲讲,比同事讲得还好。哈哈
|
45
iyaozhen 225 天前 1
很简单 就是你的眼界已经高于你的环境了。或者说大部分人都没啥事业心。
你来字节(大部分团队),你这些困扰就没了。当然字节确实卷,会有新的困扰,但适合想做事的人。 |
46
LUxiaoguo 225 天前
大家来 TG 群里聊聊 https://t.me/TGV2EX
|
47
sunocean 225 天前
躺平环境下你太卷你就成了罪人,这个很正常。既然选择卷,就不要太脆弱。
|
49
Ashe007 OP @ZGame 不是纯 Python 处理,结合 shell 脚本一起执行。当 JSON 结构发生变化,很多文件都需要手动编辑,再整合到 azkaban 定时任务去执行。
我不是说 Python 不行,而是现使用的方案设计太低级,我自己是 Java 程序员,因此选择用熟悉的 Java 实现自动递归解析,当 JSON 结构变化也可实现程序自动解构 JSON ,自动创建表并自动插入数据 |
51
Ashe007 OP @Ashe007 现有方案存在很多冗余操作比如最终目标表是 odps (支持可伸缩字段长度),然而其设计先解构至 postgresql (需要考虑社交设计表的字段长度是否适合当前 JSON 的 key 对应 value 内容长度),再将 postgresql 表的内容同步至 odps
|
52
xjngbla 225 天前
都是这样的,我刚入职也是什么都不知道,没人管你根本就
|
53
Ashe007 OP @xjngbla 离谱的是,招人新手不要,入职培训不教,工作流程文档没有。
金融项目还必须要求面试者有金融项目经验,游戏项目要求面试者必须有游戏项目经验。着实难理解…… |
54
superliy 225 天前
请她吃饭 跟她做朋友,做她的小弟
|
56
imokkkk 225 天前
干的越久越觉得 "出了问题谁负责" 说的没毛病
|
57
ZGame 225 天前
@Ashe007 #51 我觉得没有问题,将细节暴露出来 ,老的方案 是 script->workflow 。 如果某个阶段输入输出出现异常, 方便日志排查,你如果整合在一起了,你打断怎么排查? “因此选择用熟悉的 Java 实现自动递归解析”,你说的 java 能做的 python 照样能做...
|
60
Ashe007 OP @ZGame Java 也有日志帮助排查问题啊,感觉你总是在强调 Java 能做的 Python 也能做,我也没说 Python 不能做,我否定的是现有的方案设计太麻烦(如果你非要争个语言优劣的话,就此打住)
|
61
ZGame 225 天前
@Ashe007 #60 ..... 假如说,现在出现问题了, 老的方案可以根据工作流的面板去查找报错原因,定位到哪个步骤。按你的方案,只要出现异常,全部就要崩溃了。还要翻 log 日志 ,我不觉得你的方案更好。
|
62
Ashe007 OP @ZGame 我不需要你认为哪个方案更好,如果说你喜欢工作量与 JSON 结构复杂度成正比,你用就是了。根据工作流面板定位错误和看日志定位错误,我不认为哪一个更具有明显优势。
你的发言从始至终表露出一种自我带入,首先给我扣一顶 Java 能做 Python 不能做的帽子,然后说 Java 很难排查问题,现在又直接说有问题全部崩溃。没有测试环境吗?没有异常处理吗? |
63
Ashe007 OP @ZGame 遇到复杂 JSON ,十几个建表语句,一个表一千多个字段,你喜欢写你来给我慢慢写去吧,建好了还要调试字段长度( postgresql ),关键最终入库又不需要考虑字段长度( odps )
|
64
fredweili 225 天前
别人没义务帮你,困难先要想自己克服,想要别人态度好一点就工作之外搞好关系
|
65
chuck1in 225 天前
银行这种是这样的,他们应该是正式员工吧?
|
66
ZGame 225 天前
@Ashe007 #63 我的意思是你做的这个活本身就是 etl 的事情, 老的方案是脚本推到工作流,而你说的方案只是实现的自动化具体一个脚本。 script 本身就不固定具体的语言实现方式(java or python).... 如果考虑到风险,检测一下历史 json 和当前 json 比对不就好了。 在根据新的 json 去生成工作流的样板代码。 这不比你直接把流程都给干了要好。。。
而且如果你觉得 etl 处理麻烦的话,应该考虑的是建立一个数据平台,类似 dlinky 那种,运用一下 java flink or 其他的技术栈,给其他人带来更好的体验。 而不是说因为原来麻烦 ,直接把工作流程就给干掉。。。 |
68
imokkkk 225 天前
@Ashe007 #58 你说的也没错 可能工作久了 没这么足的干劲儿了 想要的就是少干点活 多摸会鱼 少点 oncall
说点可能不负责的实话 尤其是在自己明知道不会待太久的公司 对自己个人没多大提升的活 保证不出问题就行 不如空点时间多学点能提升自己的 哪怕是刷刷题 单纯为了以后面试 |
69
Ashe007 OP @ZGame 有没有可能是你自己思想太固化?我在 Java 程序中使用策略模式,根据不同 JSON 路由到不同 bean 去执行,一样可以达到工作流的效果,实现各个流程互不干扰。
《因为原来麻烦 ,直接把工作流程就给干掉。。。》你每次反对的点为啥都这么奇葩? |
72
exmario 224 天前
银行 it 的核心从来都不是技术多 nb ,而是出了问题不背锅
你技术 nb 上天都没有意义的,只要有出问题的风险,那就不能动 |
73
jipf9046522 224 天前
银行是这样的,只能靠自己熟悉。刚开始上手肯定是比较难搞,文档之类的几乎是没有的,只能靠问
|
74
hadesxiong 223 天前
在相同的环境中呆过的人来给你补充个视角:
1. 大方向上,国内所有的金融行业的核心系统都是非常老旧的,目前系统迭代的方案基本就两个,要么就是核心系统功能前置到客户系统,要么就是走中台化,两个思路背后都是要把核心系统功能剥离掉; 2. 在 1 的基础上,结合国内金融行业的特殊情况,你可以留意下你们行内的开发流程和人员配置,讲不讲软件质量管理(当然我知道的大部分不讲,讲的也是有名无实),如果没有软件质量管理,什么都是瞎扯了; 3. 以我接触到的国内金融行业的科技部门,要么核心系统/功能/平台自研,非核心系统/功能/平台外包,要么就是行内员工负责设计(可能也就是讲个思路),外包负责开发落地;结合 2 ,你可以留意下具体留给开发人员的时间有多少,是否涉及频繁变更需求?是否有人做测试案例报告等等; 当然,以上这些都是我碰过的坑,如果这些侥幸你都没碰到,再从人际关系的角度去了解下: 1. 是不是你的收入和他们不一样?比如高了? 2. 是不是有派系/小团队斗争,这个你只能适应融入,没办法反抗; 这个环境下,并不是做事做对了就好的,如果说做事做好,技术过硬是 10 分的话,满分可能在 100 分左右,剩下 90 分其实非常。。玄学,你应该能明白这里面啥意思。 |
75
Ashe007 OP @hadesxiong 牛,概括的很全面。
|
76
Ashe007 OP @hadesxiong
1.目前是中台化。 2.几乎没有质量管理,程序能跑就行。 3.行内业务出需求,行内产品排期,外包开发。需求临时变更略显频繁,没有测试,自己测。 收入可能比他们高一点点,但是只对另一个新同事透露过。 派系斗争应该没有,毕竟我所在部门就 4 个人 |
77
liuzhen 223 天前
银行 it 用的通常都考虑稳定第一,有的项目还在用 jdk1.5 你想想,"出了问题谁负责"站在她的立场没毛病,都是老油条只想混口饭吃,互相理解,这种环境靠你应该很难改变,只能适应,或者跑路
|
79
hadesxiong 223 天前 1
@Ashe007 所以这个问题基本无解,技术实践不是那么好实践的,有些同学在找工作的时候非常在意的就是平台,当然在意平台的并不只是平台足够大,而是要平台提供足够的实践机会以及平台自身的运转需要正常。可是国内的传统金融行业,从银行到保险再到券商,全都是一副 d 样,且不说你今天只是个中级/高级/资深开发,哪怕把你们行科技部老总这个位置给你,你依然解决不了这些问题。再一言以蔽之,你所在的部门之于银行就是个成本部门,成本部门想改变流程和规范(公司层面),基本是不可能。
|