📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 7530| 回复: 28
跳转到指定楼层
上一主题 下一主题
收起左侧

[同事协作] 求问我组里的后端是不是有点水

   
🔗
匿名用户-T7KIM  | 添加认证 | 2023-5-25 10:25:39 来自APP |倒序浏览

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本人大厂前端,转码。同组有个后端工程师(简称B)求大家评价或者支支招,感谢大家🙏

我跟B的级别都算swe2/senior,他年资比我久,五年从业经验,但前四年都是做devops的,去年不知为啥心血来潮转来dev team当后端。第一个project就是我现在的项目。

开头六个月,这个项目是由B和我另一个前端同事(简称A)一起开发,B负责的部分是做一个api,从另外的服务中整理数据并作响应。我跟A交接的时候,A跟我疯狂吐槽B的api命名逻辑相当混乱,首字母大小写/snake vs camelcase,怎么随便怎么来,导致前端的codebase中ui server里很大一部分都是修改api response中变量名的helper function。

我从A手上接过前端的repo后,B被安排了新的任务:设计一个新的数据库和api,用以储存和调用用户从之前的api获取并修改的数据。这哥们花了两周时间,在老板和tech lead的指导下,花俩星期设计了一个schema,该normalize的地方不normalize,不该normalize的地方乱normalize,最后review的时候还得我手把手地修改schema,结果他觉得太烧脑,最终只能妥协,由着他把很多one-to-many的relationship储存成json格式的varchar,我前端调用得先把各级数据parse出来,把变量名改成小写开头的camelCase存进前端状态库,修改的时候再把变量名改回去,然后存回数据库的格式。

由于数据库某些表单之间存在强关联性,需要进行一些cascade delete操作。我说了一嘴cascade delete,结果B和tech lead都一脸懵,说从来没听说过这么骚的操作,表示不知道golang是否支持。我以为B是不知道如何用orm进行association,就问他用的是gorm还是别的orm。直到看到B的codebase,我才发现他的api就是直接在go里写sql,他压根就不知道如何在数据库里设置cascade delete。
. ----
身为swe手写每一条sql也算了,我觉得他还对业务逻辑不求甚解。每次客户提了新需求,他要么没法按时完成,要么各种出bug,最终又是前端擦屁股。比如一个根据不同用户组获取不同数据的api,我不干预的话他可以一直出bug,甚至我手把手教他写 select a or b and c之后,他都能写成select b or a and c,只要我不调试前端,他永远发现不了后端的bug。. .и

然而我干预太多的后果,就是他现在每做个feature,都要ping我好几十次,问能不能跟我sync,让我test一下。明明自己多注册几个shadow users、用postman就能看出来的问题,非要问我在ui里work 不work。稍微难一点的逻辑,就拉我去meeting room花个把小时whiteboarding。即便如此,70%的业务逻辑还是我在前端处理,只要交给他一个大于等于三的逻辑分支,他就说太复杂了,然后各种拖进度,又各种ping我can you sync、can you test this。

由于他才是组里正牌的后端,我之前也不想侵犯他的domain。今天才第一次访问他的数据库,于是又一次刷新了三观:他花半年完善的schema里就六个tables,不仅每个table之间毫无关联,甚至table里连primary key都没有,更别说unique constraints和indexes了。我在另一个项目做fullstack,一个礼拜内除了前端的活和跟B sync的时间,还设计好了九个tables的schema,并用sequelize写后端逻辑,不仅要在upsert和cascade delete的时候不出现冗余,还要在上传几十万数据的csv时尽可能地优化读写时间。我觉得这都应该是后端工程师最基本的需求。反观B所有tables加起来不超过一千行的数据库,我真不知道他是如何在组里存活到现在的。
-baidu 1point3acres
看完他的数据库,我给他的employee review都打好腹稿了。结果进系统一看,人家根本没让我给他写review。我真希望他在编程时也能如此高瞻远瞩。

不知道大家组里的后端工程师是什么水平,是我同事真不行还是我太过吹毛求疵了。

上一篇:现在除了flag/apple/tiktok,哪里还要CV啊
下一篇:如何提高代码能力,向ML E,SDE转
全局:
看了楼主的同事,我又觉得自己行了,😁
回复

使用道具 举报

地里匿名用户
推荐
匿名用户-TFO2E  | 添加认证 | 2023-5-25 22:41:21
楼主我太懂你了!我也是遇到了很不行的后端同事,也是天天让我帮忙用ui测这测那,然后一出问题还要质疑是不是我前端代码出问题,搞得我还要老去看后端codebase帮他debug,跟他讲代码逻辑。所以我现在直接抓住一个机会在组里直接转后端了,惹不起我就加入
回复

使用道具 举报

全局:
他没让你写review这块还真的挺聪明的。看来也不是真傻,我觉得你是不应该tolerant他的懒惰而给自己增加工作量。例如骚操作那块,我可能会给他说要不我们一起问问tech lead的看法?
回复

使用道具 举报

全局:
微软码农水平真不行,他是61?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-T7KIM  | 添加认证 | 2023-5-25 10:33:13 来自APP
regan2018nyc 发表于 2023-05-24 19:32:03
微软码农水平真不行,他是61?
为啥默认是微软
回复

使用道具 举报

全局:
后端需要设计数据库的表吗?数据库应该有专门的data组管理吧
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-T7KIM  | 添加认证 | 2023-5-25 10:36:33 来自APP
我是白白小小白 发表于 2023-05-24 19:35:13
后端需要设计数据库的表吗?数据库应该有专门的data组管理吧
所以我想请教一下后端的主要职责应该是什么,谢谢
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-T7KIM  | 添加认证 | 2023-5-25 10:42:00 来自APP
Sweet_Melody 发表于 2023-05-24 19:36:49
他没让你写review这块还真的挺聪明的。看来也不是真傻,我觉得你是不应该tolerant他的懒惰而给自己增加工作量。例如骚操作那块,我可能会给他说要不我们一起问问tech lead的看法?
谢谢你的回复。
tech lead是中途空降来的现在又空降走了😂
我老板也是前端,然而忙得要死。他是上会写操作系统下会画figma的六边形战士,大概觉得我帮devops出身的backend改改后端也很正常😂
现在基本上我就是项目的tech lead,但我跟老板都不会写golang,也没时间手把手教他。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-UZABV  | 添加认证 | 2023-5-25 10:42:39 来自APP
😅 这么说来我也很水 五六年都是用的nosql 你说的cascade delete我也没用过
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-T7KIM  | 添加认证 | 2023-5-25 10:48:59 来自APP
匿名用户 发表于 2023-05-24 19:42:39. 1point3acres.com
这么说来我也很水 五六年都是用的nosql 你说的cascade delete我也没用过
我们动辄几P的数据,nosql不normalize的话估计得趴……. 1point3acres
虽然在网页端,我自己也在indexeddb里弄nosql(后端同事不会弄cache,我只能用indexeddb缓存比较大的数据)

评分

参与人数 1大米 +1 收起 理由
ubatuba + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
哦,那如果你是教他的,就可以更firm一点。不然你经理将来看他的工作,会觉得叫你带他,就带成这样?-baidu 1point3acres
题外话,作为一个data person, 我是对把数据存成nosql 这点有偏见的😅 对dev来说是简单方便了,但是对做data 的人非常不友好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表