V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gggyyybbb
V2EX  ›  职场话题

招了一个人,技术不达标怎么办

  •  
  •   gggyyybbb · 15 天前 · 9013 次点击

    招了一个人,面试各方面都不错,就让他进来了。 结果写的代码一言难尽,还总是喜欢自己造轮子,有现成的框架不知道用,也不会问,关键是写的还很烂,代码可维护性根本没有。举个例子,组里都是用 mybatis mapper 的写法,他倒好,一来就上 springdata ,跟现有的写法完全不搭,写之前也不说一声,闷头就写了。现在组里的其他成员已经非常反感了,请问有什么办法请走他

    87 条回复    2024-11-18 11:02:26 +08:00
    barrywey
        1
    barrywey  
       15 天前   ❤️ 4
    试用期不合格啊,还需要多说什么?
    falcon05
        2
    falcon05  
       15 天前 via iPhone
    hr 劝退
    Tiller
        3
    Tiller  
       15 天前   ❤️ 3
    试用期的话就约谈,不改就劝退

    擅自引入新的技术栈跟拉屎没什么区别
    lambdaq
        4
    lambdaq  
       15 天前
    code review

    reject

    不匹配,再见。
    shadowyue
        5
    shadowyue  
       15 天前
    谈话要求改善,没效果就劝退。
    gggyyybbb
        6
    gggyyybbb  
    OP
       15 天前
    @Tiller 形容的很对,就感觉项目里被强制拉了一坨大便
    hackyuan
        7
    hackyuan  
       15 天前
    当然是关闭他的提交,让他重写啊,就算合并进来的也可以 cherry-pick 出来扔了

    microscopec
        8
    microscopec  
       15 天前
    不合适就和人事说
    hackyuan
        9
    hackyuan  
       15 天前
    刚开始也有憋个三五天提交上来一份不能用的,遇到后直接打回。
    后来强制要求提高提交频率,等他代码风格质量提高后基本上不怎么管了,前半个月一定是折磨的,工作量倍增。
    superliy
        10
    superliy  
       15 天前
    @hackyuan cherry-pick 不是把其他分支的 commit 同步拉到当前分支吗? 怎么还能扔掉?
    spritecn
        11
    spritecn  
       15 天前
    组里都是用 mybatis mapper 的写法,他倒好,一来就上 springdata
    ------------
    这跨度其实蛮大的
    potatowish
        12
    potatowish  
       15 天前 via iPhone   ❤️ 19
    新手吧,老员工在屎山上闪转腾挪,他在旁边悄悄拉了坨新的
    iOCZS
        13
    iOCZS  
       15 天前
    有入职辅导吗?我感觉不管不顾,风险还是比较大的。至少初期分配任务的时候,需要进行一定辅导和代码审查。新人不知道自己代码的自由度有多大。应该尽量帮助他捋顺开发流程。
    oldcwj
        14
    oldcwj  
       15 天前
    @superliy 应该是 revert
    COW
        15
    COW  
       15 天前 via Android
    拉个会统一下开发规范不就完了,怎么别人还能强行反抗不成?
    hackyuan
        16
    hackyuan  
       15 天前
    @superliy 抱歉说错了,revert 😂
    cwliang
        17
    cwliang  
       15 天前
    自己招的这不是打自己脸吗
    gggyyybbb
        18
    gggyyybbb  
    OP
       15 天前
    @iOCZS 关于他的代码质量问题,我是从一开始就在跟的,但怎么说呢,他年纪比我还大,非常有自己的想法,有时候我说不能这么写得按规范来,他口头上答应了好,但就是不改。。领导不是很关注代码质量,项目也比较紧张,有时候工期紧了也就没细看,好家伙,现在直接搞了个大的,给大家都整无语了
    gggyyybbb
        19
    gggyyybbb  
    OP
       15 天前
    @cwliang 确实,丢脸
    iOCZS
        20
    iOCZS  
       15 天前   ❤️ 2
    @gggyyybbb 写代码就要抛弃个性,融入项目,让代码看起来像一个人写的。基本的模仿学习能力还是要有的。风格问题早就要强制了,要不然债务越积越多,改不过来就早点分手,拖拖拉拉,对你们组员、项目,对他都不好,造成了巨大的时间浪费,应该尽早换人。这时候决不能心软,一定要杀伐果断了。
    brianinzz
        21
    brianinzz  
       15 天前
    @gggyyybbb 没必要啥不好意思的 招聘这个东西 不合适退掉就好了 再说你这种情况不进来写写代码你也筛不出来
    sagaxu
        22
    sagaxu  
       15 天前
    不打招呼,引入功能重合的较大的框架/库,这不是技术问题,是做事态度问题。一般进入新项目组的时候,要无条件跟随现有风格。哪怕老代码是屎山,你有更好的写法,也要跟屎山保持一致,避免给自己和他人增加麻烦。
    tpeng9240
        23
    tpeng9240  
       15 天前
    要不招我😄 http://www.techkid.top/ 投简历好久了哈哈哈
    weenhall5
        24
    weenhall5  
       15 天前
    是不是入职指引没做好,为了防止下次发生类似的事,入职指引也应该有代码方面的介绍
    Ocean810975
        25
    Ocean810975  
       15 天前
    谈啊,和他说不按规范来就走,你就说修改他代码的工作量已经大于其他正常业务运行的工作量了。

    然后让他自己把代码改到你们组的规范,不行就走。
    Tomfe
        26
    Tomfe  
       15 天前
    @gggyyybbb 多大年龄 40 ?
    RightHand
        27
    RightHand  
       15 天前 via Android
    这不是技术不达标,这是不合,辞退就行了
    nnegier
        28
    nnegier  
       15 天前
    喜欢造轮子,技术还不行?感觉有点矛盾呢,按理说 API Boy 更差一下吧,当然若有现成的,进度比较赶还是要用现成的,但这个说一下就可以了,赶进度嘛。从标题剩下的内容看,这个人应该有点过于自负,我觉得沟通下就可以。
    fangxisama
        29
    fangxisama  
       15 天前
    想看看一言难尽的代码。不过还是劝退吧,擅自引入自己的技术栈在一个团队里面很致命的。
    zhouhuab
        30
    zhouhuab  
       15 天前
    及时止损,有啥好犹豫的吗
    nnegier
        31
    nnegier  
       15 天前
    @iOCZS #20 我只深入过 Android 应用层,对于移动端 Android 来讲讲看法,我有点不同意,统一个性是磨灭成员进步以及略微有点氛围不好的微霸凌,移动端的设计模式和架构模式比较多,每个人写久了都有一点自己的想法,但是一句话,对于比较厉害的老 Android 来说,随便你怎么写都能看懂,改起来也就那样,顺着官方的 SDK API 入口爬就好了。
    crysislinux
        32
    crysislinux  
       15 天前 via Android
    我们以前招过一个,技术水平倒还行,但是给他分配个小任务他上来就动大刀子改很多文件加单元测试。结果改的文件比需要的多大几倍。你让他先着眼于眼下的任务吧人家还不干,举起单元测试的大旗你还不好说他。。
    JNotEnoughW
        33
    JNotEnoughW  
       15 天前
    @nnegier
    统一风格不代表你不能有个性代码,一个受屎山代码恶心几年的感想。

    移动端的设计模式和架构模式比较多 ------ 一个项目中架构模式统一绝对比不统一好。

    每个人写久了都有一点自己的想法 ------ 有想法麻烦把想法放在代码流程思路层面,不需要影响风格。
    bojue
        34
    bojue  
       15 天前
    @JNotEnoughW 工作是个协作的过程,国内 CRUD 层次的工作,开发可能占比只有 3-4 成,不遵守组内规范当个性后面很折磨人
    iOCZS
        35
    iOCZS  
       15 天前
    @nnegier 如果你要去维护别人的代码,一个人一个想法,你还要去猜测实现的思路,也不清楚这种写法是否经过充分测试和考验,这就麻烦了。最好大部分时候,写代码都不用太动脑子,就能写出比较稳定的代码,这对产品本身有利。少部分的时候,可能需要有所设计。业务层应该这样枯燥乏味,基础设施可以有点灵活和自主性。
    lzy250
        36
    lzy250  
       15 天前
    分手!!!
    xu455255849
        37
    xu455255849  
       15 天前
    。。你们难道连试用期都没有吗?
    可以直接和 hr 说不合适 让走人就行了
    gggyyybbb
        38
    gggyyybbb  
    OP
       15 天前
    @Tomfe 92 年的
    eedwinhei
        39
    eedwinhei  
       15 天前
    模仿应该是程序员的基本能力,可能是他比较有个性,不然大部分人一开始都会模仿其他人的风格吧,反正我是这样~
    gggyyybbb
        40
    gggyyybbb  
    OP
       15 天前
    @fangxisama 贴图就不贴了,简单描述下,if else 嵌套层级太深,抽象没有一点,各种判断各种括号。一个方法他能给你写到 100 行
    nnegier
        41
    nnegier  
       15 天前 via Android
    @JNotEnoughW 我阐述下对于改代码,我只限定移动端 Android 应用层哈,其它领域我不太了解,移动端属于前端,前端来说一般有界面,加上移动端有操作系统 SDK API 作为切入口,所以改别人代码并不难。如果对方代码写的好,也许还能学到点东西,写的不和胃口,改完就忘,也没事
    gggyyybbb
        42
    gggyyybbb  
    OP
       15 天前
    @Ocean810975 谈过很多次,不改,非常固执,认为我说的是错的,就拿一个最简单的判空来说,有些判空条件在最前面就可以返回了,非要 if 嵌套着写,让人看得头疼
    gggyyybbb
        43
    gggyyybbb  
    OP
       15 天前
    关于试用期的问题,前期确实没表现出来,态度也还不错,可能因为项目多,他改的都是一些小优化点,而且刚来项目组也是看文档看规范,这样就导致试用期让他过了。现在很尴尬,写的代码多了问题就暴露出来了,开始展现自己的“个性”了
    gggyyybbb
        44
    gggyyybbb  
    OP
       15 天前
    看他是工作经历比较丰富,给定的一个月试用期
    q474818917
        45
    q474818917  
       15 天前
    自己挑的人哪怕是屎也得吃下去,要不然别人会怎么看你
    longmeier90
        46
    longmeier90  
       15 天前
    让人事找他聊,要是还不改就请走。招过来就是让他听话、照做,不是让他来惹你生气呢。还能让他拿捏啦,转正照样可以辞退呀。
    tomatocici2333
        47
    tomatocici2333  
       15 天前
    @gggyyybbb #42 ....我看到这里忍不了了 换人吧,判断前置都不明白 没救了
    chanChristin
        48
    chanChristin  
       15 天前 via iPhone
    @gggyyybbb #18 不改就爬,你是组长好吧,你得为整个组负责,他自顾自拉屎,整个组都难受。
    tomatocici2333
        49
    tomatocici2333  
       15 天前
    @tomatocici2333 #47 连判断前置都不明白,只能说人平时压根就是直溜溜的写代码,也没什么思想去考虑,所以肯定是怎么方便怎么方便,不会考虑项目质量的。
    lkkl007
        50
    lkkl007  
       15 天前
    @gggyyybbb 一个月试用期,神仙公司啊
    leehomyhh
        51
    leehomyhh  
       15 天前   ❤️ 1
    你说的不会是我吧
    tpeng9240
        52
    tpeng9240  
       15 天前
    @leehomyhh 啊这
    etata
        53
    etata  
       15 天前
    公司有代码规范
    ivvei
        54
    ivvei  
       15 天前
    @iOCZS 你维护别人代码的时候,猜测是必经之路。甭管写成什么风格的,代码本就是一人一个想法的体现。写代码不动脑子不如用 AI 复制粘贴自动生成。
    xkhm
        55
    xkhm  
       15 天前
    竹门是竹门,木门是木门,你想留下来,那没门
    nyxsonsleep
        56
    nyxsonsleep  
       15 天前
    @gggyyybbb #40 这是基本素养,可以培训一下,不接受培训就只能再见。
    嵌套层级太深是圈复杂度太高。
    提前返回是卫语句。
    xFrye
        57
    xFrye  
       15 天前
    @nnegier 这跟什么端没关系,自己的项目怎么折腾都可以,正在运行的项目请不要乱造轮子,也不要什么都不说的情况下引入一些差别非常大的实现方式。

    拿 Android 来举例,一个刚来的员工不打招呼的情况下往工程里随意插扩展函数以及写了一堆难以理解的 dsl ,你受的了吗?
    hahaha121
        58
    hahaha121  
       15 天前 via Android
    多次提醒讲不听,留着当祖宗,后面给他差屁股
    Baymaxbowen
        59
    Baymaxbowen  
       15 天前 via iPhone
    早点沟通,别搞到后面恶心人
    Wyearn
        60
    Wyearn  
       15 天前
    找你们的 HRBP
    sampeng
        61
    sampeng  
       15 天前 via iPhone
    你是找人来干活的,不是当祖宗供着的。不听劝的还留着给自己不痛快是活不够多?还是擦屁股很好玩?
    wangsd
        62
    wangsd  
       15 天前
    项目用 mybatis ,他自己用 springdata 写,这项目后面咋维护,这不是给自己挖坑。
    sampeng
        63
    sampeng  
       15 天前 via iPhone
    之前就有一哥们,我要 A 他说你不要,我觉得应该是 B 。我说这个项目是我起的,我是需求方,我就要 A ,他说,不,你就是要 B 。好,我退一步,那你先去做 C 。这个 A 我自己来。这个 C 有现成的业界成熟的中间件,是最核心的,直接用就好,我没工夫看文档,你来研究一下。这哥们一口气把我气死:不,这个东西我看太复杂了,文档都那么多,其实就是个 xxxx ,我给你做个 D 吧,我工作十多年了是有自己想法在里面的,我肯定给你做出来,你只要管结果交付就好了。
    我说好,出会议室就去找 hr 了…
    sampeng
        64
    sampeng  
       15 天前 via iPhone
    手机回帖…按快了…

    最后,这哥们花了两个月做了一个我需要但是和我需求不符的东西还哪哪都是 bug 不说,代码直接给我整不会了,1000 行一个的大类到处都是。维护性为 0 ,改这哥们的一个 bug 我要花一整天时间。
    得,我不需要一个十年的经验丰富的刺头,只需要给一个从来没写过一行代码的但是听我的,接受我 review 代码的,同样花了两个月,代码可维护性可以这么说,谁来了都是看一眼就能接手改 bug 。
    dxk611
        65
    dxk611  
       15 天前   ❤️ 2
    经历了,比我工作年限久,代码水平和应届生差不多,搞的我一度很抑郁,上班心情很差,理解不了,工作十年以上的人,怎么水平会那么差
    BarackLee
        66
    BarackLee  
       15 天前
    我是觉得,可以考虑试着沟通一下,看看能不能短时间将习惯修改过来。坐下来好好聊聊,让他意识到问题的严重性。
    这年头找工作真的不容易,多帮助一个人也是好的。
    EndlessMemory
        67
    EndlessMemory  
       15 天前
    培训约谈啊,再不行就开掉啊
    cabing
        68
    cabing  
       15 天前
    正式的聊下,组织培训下。看能不能抢救下,不能抢救就是不合适团队啊。

    最怕的就是半桶水。代码不就是:高效,健壮性,可维护性。

    没有可维护性的代码是给团队埋坑。
    eachann
        69
    eachann  
       15 天前
    @hackyuan #7 cherry-pick 还能把提交扔了啊
    nnegier
        70
    nnegier  
       14 天前 via Android
    @xFrye 我写的很详细了哈,你要去霸凌同事那是你的事,至于他手写的代码和轮子也占用不了多少体积,在现在大内存的环境下,再说前端 Android 那么简单,有什么好较劲的,另外,API 小子是更多的,能造一些好轮子的人是很少的
    SanjinGG
        71
    SanjinGG  
       14 天前 via Android   ❤️ 1
    干了我一直想干的事哈哈,面试喜欢造火箭,那就进去真造火箭给你用,不然面试问干嘛
    ivvei
        72
    ivvei  
       14 天前
    @sampeng #64 那你应该用 AI ,而不是招人去按你的想法写。
    ivvei
        73
    ivvei  
       14 天前
    @JNotEnoughW #33 统一风格的屎山依然是屎山。大量屎山的形成就是因为后来人不思进取,看着原来写了个怎样的屎就在旁边拉一坨差不多的,一个项目被刚开始的那拨人的当时的水平决定了上限。而有点想法的新人,又被“维持统一风格”给束缚住,落入了要么一下全改要么完全不改的境地。
    sampeng
        74
    sampeng  
       14 天前 via iPhone   ❤️ 1
    @ivvei 你这个逻辑不对,有想法新人没问题。不能只坚持自己的啊。要沟通。你觉得好,那你就提出来,团队一起商量。
    zxkxhnqwe123
        75
    zxkxhnqwe123  
       14 天前
    @crysislinux 我有时候去一家新公司看那些屎山是真的不好下手从哪加个逻辑
    crysislinux
        76
    crysislinux  
       14 天前 via Android
    @zxkxhnqwe123 所以起手就是重构?
    stallman
        77
    stallman  
       14 天前
    难绷。技术问题是可以规范化的,态度问题是无解的,人的认知问题怎么去改?态度问题不处理,最后只能边缘化处理,极大影响团队和个人
    soul11201
        78
    soul11201  
       13 天前
    有几个疑问:
    1. 这个项目由几个人一起维护,生命周期预计有多久
    2. 团队日常工作流程、工程规范、项目目标、业务价值有没有清晰对传达给对方,比如说文档、或者入职培训,让其知道什么可以做什么不能做
    3. 正常来说设计评审阶段应该能把这类问题扼杀掉
    4. 不知道对方有没有决策考虑,跟你们不一样是不是要解决什么问题,还是确实代码质量有问题:就是无脑写的意大利面条代码,那能力应该就是不达标了。这时要看你们公司人才观是什么了,是培训、调岗,还是直接换人~
    5. 解除合同,按照劳动合同法解除就可以了,这应该不是特别难。莫非你有其他的考核指标?
    realpg
        79
    realpg  
       13 天前
    趁着不到 1 年赶紧辞退
    soul11201
        80
    soul11201  
       13 天前
    以前我有一个下属,水平确实不行,编码(拉屎)特别快,刚开始没看清楚他的特点,出过几次严重事故。好在当时环境对他有利,手上有一些探索性的项目,把他放在这种说没就没的项目上、把一些高能力人才放在重要的上面,效果还可以~
    gggyyybbb
        81
    gggyyybbb  
    OP
       13 天前
    没想到这个贴的回复这么多,综合了大家的意见,跟大家说下后续的处理计划
    1 、把问题统一整理后,找个时间认真和他聊聊他的想法
    2 、如果他还是固执己见,不遵循团队规范,那么我会跟我的领导反馈上述问题,同时也会要向领导传达辞退的想法
    3 、加强 code review ,不过这个可能忙起来时间真不够用
    4 、规范项目文档、编程规范,同时加强面试考核中工程能力的筛查
    zxkxhnqwe123
        82
    zxkxhnqwe123  
       13 天前
    @crysislinux #76 那肯定先汇报咯,领导说干就干,领导说接着拉那就接着拉
    twig
        83
    twig  
       13 天前
    雾草,怎么感觉像在说我……
    finolaire
        84
    finolaire  
       13 天前
    @twig 兄弟、不只是说你、说的是我们
    yanqing07
        85
    yanqing07  
       13 天前
    @gggyyybbb #38 看来 OP 是 99 后或者 00 后
    yanqing07
        86
    yanqing07  
       13 天前   ❤️ 1
    @ivvei #73 有想法要先沟通。不然,你引进来说不定是别一个屎山。


    而且,OP 说的是轮子,他的自己写的 OP 测试覆盖率如何?
    我 web 端,本来引用了 lodash.js 。他倒好自己实现一套,那测试覆盖写完整了没?
    别人库测试完善,覆盖高,还经过大量引用。他拿头跟人比
    gggyyybbb
        87
    gggyyybbb  
    OP
       13 天前
    @yanqing07 96 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2537 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:59 · PVG 12:59 · LAX 20:59 · JFK 23:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.