BeiTianSoftware
V2EX  ›  外包

外包项目承接的 2 个教训~经验分享

  •  
  •   BeiTianSoftware · Jun 28, 2020 · 2426 views
    This topic created in 2206 days ago, the information mentioned may be changed or developed.

    做了几年的外包技术提供商,和正在通过外包谋生的朋友分享 2 个经验教训:

    ###教训 1:

    项目尾款结清前,除非是 双方合作很久并且相互信任了 。此时甲方提出将源码提交至他们的代码仓库,如果使用的是 Git,那么请注意下面的提交指令:

     “git push -u origin_JiaFang master” 
    

    其中的 -u 参数 不能加,否则后续有新需求、改动,你如果在提交的时候图省事,直接用:

     "git push master"
    

    那么代码会被默认推送到甲方的代码仓库,而不是你的

    得到这个教训,是某一次的项目合作中,本来和甲方说好了尾款结清再推送所有源码。后来临近交付,甲方一直催,说大家都是自己人,不用这么担心,可以先把代码提交过来。这边也就同意了,但由于不清楚怎么添加多个远程 Git 仓库并执行推送,所以就问甲方负责人怎么搞,之后甲方给出了下面的指令步骤:

    git remote add origin_JiaFang http://git.xxx.cn/2019/proj.code.git    
    git add .
    git commit
    git push -u origin_JiaFang master
    

    大部分人可能和这边当时一样,没多想就直接照着做了。 然后最近在做个项目,需要将项目代码迁移到另一个代码托管平台,不知道怎么弄,忽然想起来之前有个甲方提供的方法好像可以试试,这边试的时候发现好像 push 指令不加 -u 参数也可以,即像下面这样:

    git push origin_anotherPlatform master
    

    这边就好奇,这个 -u 参数到底是啥意思,为啥好像不加也可以,于是去网上搜了下,得到如下的解释:

    -u 表示将本地的 master 分支推送到 origin 主机,同时指定 origin 为默认主机,后面就可以不加任何参数使用 git push 了。

    卧槽,好在这边有个习惯: 即每次 push 代码到远程仓库的时候,都会指定远程仓库名,即下面的形式:

    git push origin_mine local_dev develop

    如果这边图省事,直接

    git push local_dev develop

    代码就直接到甲方主机了,并且可能此时甲方还未付预付款!

    ###教训 2: 如果有同行或者合作伙伴说要给你介绍个项目,你为了感谢他,也为了尽快拿下这个项目,于是就允诺项目完结之后给他一笔好处费,那这里要注意的是:

    1. 适度给好处费,送礼品是 OK 的,做一个知道感恩的人挺好
    2. 接上一条,重点是“适度”。如过一个总预算 11 万的项目,你允诺给他: 首先免除之前的欠款 4k,另外在项目完结之后再支付 1.5w ,总计 1.9w 好处费

    上面的第 2 条中的例子,是一个 极其错误的做法。此举直接导致该介绍人决心直接自己招 App 开发,吃掉这个项目的后续单子,而这个介绍人,他们的团队之前是只做 Web 和 Server 端的。

    你以为,他会因为你大手笔的好处费而认为你是个很厚道的人?

    ---- Too young too naive !

    有句话叫做“食骨知味”,百度下就知道了。
    尤其是,你们做的东西质量体验比他们好得多,利润也稍微比他们高的情况下,越要注意这点。

    所以正确的做法是,可以给好处费,但不要太傻,像 11w 给个将近 2w 的好处费。最多最多,给个 2k 就可以(送等值购物卡也行)。

    别问这边怎么知道的,照着做肯定没坏处。

    25 replies    2020-07-02 00:26:31 +08:00
    darksky
        1
    darksky  
       Jun 28, 2020
    挺不错的
    dioxide
        2
    dioxide  
       Jun 28, 2020
    期待分享更多经历.
    cocoismywife
        3
    cocoismywife  
       Jun 28, 2020
    -u 不就是 up-steam 吗
    deppwxq
        4
    deppwxq  
       Jun 28, 2020
    支持一下
    konakona
        5
    konakona  
       Jun 28, 2020
    我感觉第一个例子,你想表达的应该是“只给当前已完成的”(一次)而非“后续每次提交都推送”(静默每次 push 都去了那个绑定本地 master 的远端仓库),对么……
    kmdd33
        6
    kmdd33  
       Jun 29, 2020
    upwork 推出了一个 contract 功能,类似于支付宝的担保交易功能,北美这边很流行的。
    HolyBible777
        7
    HolyBible777  
       Jun 29, 2020
    谢谢楼主分享, 使我们避免入坑
    BeiTianSoftware
        8
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @konakona 是的,就是钱货两清这个原则,我们做技术外包,货物==我们的技术产出,源码之类的
    BeiTianSoftware
        9
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @cocoismywife 会顺带指定后续的静默推送远程仓库地址
    hantsy
        10
    hantsy  
       Jun 29, 2020
    Git 这骚操作,还真少见。

    一般我也就 origin ( Fork 到自己的账号下), upstream 两个源,其它特性什么开发都是自己 origin master 基础建立分支完成,比较 origin branch 和 upstream master 发送 PR 。
    hantsy
        11
    hantsy  
       Jun 29, 2020
    @kmdd33 守规矩的国家 Contract 才有用。中国作外包基本都是靠关系,后面扯皮,我参与过国内的一些项目,基本尾款都收不到。
    ivslyyy
        12
    ivslyyy  
       Jun 29, 2020
    很久以前我也参与过接活,做完了后,不断提新要求,语气也很粗鲁,感觉我是讨饭呢?然后说我做不到就不给剩下的钱了,好在也不多,我做的几百块前后端服务器数据库都包了
    meathill
        13
    meathill  
       Jun 29, 2020
    第一条太贱了……
    BeiTianSoftware
        14
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @ivslyyy 这种后续直接不要做了
    BeiTianSoftware
        15
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @meathill 也可能是甲方直接复制粘贴其他地方的命令步骤,但还是说明要谨慎一点
    BeiTianSoftware
        16
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @hantsy 一般靠关系趟出来的业务(不是刚性需求),很容易这样
    hantsy
        17
    hantsy  
       Jun 29, 2020
    @BeiTianSoftware 说实在中国做项目,关键看对方人品怎么样。

    不要去去看他们公司装修怎么样,很多大城市的一些公司,表面都是做得很好,老板实际都是流氓一样。
    foo123
        18
    foo123  
       Jun 29, 2020 via iPhone
    针对教训 1,我觉得把甲方 master clone 下来,然后你们 merge 、commit 一次不就好了么,如果甲方不让 clone master 那么配置下 set-upstream 也行,push 完后重新配置下 set-upstream
    BeiTianSoftware
        19
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @hantsy 所以靠谱的客户很重要
    BeiTianSoftware
        20
    BeiTianSoftware  
    OP
       Jun 29, 2020
    @foo123 当时没考虑这些东西的,只是甲方那边给过来的操作步骤提示,这边原封不动地就执行,这一点太草率了
    xwhxbg
        21
    xwhxbg  
       Jun 29, 2020
    我去我这边直接 push 的,我要代码也没啥用啊,我都是按周结算,小时收费,真想不到有这种甲方,看来我还是天真了。
    1044523901
        22
    1044523901  
       Jun 30, 2020
    尾款未收到切记,不要提供任何项目代码。
    vansouth
        23
    vansouth  
       Jun 30, 2020
    不是应该收到大部分钱才会提供代码的吗?未接触过所有不解
    BeiTianSoftware
        24
    BeiTianSoftware  
    OP
       Jul 1, 2020
    @1044523901 实在甲方说要体现诚意,给初期代码(反正都是有提交历史,选一个比较靠前的版本)也行
    glovebx
        25
    glovebx  
       Jul 2, 2020
    这两条建议还是很实在的,有干货的一帖
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3288 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 12:07 · PVG 20:07 · LAX 05:07 · JFK 08:07
    ♥ Do have faith in what you're doing.