前情提要:
过完年之后,因为手头项目暂停,op 暂时没活干,开开心心带薪学习。
然鹅老大要求每个部门都要开周会,为了周会有东西讲,所以被迫接了点屎山代码
刚开始接的时候,问了屎山作者(以下简称 A),为啥数据库的主键全是 char(19) ,看到这个设计当场想骂 A 了,不过忍着说了下,不要用 char 当索引。这是第一次说教他。
然后过了一个礼拜,我又问他,业务流程好像有问题,然后跟他说要改,然后部门负责人也跟他说要改,结果他说让我改(这次还是忍住没骂他),然后我也懒得理,不去改了。这是第二次说教他。
接着这周,因为我们决定要去重构前端,以及他的后端代码,然后让他梳理后端业务逻辑,结果他死活推脱,说我们先重构前端,为什么要他急着梳理后端逻辑(这个时候我隐约感觉到他是不想让我们知道他的代码烂)。于是我就去跟部门负责人去啃下他的后端屎山代码。吃了 2 天屎山代码后,今天周会就吐槽说为什么要去他梳理业务逻辑,说单纯看他代码,要看到方法最下面才知道返回什么( java 代码,接口返回 map ,最怕看到这种代码)。然后就说看他的代码看的很难受。这是第三次说叫他。
因为开会只是内部的团队,只有 4 个人,没涉及到领导。 于是 A 当场破防,瞪着大眼睛,脸色都黑的那种,直接说了:“我真的很烦你这种整天说别人代码写的不行。做好自己的就好了啊,管别人这么多干嘛”。 我当场人是懵的,没想到他说这种话。 于是我就说,“那我们是接手你的代码啊” 然后他又重复上述的话。
虽然 op 情商很低,但是 A 的情商也高不得那里去。 A 的项目,开发了一年半,连个后台功能都不完善,还要别人帮他去搞。 然后经常迟到早退,还有请假(最离谱的是去年国庆连续请了 4 天,连着国庆爽玩)。搞得项目没搞完,要让其他人帮忙开发,难道自己不反思下,还要骂 op 。 这当然跟部门的负责人不理不管有关系,主打一个放养。 最后跟其他同事聊了下,如果 A 再过 2 周再不输出业务逻辑,就跟大领导聊了。 op 认为,A 是团队毒瘤,技术不行,工作态度也不行。 不知道各位怎么想,哈哈,今天的好心情全被这货给毁了。
102
woodfizky 263 天前 1
你应该年纪不算大吧?
有些建议: 1 、平级问题私底下向上反馈,或者私底下给平级同事建议,不建议过早的进行公开批评,也不应该用说教的方式。 如果平级同事不友好/工作效率差影响了你的工作,而且你的上司也不积极处理,那就再跟直属上司争取下,如果都有问题的话,再考虑是不是要越级向上反映,当然一般来说直属上司会帮你处理,不行的话可以考虑转岗或者跑路; 2 、因为同事休假时间长+遗留问题不主动负责,心生怨恨,我只能说没必要,而且也不应该。总有一天你也会遇到需要额外休假的情况,你不希望你的上司用你这种不希望别人休假的心态来看你的休假吧?同事不主动负责交接是一回事,休假是另一件事,要分开看; 3 、技术方面作为平级同事没有必要戴上鄙视的滤镜去看别人,即使别人考虑不周或者实现方式不佳或有漏洞,你应该只在技术层面记录/反馈问题;你是别人上司你才考虑人事问题,别让这些影响到自己的生活和情绪,也别让别人难办,狗急跳墙,可以适当给点台阶下; 4 、技术或者项目遗留历史问题,有些项目最开始需求不具体不明确的时候,实现方式不好的可能性是比较大的。代码烂归烂,可以客观找论据批判,别上升到人不行; 另外除非整个团队有强硬的代码规范要求或者招聘的时候就有针对性的筛选,一般人与人之间的代码风格就是会有差异。平级情况谁接手谁代码,接手的都容易不爽,还是那句话,适当给台阶下。 |
103
yosoroAida OP @woodfizky 谢谢你的建议。我也想过是我说的有点过,对方也是找个理由去爆发。后面找公司要看看团队氛围才行。年轻人说话的确有时候是比较激进,哈哈
|
104
dogeee 263 天前
@admin7785 项目交接确实很正常,但是处理好自己的任务不是应该的吗?明明有很多种做法,这个同事选择了任务没完成人情世故也没处理好的一种,更何况他是为了玩乐,人有意见也很正常吧?
|
105
exploreexe 263 天前 2
OP 的情商低的可怕,允许自己带薪学习,不允许同事摸鱼。
今日留一线 他日好相见。 还管人家什么迟到早退请假,关你鸟事?你干好你的事就完了,还精神资本家了。 代码写的垃圾,你愿意改就改,不改垃圾吧倒,这是分配给你的工作,按你这尿性咋不自己认真工作了? 现实中遇到你这样的同事,估计会很闹心。人家怼你活该 |
106
yosoroAida OP @exploreexe 所以说,队友让你三番四次擦屁股,你一点怨言也没有噢,你真棒。
|
107
aliveyang 263 天前
直接不接他的代码,只接他的业务,整理业需,然后重新开发
|
108
yosoroAida OP @aliveyang 我刚开始也是这么想,负责人让他去整理需求,然后找各种理由去拒绝,问他什么时候开始做,他含糊不清,表现得极其抗拒。于是才有了读它屎山代码这一步。
|
109
dudubaba 263 天前 2
他说的对,你是闲的没事找事。 你如果是他领导你可以喷他,如果是同事干你鸟事?人家代码好不好,由人家领导决定绩效,职场中还是不要手伸的太长,哪天裁员搞不好人家没被裁,你却被裁了,因为生存的规则根本不是代码好坏决定的,人情事故是占最大头的。
|
110
sks4728 263 天前 2
还是看实际吧, 有的公司在有的情况下,只要能实现最终需求 你管它有多屎
|
111
yosoroAida OP @dudubaba 是吧,我也想拿 n+1 好久了,等一个机会
|
112
drymonfidelia 263 天前
@est varchar 当主键有什么问题?我们几亿条记录的表主键是 varchar 也没遇到什么问题
|
113
FreshOldMan 263 天前
其他不谈,请假又没扣你工资,为啥要记这么清楚,不请假你涨工资吗?还有多思考为什么你会碰到这些烂人,你想你如果在微软,英伟达,OpenAI 还会有这种事么?
|
114
yosoroAida OP @FreshOldMan
他请假,导致我要去擦他的屁股,你气不气?还是三番四次 |
115
qiaobeier 263 天前
@yosoroAida #95 我在外企十多年了,什么样的屎山我没见过,印度的,日本的,台巴子的各种独特风格我可全品尝过了。比起他们,国人算是很不错的了。
|
116
somebody1 263 天前
|
117
aliveyang 262 天前
@yosoroAida 他自己的事不做,你急啥,你也推脱撒,直说看不懂他的防御性代码
|
118
iyaozhen 262 天前
怎么说呢 有些人代码懒,你说他是没用的。让他梳理业务逻辑也是不可能的,你自己梳理,有问题问他,他能回答就算配合了
如果你有权,那就 CR 卡他一周,他就知道了。 历史代码没必要纠结,我敢说你重构他的 100%要搞出问题,错上加错是可以运行的,你改了反而可能出问题。 |
119
weeei 262 天前
问一句,你沟通的目的是啥,想让他痛改前非,叫你一声哥,以后唯你马首是瞻?或者他回去后反思自己,把代码写的整整齐齐?或者有什么其他改变?
很大概率是怼你一脸,职场常见的。 比较好的处理方式就是把因为他造成的问题在群里抛出来,只对问题不对人,有脑子的领导懂的都懂了。 你和他平级,他肯定怼你,跨部门更甚。 |
120
yosoroAida OP @weeei 缘由是这样的,一开始让他去整理业务逻辑,结果他各种推脱就是不想整理输出。于是我就拿了他代码晦涩难懂,我看这个接口要什么参数,返回什么结构,都要去深入看一遍他的代码才知道,希望他能输出文档。结果这就直接把他给弄破防,才有了后续的不愉快。确实以后只能跟领导反馈,如果领导不解决的话,那还是改变自己吧,毕竟改变自己比改变别人容易,要么忍要么跑路,哈哈。
|
121
yosoroAida OP @iyaozhen
确实,重构风险是挺大的,能正常迭代都是在原来的项目上继续添加代码,即使是屎上雕花。 有意思的是,他怼完我平静了之后,我问他:“你知道为什么我们要决定重构你的后端?”,他说:“那当然是优化”,既然他这么认为我也不反驳了,免得又拿他的屎山代码又吵一架。 |
122
mumbler 262 天前
@yosoroAida #46 成年人只做筛选,不会去改造别人,你心智根本不成熟
|
123
yingqi1 262 天前
我也分享一个同事的例子,上班 7 个半小时,搞微商 4 小时+,外加上抽烟/带薪拉屎半小时+。
感觉是培训班刚出来的(比如,git/last day 一些工作上用的术语都不知道的),伪造多年工作经验,职位跟我相同(不清楚工资是否一致)。注意,这并不意味着我看不起培训班,我之前大三也是看培训班视频学习的。 不怎么负责任,遇到系统周末报错,他不处理/不回复,紧急的我们帮他处理,不重要的则等他周一处理。 领导安排的任务,态度消极,能拖就拖,就是纯躺平,遇到不会的直接拒绝接等等。 有时,一些本属于他职责范围的任务也需要我来帮忙处理。有时,没有现成解决方案的任务,我还得提供解决方案给他。 我们领导也是老好人,已经润了,远程工作的。 所以,OP 会不会平衡点。 |
124
yosoroAida OP @yingqi1 他基本和你队友很吻合,看来哪里都有这样的人呀
|
125
yosoroAida OP @mumbler 是的,你相当成熟。
|
126
yingqi1 262 天前
@yosoroAida 还得羡慕我同事,还能搞个副业赚个外快。
不都说"世界是一个草台班子",真的是哪里都有的,公司越大,越能遇到的越多,只是程度不同罢了。 |
127
yosoroAida OP @yingqi1 是的,传统公司也就更严重了
|
128
holinhot 262 天前 via iPhone
干活非常取决于态度,态度好都不一定干的好,更别说态度不好了。
|
129
yosoroAida OP @holinhot 所以说这班上的想跑路了,哎
|
130
E1n 262 天前 via Android
你觉得团队不行跳出来啊:)
|
131
chuck1in 262 天前 via iPhone
这个人代码写的烂坑了团队居然还不让人说了?现在都是些啥风气啊搞不明白……
op 有句话可以参考,就是首先你们公司本身就是摆烂体制,在这种体制下你除非是真的想往上面爬,不然没必要太上心。如果对方东西太烂,然后让你来接手,你发现这个人无法合作,你就报给上级,让上级处理就行了。除非他按照你的方式给输出,不然没法接手合作。 把这种问题丢给上级来处理确实更好一些。 |
132
philonic 262 天前 via iPhone
一看 op 就是个小青年
|
133
chuck1in 262 天前 via iPhone
另外公司还招人吗,远程可以吗。
|
134
yosoroAida OP @chuck1in
是的,我想跨上级处理了,真的挺难受的,哈哈 |
135
yosoroAida OP @philonic 年轻人说话是比较冲的,忘请谅解
|
136
yosoroAida OP @chuck1 三四线传统公司,估计没远程的。
|
137
Edsie 262 天前
这些洗地的也是够了,感情啃屎山的不是他们😵
|
138
yosoroAida OP @Edsie 确实,他们的容忍度大的好像圣母一样,属实惊讶。
|
139
exploreexe 261 天前
|
140
yosoroAida OP @exploreexe
如果我不是认真工作,那我还花心思看他的屎山代码干嘛?那还为什么还要指出他代码的业务逻辑有问题?那不指出来,他不知道,下次还给你拉一样的屎,你能受得了吗? |
141
yosoroAida OP @exploreexe
至于“你嫌弃人家做的垃圾,你技术厉害你倒是表现表现嘛。” 这句话,我拿他项目的案例给你举证下: 1. 项目从网上找个“谷粒商城”的二次开发,问为什么不自己搭建,回一句“没时间”。 2. 鉴权框架用了 spring security ,但是登录逻辑居然没有去按照 spring security 的规则,去配置 AuthenticationManager 和 AuthenticationProvider 相关的实现类。反而自己脱离了框架,直接自己写了个接口,单独登录逻辑怼上 controller 上,而且连设计模式都没有,直接 if else 在一个方法内一把梭。 3. 由于他这个项目是拿个微服务来搞的,以为搞这种所谓的“新技术”就能忽悠上级,结果微服务调用连类似 sleuth 这种调用链追踪都没,所以线上有些 bug 自己怎么都复现不出来,还要找别人帮他一起 debug 。 4. 帮他写一个“报名未确认,自动过期的定时任务”,问他“如果这个月没有报名,那他还能不能报名这个月”,结果他来了句“可以报名”。问他为什么前端后端不拦截,他回了句“千分之一的概率触发”来忽悠别人,这话你听了不会觉得这个人单纯就是懒,给别人挖坑? 如果你觉得我水平比他不行,那我怎能举证这些东西出来? |