一个项目的架构设计真的有必要让实习生操刀或者参与吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
NEETLEE
V2EX    程序员

一个项目的架构设计真的有必要让实习生操刀或者参与吗

  • &nsp;
  •   NEETLEE 2018-05-29 15:52:14 +08:00 6821 次点击
    这是一个创建于 2699 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司有一个聚合支付的项目。目的是方便整合公司内部的其他项目的支付(并不准备做成产品并商用),避免重复的对接微信和支付宝的 sdk。当初 leader 把整体设计,详细流程设计,编码等所有工作都交给几个实习生。

    初期的需求确实满足了,项目的维护也依旧是他们。单随着越来越多的使用,发现了不少的问题。后来 leader 让他们把项目移交给我,并且把 bug 修一下。我也有幸了解了他们的设计。项目中没有以第三方支付平台为单位来封装一个支付基类而是每个支付场景对应一个 interface,导致了大量的冗余代码,同时也无法扩展以满足新的需求。编码中的槽点我就不多说了

    其实题主并不是在责怪那几个实习生。毕竟没有什么项目经验的他们其实已经做得很不错了。

    题主作为这个公司的一个小搬砖工,想听一听大家觉得这样的公司和 leader 靠谱吗。大家对这件事意见如何?

    第 1 条附言    2018-05-29 17:18:55 +08:00
    这个聚合支付的项目还是比较重要把,毕竟其他项目的支付部分就是调用这个聚合支付的服务不直接对接微信和支付宝,重要性不言而喻。
    各位大佬的意见也和我大致相同,同时更坚定了我离职的决心
    看来这公司真是有丶不靠谱,我还以为是我见识不够广,理解不了 leader 的意图。
    37 条回复    2018-05-31 16:09:29 +08:00
    bfdh
        1
    bfdh  
       2018-05-29 16:01:10 +08:00
    所以 leader 没有设计代码架构?
    momuou
        2
    momuou  
       2018-05-29 16:26:23 +08:00
    你们 leader 没看过实习生的代码吧。有问题
    nullen
        3
    nullen  
       2018-05-29 16:29:30 +08:00
    leader 不靠谱。
    lonelygo
        4
    lonelygo  
       2018-05-29 16:33:18 +08:00
    换 leader
    svenzhao
        5
    svenzhao  
       2018-05-29 16:37:01 +08:00   1
    换 leader 如果代码全是实习生撸的要留下来 都是不错的孩子
    wenbinwu
        6
    wenbinwu  
       2018-05-29 16:37:14 +08:00   1
    读下来感觉实习生做的没有那么完美,但是完成了 leader 给的任务
    因为他们的代码确实把各种支付整合了,公司内部可以用,只是维护上费力,或者架构上有缺陷
    QaZqwefgh
        7
    QaZqwefgh  
       2018-05-29 16:39:01 +08:00 via Android   1
    钱多就先干着 然后看能否和 leader 沟通下 当然一般没啥结果 甚至坏结果
    MuscleOf2016
        8
    MuscleOf2016  
       2018-05-29 16:39:34 +08:00
    我的记得我实习的第一个项目,leader 给我搭好整个框架,只负责往上添砖加瓦,隔几天 review 下代码,哪里写的不好,直接帮我改。
    natscat
        9
    natscat  
       2018-05-29 16:40:59 +08:00
    这个其实解决方案一出来 leader 应该和他们讨论的 而不是都写完了以后
    zenxds
        10
    zenxds  
       2018-05-29 16:45:49 +08:00
    方案 1,有个资深的工程师做架构设计,实习生编码。 方案 2,实习生设计,有资深的工程师 review。 可能认为活简单丢给实习生就不管了,或者自己比较忙没空管。 不管是那种原因,主要责任都是在 leader
    nosay
        11
    nosay  
       2018-05-29 16:55:49 +08:00
    既然那么多喷 leader 的,我来站一下 leader
    首先要搞懂这个项目在公司眼里,在 leader 眼里究竟是个什么东西,怎么定位的。
    如果是可有可无的内部开发,让实习练手玩玩又有什么问题?
    loongwang
        12
    loongwang  
       2018-05-29 17:05:22 +08:00
    做的第一个比较大的功能,类似于在线 ktv,还用了 es 做曲库。本来是有大佬带,那段时间他事情很多经常请假,变成我自己做,真的是绝望,然后连续工作 25 天终于完成,代码写的惨不忍睹(线上各种报错),等答辩完了回去重构下,自己的锅自己背。
    zarte
        13
    zarte  
       2018-05-29 17:23:16 +08:00
    为了培养新人不是很关键的任务可以交给他们弄,因为他们便宜,经验不足的情况加上工时要求必然会有各种坑。所以会有后期的优化和重构。貌似没安排有经验的人带他们?
    yamamotoahua
        14
    yamamotoahua  
       2018-05-29 17:34:01 +08:00
    我刚来的时候我的 leader 也是这样,需求随便说两句就丢个能看的 demo 稿给我。。问他东西让我自己百度
    现在变成了个 2 天左右完成一个迭代的码农,现在 leader 迭代会都不开,全权交给我,从跟产品和设计沟通到开发到测试到部署都是我一个人在搞
    ai277014717
        15
    ai277014717  
       2018-05-29 18:05:12 +08:00
    对于这种烂项目有什么好的解决方式么?
    ai277014717
        16
    ai277014717  
       2018-05-29 18:07:07 +08:00
    最近想重构类似的代码,写成配置类了。就是业务太复杂。觉得写法不优雅。
    onepunch
        17
    onepunch  
       2018-05-29 18:12:58 +08:00
    一台服务器需要架构吗? 多台服务器分布式 实习生能搞定?

    一开始就搞那么复杂没必要吧,leader 还是需要考虑人员能力,实现成本的
    xiaoxlm
        18
    xiaoxlm  
       2018-05-29 19:56:21 +08:00
    有啥理解不了的,这个 leader 明显就是菜。公司的支付系统这么重要
    misaka19000
        19
    misaka19000  
       2018-05-29 20:14:21 +08:00
    @ai277014717 #15 重写
    youEclipse
        20
    youEclipse  
       2018-05-29 20:43:20 +08:00
    绝壁是 leader 有问题,这种东西交给实习生后期维护就是天坑。我毕业的时候公司服务端就我一个,早期架构,数据库设计,大部分代码都是我写的,虽然两年了线上跑着没啥大毛病,但是觉得设计上绝对有问题,但是就是不知道问题在哪,因为维护起来很恶心。不过现在已经离职了,不用看自己写的 shit 代码了。
    dwyyy
        21
    dwyyy  
       2018-5-29 23:28:48 +08:00 via iPhone
    表示你们这种都是小问题,我一个转行两年多不到 3 年的人做了公司的 leader,公司项目架构,服务器维护,项目管理之类的都要我做,非科班出生且还是菜鸟的我表示很慌,不知道怎么办,因为公司的业务很喜欢,所以也不想离职
    scofieldpeng
        22
    scofieldpeng  
       2018-05-29 23:54:15 +08:00   1
    @dwyyy 你的经验和我很像,过来人给你建议下,看下老板靠谱不,这里的靠谱不是说老板请你吃了几顿饭啥的这种靠谱,而是,这个老板是不是真的在做实事,把这个项目当成他的宝贝一样,而不是那种想赚块钱的。其次,薪水有没有给够,没给够又不想走,那就找老板给够,别扯情怀什么这个公司业务是你喜欢的,我告诉你,前公司的十几万行代码绝大部分都是我一个人撸出来的,前端后端大大小小的所有东西,还包括把整个技术部门管理好。我因为情怀放弃了几个很好的 offer,拿着差不多 1/2 的薪水回来这儿继续干,给家人朋友给自己说,我是跟着在创业,所谓的股份说了 3 年了,毛都没见着。算了不说伤心事了。

    最后,工作是工作,情怀不能当饭吃,别吃亏。祝好:-)
    msg7086
        23
    msg7086  
       2018-05-30 01:39:10 +08:00
    @dwyyy 可以多撸点架构设计方面的书,名家写的那种,对自我提升应该会有帮助。
    loveyu
        24
    loveyu  
       2018-05-30 02:08:07 +08:00
    有一种可能,leader 自己搞不定,让实习生上
    NEETLEE
        25
    NEETLEE  
    OP
       2018-05-30 09:11:46 +08:00
    @zarte 并没有,这个公司大多数研发都是校招进来的实习生然后培养成正式员工的,真正的老资历程序猿很少。所以你可以见到这个公司内很多分量不小的项目背后都是由实习生完成的。
    randyzhao
        26
    randyzhao  
       2018-05-30 09:34:35 +08:00
    我感觉有的可能性:
    1. 实习生是关系户? Leader 为了拍马屁?
    2. 如 #24 楼所说:Leader 自己搞不定,不想让你知道,所以让实习生去做。
    NEETLEE
        27
    NEETLEE  
    OP
       2018-05-30 09:39:09 +08:00
    @randyzhao 我觉得大概是第二点吧,实习生都是校招来的,应该不会有什么关系户的
    randyzhao
        28
    randyzhao  
       2018-05-30 09:44:58 +08:00
    @NEETLEE emmm.... 第二点可能性是比较大的,不一定是搞不定,也可能是不想搞。反正这种 Leader 就是在混,先弄出一个垃圾的接口,然后实在不行了再喊你去优化,再不行了再自己去优化。本来 3 个月的事情可以拖一年。美滋滋。
    seven777
        29
    seven777  
       2018-05-30 09:58:28 +08:00   1
    外人看您这个状态:
    你换到哪里都一样!
    不要从技术和产品层面考虑问题,要从公司平台层面考虑问题.
    如果你想换平台,比如跳到 BATJHX 等大平台,那就直接去找机会.
    如果你是因技术问题和牢骚而离开这里,那我觉得你还是老老实实的待着,格局不够,你去哪里都一样.
    qq976739120
        30
    qq976739120  
       2018-05-30 10:04:33 +08:00
    认真讲....我毕业第一家公司一个人差不多一个业务线...前端后端,甚至还要自己 ps 抠图
    NEETLEE
        31
    NEETLEE  
    OP
       2018-05-30 10:13:25 +08:00
    @seven777 谢谢,我会考虑
    ghos
        32
    ghos  
       2018-05-30 11:50:32 +08:00
    @msg7086 大佬可以介绍两本书来充充电吗?
    xiadada
        33
    xiadada  
       2018-05-30 16:13:42 +08:00
    我也做过一个这个, 你是更美的吗?
    xiadada
        34
    xiadada  
       2018-05-30 16:21:42 +08:00
    应该不是, 我写 python 的, 我上架公司实习一年, 毕业了就写了一个这种聚合支付, 做法是抽象出来支付的流程, 然后各个支付方式各自填内容, 对外暴露都是一样的可以重复调用的 http 接口, 日志完备, 也考虑了各种并发访问, 回调延迟或者丢失什么的....

    实习生就很菜吗....刚毕业的就不行吗, 不是我夸自己, 那份代码比那些工作两三年写代码没热情不上心的人写的强多了.
    至少我在的几个月从来都没出过 bug.

    感觉很满意, 写完看看自己的工资, 然后就跑了
    msg7086
        35
    msg7086  
       2018-05-31 00:57:16 +08:00
    @ghos 我没看过啥,也没啥架构设计水平。
    之前看的一本 Design Patterns in Ruby 一本 Metaprogramming Ruby 2,不一定适合你就是了(
    其实这也不太算是架构方面的,但是对系统设计还是有点帮助的我觉得。
    34091136
        36
    34091136  
       2018-05-31 10:34:16 +08:00
    @scofieldpeng 强烈赞同这一话,因为情怀(良心债)被捆绑在这一家公司,都感觉自己活不下去了
    scofieldpeng
        37
    scofieldpeng  
       2018-05-31 16:09:29 +08:00
    @34091136 好好考虑下个人的发展吧,过来人的真心建议。如果觉得有奔头,那就埋头做,没有,那就去找一个有奔头的地方。当然,每种选择都有好有坏,不存在最优解。也许现在选择的那条看起来很不好的路在未来的某一天会给你很多倍的回报。加油:-)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2709 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 09:40 PVG 17:40 LAX 02:40 JFK 05:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86