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

无力吐槽。。求助如何漂亮回击,加入到一个技术比较陈旧的公司重整架构遇到的阻力。

  •  1
     
  •   chareice · 2016-03-24 11:50:16 +08:00 · 4437 次点击
    这是一个创建于 3167 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情是这样的。。。

    我上周刚加入到这家新的公司,公司不是以技术为主的但是有在线运营的业务,公司也能挣到一些小钱。

    我个人从上家团队出来,算是创业吧,做的类似 e 袋洗的 O2O 干洗项目,技术不难但也不简单,之前用到的技术栈: Rails/Python/Golang/Node ,服务全部采用 Docker 部署。个人认为整体的架构还是比较清晰的,业务也比较顺畅。

    现在这家公司呢,代码是用 PHP 写的,用的框架是 Ucenter 混搭 ThinkPHP ,巨大的单体应用,没有任何测试,没有版本控制,开发方式是直接线上修改,文件先从服务器拉下来,然后修改再用 FTP 上传。

    看到这个情况我内心是崩溃的,梳理了一周的业务流程之后决定先给代码强行上一波 Git 。然后团队成员(可以说是技术负责人)就开始逼逼了。

    这是私聊的讨论:

    1 2

    然后是群聊:

    3

    各位看到了,他们在担心安全的问题,可实际上呢,前几天线上的代码被人全部打包走了,他们一点不担心,说自己人都整不明白这些代码。。。

    4

    我都快被气昏了。。。

    5

    对了,现在整个团队加我,一共 3 个技术。

    第 1 条附言  ·  2016-03-24 12:50:30 +08:00
    完善下背景。。老板招我进公司就是希望我能够从整个开发流程上对技术架构进行优化的。

    之所以不当面沟通因为团队中有伙伴是远程的形式。
    51 条回复    2016-03-25 13:57:56 +08:00
    huijiewei
        1
    huijiewei  
       2016-03-24 11:55:58 +08:00
    say 88
    UnisandK
        2
    UnisandK  
       2016-03-24 12:06:57 +08:00
    你增加了他俩的学习成本,他俩肯定不乐意呗
    Xrong
        3
    Xrong  
       2016-03-24 12:09:21 +08:00
    说难听点就是能用、能赚钱就行,你过去就是个干活的,不喜欢就走,打工就留下!
    bk201
        4
    bk201  
       2016-03-24 12:13:17 +08:00
    你要推东西肯定要把优点分析到位才行啊,人家凭什么听你说改就改。
    话说 3 个人不一起聊,还打字。
    ahcat
        5
    ahcat  
       2016-03-24 12:16:09 +08:00
    你的级别比技术负责人高级吗?

    如果是:换掉技术负责人。
    如果不是:专心写代码。
    ligyxy
        6
    ligyxy  
       2016-03-24 12:18:01 +08:00
    楼主面试的时候不问问对方什么架构么
    yangqi
        7
    yangqi  
       2016-03-24 12:20:34 +08:00
    你应该更多强调 git 是版本控制,不只是代码管理,人家现在的方式管理代码也挺好的,当然觉得没必要换。

    另外你应该强调用 VCS ,等这个达成一致了以后再往 git 上面靠。你这么几句什么也没说出来,自己好好想想该怎么说。比如你要向一个毫无技术的人推销 git 你该怎么和他说?
    joye1230
        8
    joye1230  
       2016-03-24 12:22:17 +08:00
    适应环境,改变环境,离开这个环境
    wy315700
        9
    wy315700  
       2016-03-24 12:27:16 +08:00   ❤️ 3
    当我年轻的时候,我的想象力从没有受到过限制,我梦想改变这个世界。

    当我成熟以后,我发现我不能改变这个世界,我将目光缩短了些,决定只改变我的国家。

    当我进入暮年后,我发现我不能改变我的国家,我的最后愿望仅仅是改变一下我的家庭。但是,这也不可能。

    当我躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后作为一个榜样,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情。

    然后谁知道呢?我甚至可能改变这个世界。






    每次有这个想法的时候我总是默默的看一遍这句话。
    Accldent
        10
    Accldent  
       2016-03-24 12:31:54 +08:00
    wocao 俩个字 走人
    dong3580
        11
    dong3580  
       2016-03-24 12:36:51 +08:00
    这样看来,面试要问除了加班强度大么,薪资多少,还要问,你们代码版本控制么?有些面试官会不会萌了。。。 XD
    fwrq41251
        12
    fwrq41251  
       2016-03-24 12:38:13 +08:00
    三个人聊什么 QQ,面对面讨论一下吧..
    MaiCong
        13
    MaiCong  
       2016-03-24 12:41:19 +08:00 via iPhone
    很简单,要么滚要么忍
    chareice
        14
    chareice  
    OP
       2016-03-24 12:41:54 +08:00
    很多朋友问到为什么不当面讨论,原因是其中有个伙伴是远程的,人不在,而他,就是这个项目的技术缔造者。。
    feiyuanqiu
        15
    feiyuanqiu  
       2016-03-24 12:47:02 +08:00
    @fwrq41251 看截图不像 qq ,应该是钉钉
    chareice
        16
    chareice  
    OP
       2016-03-24 12:47:42 +08:00
    @ligyxy 因为面试者是老板。。老板原来是做技术的后面转了,所以聊的重点就没有涉及到这一层面。
    chareice
        17
    chareice  
    OP
       2016-03-24 12:49:02 +08:00
    @bk201
    @fwrq41251 因为团队中有伙伴是远程的。。所以得这样沟通。

    @feiyuanqiu 对的,钉钉。
    SpicyCat
        18
    SpicyCat  
       2016-03-24 12:51:58 +08:00
    用 git 会泄密?是不是把 git 和 github 搞混了。
    ovear
        19
    ovear  
       2016-03-24 12:53:27 +08:00
    lz 没有回答对面的问题啊。。
    代码安全性问题,如果是多项目,就做权限限制。。数据安全性问题。。用测试数据,不要用线上数据。
    至于 git , git 有一堆钩子,稍微做一下,就可以实现很多奇怪的功能,比如说 commit 代码质量检测,自动过测试,自动部署。。出问题了还可以直接回滚。。现在改文件,没有版本控制我看来是 更危险的。
    而且假如一个人有多个开发平台,文件不同步不就要 gg 了。。
    9hills
        20
    9hills  
       2016-03-24 12:56:22 +08:00 via iPhone
    其实很简单,不吃那碗饭不操那份心

    这些事情需要老板明确你是技术 leader 后,你自然想怎么搞怎么搞。老板不给你地位你名不正言不顺,你自然很无奈
    sprite0616
        21
    sprite0616  
       2016-03-24 12:59:45 +08:00
    3 个人而已,还要什么规范?楼主太天真了。
    am241
        22
    am241  
       2016-03-24 13:00:07 +08:00
    消极的说,面向工资编程,需要钱就干着,不需要钱就换一家
    chimingphang
        23
    chimingphang  
       2016-03-24 13:03:35 +08:00
    走啊
    Cloudee
        24
    Cloudee  
       2016-03-24 13:05:40 +08:00
    我觉得先让你们老板明白 git 和 github 是不一样的。。。。 git 也可以建私有库,也可以搞权限控制,可以拒绝别人修改服务器上的分支历史

    用 git 和 svn , cvs 一样,本地都是全套代码的,只是 git 多了本地的代码历史而已
    a591826944
        25
    a591826944  
       2016-03-24 13:09:22 +08:00
    我想问。。。这样的公司 你当初 为什么会考虑去呢。。。。。不解啊
    cxshun
        26
    cxshun  
       2016-03-24 13:10:26 +08:00
    1 、代码权限问题, git 管理好就行。
    2 、 git 和 github 是两个不同的东西,自己搭 gitlab 管理就行了。
    3 、另外两个人感觉连版本管理这个概念都还搞不清,备份?什么鬼。版本管理工具就是用来做这事的。

    如果你是管理他们两个的,直接丢个任务给他们,让他们去做就好,要用 git ,直接说一句就行,爱用不用,反正到时出问题就找对应的人。
    如果你不是管理他们的,让老板出马,毕竟要推动一些东西还是要有相应的权利的。
    chareice
        27
    chareice  
    OP
       2016-03-24 13:12:58 +08:00
    @a591826944 因为给钱。。三线城市给了相对比较高的工资。
    chareice
        28
    chareice  
    OP
       2016-03-24 13:14:09 +08:00
    @sprite0616 不是天真,这种情况下没法开发。。
    a591826944
        29
    a591826944  
       2016-03-24 13:16:26 +08:00
    @chareice 无言以对。。那就指出他说的错误啊。。什么大公司 都不用 git 什么的。。。谁不用啊。。 哪家大公司 有在服务器上改代码的啊
    tonghuashuai
        30
    tonghuashuai  
       2016-03-24 13:22:11 +08:00
    怎么说呢,首先这个对他来说的新东西增加了他们的学习成本,你要想办法让他们尝到甜头,现在的费事是为了以后的省事。可以自己先用起来,然后遇到问题的时候拿出你的方案来炫一下技,让他们觉得:我擦,这都行,然后他们慢慢就会接受了。

    当然,如果你的职位比所谓的技术负责人还要高的话,那就直接下命令让他们执行就好了,情绪问题可以通过沟通解决。
    rubyvector
        31
    rubyvector  
       2016-03-24 13:32:41 +08:00
    大炮打蚊子,人家还有 2 个人,别光想着自己爽.能解决问题的是好员工;优化流程,并不一定有就收益,还让同伙跟着改变的,就算了.
    本来互联网业务就不是人家正经赚钱的东西.每个人一进来就搞一套,老板得屈死了.
    你觉得留就留,看不上人家做事的方式就换吧.
    bengol
        32
    bengol  
       2016-03-24 13:36:44 +08:00
    让他们滚蛋啊
    greatghoul
        33
    greatghoul  
       2016-03-24 13:42:21 +08:00
    好奇葩的公司,不过楼主总是在编辑器里打好好字然后截图到聊天里面也好奇葩呀。

    以前拿到过一个 ucenter 做的项目,没有版本控制,源代码加上许多许多图片,整个文件夹 500 多 M ,这种项目,怎么拿 git 管理呀, clone 一回就累死了。
    hitmanx
        34
    hitmanx  
       2016-03-24 20:34:31 +08:00
    @greatghoul 上G的项目也一样用 git 管理啊,我上家公司和这家公司都是,还全是源码和一些库文件,没有图片之类的。我倒是比较奇怪为啥要经常 clone?
    greatghoul
        35
    greatghoul  
       2016-03-24 22:23:22 +08:00
    @hitmanx staging, prod, build 服务器要拉代码,换电脑要 clone ,新同事要 clone ,总避不过呀。。
    magicdawn
        36
    magicdawn  
       2016-03-24 23:45:00 +08:00
    不用 git 就可以避免源码泄露么~那研发都看不到代码还怎么研发?
    RihcardLu
        37
    RihcardLu  
       2016-03-25 00:08:32 +08:00
    如果是之前,我肯定毫无保留、百分百支持 lz 的。

    但现在,尽管我还是支持 lz ,但我还是建议多从对方的角度思考问题,然后再去理解、说服对方。

    是的,你我都知道 Git 比 FTP 管理代码好了 1w 倍,但你不能强求或默认别人也应该知道。

    惯性是很难改变的,学习也是需要成本的,尤其是对 lz 所在这种技术陈旧的公司。
    neoblackcap
        38
    neoblackcap  
       2016-03-25 00:34:31 +08:00   ❤️ 1
    @greatghoul 这个嘛其实强调 VCS 我觉得就可以了。比如 Google 里是 perforce 为主, Facebook 是 hg 为主。针对你的项目特性可以选择适当的工具。你所遇到的二进制文件大,用 hg , perforce , svn 都能很好地解决。
    若是一定要用 git 的话,可以选择 submodule 的功能,将所有二进制文件另外放在一个 repo 里面,需要再 clone 或者 checkout ,那么存代码的库拉去是很快的。当然,项目大了其实肯定会慢,比如拉个 linux 内核什么的,这个是没办法的事情,你不上 VCS 也得拉,不是你拉就是别的同事拉,毕竟谁敢保证明天那份代码不会被误删除。
    just4test
        39
    just4test  
       2016-03-25 07:53:08 +08:00
    @neoblackcap 请问 hg 怎么处理二进制文件的问题?
    neoblackcap
        40
    neoblackcap  
       2016-03-25 10:04:21 +08:00 via iPhone
    @just4test 无痛处理,你用户不用管,它会自行优化,不会像 git 一样爆库
    vinsa
        41
    vinsa  
       2016-03-25 10:07:45 +08:00
    1. 推进事情并没有那么容易,虽然以你的角度看似合理的。
    2. 不要去挑战习惯,大禹治水的精髓在于诱导。
    3. 认知的同步需要先建立信任然后 step by step ,功夫在诗外。
    focux
        42
    focux  
       2016-03-25 10:09:34 +08:00
    既然担心安全性,就在一个服务器上搭建 git ,代码都在上面,每个人 ssh 连上去呗。
    konakona
        43
    konakona  
       2016-03-25 10:21:46 +08:00
    他们还挺“专业”的啊!多沟通下,开个会议在小黑板上科普下,大家技术彭创下。
    如果是热爱学习的,那这样的说辞也是可以理解的啊反而变得可爱了。
    如果是抵触,就是……-。- say goodbye~
    ifconfig
        44
    ifconfig  
       2016-03-25 10:22:55 +08:00
    楼主的公司和我前公司极度相似,也是 ucenter 加各种面向过程代码,用 svn ,不到 2 个月就果断走人,实在是跟那种人呆不下去。。。。
    mengzhuo
        45
    mengzhuo  
       2016-03-25 10:23:23 +08:00
    naive 啊
    能稳定跑的系统最好不要动,这应该是所有老程序的共识啊
    yuriko
        46
    yuriko  
       2016-03-25 10:26:39 +08:00   ❤️ 1
    项目大也就偶尔一次 clone 的事情, pull 毕竟都是拉的变更。
    如果项目之间关联性不强的话,我们部门用的 repo ,各个项目组独立更新。
    @greatghoul
    mengzhuo
        47
    mengzhuo  
       2016-03-25 10:43:15 +08:00
    哎呀~刚才图没刷出来,
    我就问楼主,你职位比他大么?
    大就要求学,抵触就炒了,多简单的事~
    小或者同级的话,你只能更领导要权力,或者和公司说 88
    kunkka007
        48
    kunkka007  
       2016-03-25 11:07:10 +08:00
    @ahcat 同意第一条,第二条 直接走人。
    招你进来如果不是负责人,还要求推动架构,系统流程优化就是耍流氓。
    nozama
        49
    nozama  
       2016-03-25 11:35:42 +08:00
    总有那么些人,什么都不懂又不愿意学,根据百度一下的只言片语,就一本正经胡说八道起来。
    JamesRuan
        50
    JamesRuan  
       2016-03-25 12:11:22 +08:00
    可以考虑走人了。

    以前在某小公司实习过,人家也就两个人开发,也是 PHP 的,但还配了一个测试,当然也是在测试系统上做的。代码虽然烂,但好歹也是 SVN 的(当年 git 并没有流行)。
    starzhang123
        51
    starzhang123  
       2016-03-25 13:57:56 +08:00
    没想到这里发现了熟人。还在犹豫什么呢,成功不是靠一个人而是要靠团队的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:08 · PVG 07:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.