在 upwork 上找了个兼职, 和老板起冲突了, 大家来吃瓜

2022 年 7 月 4 日
 ethusdt

五月初在 upwork 上有个工作推送给我, 老板是德国人, 要做一个项目, 进行了一次电话交流, 最后签了合同, 合同上写 7 月 30 号之前要做一个 app 出来, 当时老板的想法是做一个喝水 app, 提醒喝水, 再加上硬件 BLE 控制的智能水杯(BLE 这块不是我负责). 项目是用 ReactNative 来做, 后台用的 Firebase, 很少有接口, 前端直接操作 Firestore(读写 db), 项目团队初期是有一个后台, 一个负责硬件 BLE 的, 一个 UI, 还有俩负责前端(iOS+Android).

前端另一个哥们 RN 写的不多, 写了一点功能, 然后就离开了项目. 前端项目基本都是我做的, 包括搭建整个项目, 集成各种第三方库, 打包分发(包括 codepush), 还有 90%以上的页面.

介绍下我吧. 我想找一个兼职, 每周干 20 小时, 赚点外快, 我写过几个 RN 项目, 可以说有个 2 年的 RN 开发经验(从我的 github 上可以看出来), 和老板签的合同是 $20/hours.

经过几次开会, wireframe(原型图) 变得越来越复杂, 不仅仅是一个喝水类 app, 变成了养宠物为主要功能, 喝水 /咖啡 /维他命用来喂养宠物, 进行一些挑战(喝水 /步数挑战等)可以解锁新宠物, 有商店, 可以花钱买宠物(in app purchase), 买各种宠物的配件(墨镜 /鞋子 /帽子), 当然提醒喝水的功能也是有的. 宠物在首页是动画的, 我推荐用 LottieView, 用起来也没有任何问题. 当然开会也说过要加 NFT 和 AI 识别喝的什么饮料. 然后被我们 pass 掉了.

项目管理用的 Monday, 交流用 slack, UI 用的 Figma, 每周至少一次视频会议, 最近几次都是晚上九点开到晚上十一点半.

冲突 1:

开发初期, 老板找了一个印度人 A, 负责整个团队的技术, 他比较擅长 backend, 但到目前做的东西就是在给我提 bug, 项目逻辑都搞不懂, 初期我照着原型图做的 app 就给我找 UI bug. 后来他和后端哥们也起了一次冲突, 没经过后端哥们的同意, 改了代码, 而且没有测试, 直接提交了代码, 然后给后端哥们说: "我改了你的代码, 你测试下有没有问题". 后来后端哥们把他教育了, 最后印度人 A 承认了:

To be honest, this is my first official project of firebase. I do follow in my normal project. I did 1 project for learning purpose before 2 years so didn't understand firebase methodology so well.

冲突 2:

条形码识别的问题, 那天我刚开发完条形码识别的功能, 因为是用的第三方 api, 所以我让后端调用这个 api, 提供一个接口给前端用, 我把功能都实现了. 结果晚上赶上开会, 我还没有测试充分, 老板让印度人 A 给他演示一下, 结果扫了很多商品都不能成功. 于是老板很生气, 说了很多 F word. 把责任都怪我头上. 其实就是第三方 api 的问题, 测试的 key 不给正常商品的返回结果, 而付费的 key 老板也没有买, 后端只是 wrap 了一层, 也没给我一些错误信息. 第二天又和我 video call, 我俩互相说了一些 F word, 他一直觉得 progress 又问题, 一直让我给他承诺什么时候能做完某一大部分的功能. 于是我让他在 Figma 上面给我过一遍需求, 结果走了几步就走不通, 这上面全是 unclear 的逻辑. 没有一个 project manager 来做详细的功能设计. 没有需求设计也没有开发设计, 这就是这个项目最大的问题, 我给老板也解释了, 我只是个 coder, 不想参与这些功能需求的设计.

冲突 3:

老板觉得项目进度有问题, 让我推荐个人, 我推荐了我的朋友, 结果他没邀请我的朋友来, 而是直接找了一个印度人 B, 这个人号称 6 年 RN 开发经验. 在上周的第一次会议上, 直接对我的代码进行 code review, 提了一大堆小问题, 问题有:

  1. 把所有 png 替换成 svg
  2. 不能使用 Context 应该使用 Redux, 如果大型项目 Context 不利于维护
  3. 删掉 src/images 文件夹, 用 src/Assets/images
  4. 尽量抽离 component 出来, 使其 resuable
  5. 删掉 src/tools 使用 src/Utils

等等一系列这种问题. 确实 svg 换成 png 比较节省存储并清晰度会有提升. 但其余的都是个人开发的习惯而已, 对于第四条可复用的组件, 这更是模棱两可的话题, 比如组件抽离出来要写更多的代码去维护, 写更多的属性去控制, 就没有必要去抽离了, 对于一些公共的组件, 我已经做了一大部分的公用抽离.

但是老板不懂技术, 老板听后, 直接炸锅了, 问我为什么不一开始就做好? 他觉得我这代码有很严重的问题.

冲突 4:

上上周有个印度人 C 的加入, 应该是个实习生, git rebase 不会用, 开始解决了几个 bug, 但是没有测试充分, 却引来了其余的 bug. 提交代码前也没有 lint 代码, 我花了一些时间去 check 他的代码.

印度人 B 又新推了一个方案, 提交代码前创建分支, 然后提交 PR 给她, 她来合并或者 reject. 于是我就说, 咱这项团队规模不适合这种, 直接开发提交更快, 并不会有什么问题, 提交 PR 检查费时, 它适合开源项目或者团队规模比较大的项目.(当然的确有利于项目规范), 于是我艾特了群里其他几位, 另外两位印度人表示赞同 PR..

冲突 5:

我想退出项目不干了, 因为很明显老板想让 B 取代我, 而且其余几个印度人也一直挤兑. 但是老板想把钱全要回去, 在 upwork 上开 case. 因为合同里写的是七月 30 号要上线, 我这违约. 并且不满意我的代码 老板直接说, 其他三位开发者都对我的代码不满意.

我做了哪些功能呢?

  1. 登陆注册(邮箱 /谷歌 /FB 登陆)
  2. 完善个人信息(姓名 /年龄 /身高体重 /运动量 /喝水目标)
  3. 欢迎页(有个动画)
  4. 首页宠物动画
  5. 挑战逻辑(发起喝水挑战完成挑战)
  6. 添加喝水(直接列表添加或者扫码)
  7. 夜晚模式(所有页面支持(
  8. i18n (GER 和 ENG)
  9. 商店页面(商店列表, 购买宠物, payment 这块没有做)
  10. 宠物管理页面(命名宠物 /宠物列表 /切换宠物)
  11. 推送通知功能
  12. 运动数据获取(Google Fit/Apple Health)

截图几张证据:

  1. 老板想退全款: https://i.imgur.com/yEGrHTH.png
  2. 关于 PR 的讨论: https://i.imgur.com/FzsPF1n.png
  3. 和老板的一些谈话: https://i.imgur.com/OSind3h.png
  4. 合同的一点内容: https://i.imgur.com/0yAUtRS.png

现在我的感觉是:

  1. 老板想白嫖我的工作
  2. 印度人 B 是印度人 A 找来的

我的问题:

老板肯定会在 upwork 上开 case, 我已经提现过两次了(upwork 直接打款到我的国内银行). 这钱真能要回去? 我的 upwork 账号肯定受影响, 这我已经了解.

22526 次点击
所在节点    职场话题
112 条回复
fanazhe
2022 年 7 月 5 日
借楼求问各位,upwork 的 close account 功能可以完全删除信息吗?
这个平台对我来说几乎没有任何用处,同时注册的时候还给他们了过多个人信息,看完 OP 的帖子之后决定 close 掉,但不知道是 close 好还是去改成无关信息好
kiritoxf
2022 年 7 月 5 日
我感觉 dispute 你没回复到点子上,有点"无关痛痒"

关于评论里好多人说的 ui 问题,是指 9 楼那发的登录页吗?为啥我没感觉有什么大的不同…… 除了少了个 checkbox ,log in 按钮不太一样,三个 icon 大小不太一样

设计图谷歌的 icon 多难看啊,跟右边两个大小都不一样

而且也不是最终成果,与其细调 ui ,流程先走通才更重要
ethusdt
2022 年 7 月 5 日
@kiritoxf ui 是有问题的, 不过也很容易解决, 全部都是 字体 lineSpace / 按钮输入框的高度 / 登录按钮的大小, 至于 checkbox 我给 UI 沟通过, 已经删掉了, 只是 ui 图还是没更新上去. 谷歌 icon 因为白色的背景 导致看起来视觉上有点小, 我在代码里已经尽量放大了一点, 使其看起来一致. 至于 dispute, 我应该在哪几个方面去回复一下?
DeWjjj
2022 年 7 月 5 日
这国外的外包比国内的还垃圾,价钱还低...
server
2022 年 7 月 5 日
马一下,
WOLFRAZOR
2022 年 7 月 5 日
噗,看来阿三的水平是真的不过关啊。印度人把工作抢走太多了。
coderluan
2022 年 7 月 5 日
简单来说,楼主有问题,老板可以不用楼主,但是没理由白嫖楼主。如果一开始老板就不满意楼主水平,让楼主退款,那样没什么问题,但是都做到现在了,还退全款,就是不要脸。
nooper
2022 年 7 月 5 日
upwork 会 suspend 你的账号 forever 。
ElmerZhang
2022 年 7 月 5 日
听说印度人很团结,硅谷里如果印度人做了 team leader ,这个 team 就会逐渐变成一个印度人占多数的 team 。
terence4444
2022 年 7 月 5 日
楼主有点程序员思维了,老板不懂技术只会看最后效果是没问题的。这时候就需要你去给他上课,并给他指出现在以功能优先,细节调整之后做。并用事实说明印度方面在挑拨生事,这方面印度人很在行,你一旦有一点失误就会被他们拿出来说成世界末日一样。

但事情已经到了这一步,你要做的就是列举证据然后尽快结束这个“毒单”。
ethusdt
2022 年 7 月 5 日
@terence4444 我也劝过老板, 你只需要关注最后的产出结果, app 是否流畅运行 /是否有 bug/ui 是否一致 /功能是否完善即可, 不懂技术就不要掺和技术, 但是 3 个印度人背后说我坏话(说我技术不行):

> There are 3 developer who all tell me the same. Do you doubt their expertise Fai?

我不会再跟这老板解释了. 直接去 upwork 上解决问题. 说再多只能带来更多冲突.
pomelotea
2022 年 7 月 5 日
Upwork 这个平台,前期是比较难做,信誉做上去之后,主动权才越来越大。到后面就是你挑项目,不是项目挑你了

OP 这次经历,无论结局如何,后面估计很难接到单了
gengchun
2022 年 7 月 5 日
印度人先放一边。

这种项目都是卖团队的,你要是个人直接对接老板,老板又没有能力明确责任。等于是团队合作。然后个人去和一个团队抗衡。只要到甩锅环节,等于单人 PK 团队,除非先天口才可以骂死王朗,否则必然会头破血流。

所以很多项目宁愿做二次甚至三次分包,也不能直接对接初始甲方。就是这个原因。
terence4444
2022 年 7 月 5 日
@FaiChou 沟通的方式也更重要,“ 不懂技术就不要掺和技术”虽然是对的但是你这么一说就会造成负面印象。
很多印度人这方面的技巧比写程序厉害。
ethusdt
2022 年 7 月 5 日
@gengchun 嗯, 躺过这个坑了, 就不想再躺了.


@terence4444 哈哈 我哪能那么说呢. 他又不懂中文, 我表达的也是很委婉的: "In short, it really will slow down our progress, and you should not care too much about codes, you should care the results/bugs/screens."
pomelotea
2022 年 7 月 5 日
这里面也有个文化的问题

1. 国内做项目喜欢先出效果再说,怎么快怎么来;老外相对更注重过程细节。

2. Pull Request 基本也是国外项目才会用,这其实无关项目 /团队大小的。我一开始也不理解 /不接受这种搞法,很麻烦,尤其改 bug ,改一行代码也要 PR ,改一个字母也要 PR 。不过习惯之后觉得这是有好处的。第一是每个人 /每个任务的变更一目了然,容易回溯;第二是每个人的贡献也可以从这里看到,每天的 Daily Report 也就很好写了;第三是在这个强制的过程中,写代码,提 commit 就会自我约束,检查一下修改的内容。长远来看是利大于弊的。

3. 老外很多项目会按小时计费,国内一般都是 milestone 或者整包。按小时计费对程序员非常友好,我个人比较喜欢这种。
terence4444
2022 年 7 月 5 日
@FaiChou 我一般会这么说:
The current UI is not the final result. Adjusting the details could be time consuming.

In order to accelerate the development, the non-functional “decorations” will be done later.In this way, you can test the functions earlier with the “draft” UI.

If you want to get the final display result earlier, I could do that at the first place but it will take more time until the UI is testable.

在这种情况下,我个人更倾向于把他当“客户”而不是“老板”,使用的话术也需要有所区别。
initd
2022 年 7 月 5 日
在 upwork 吃了没文化的亏, 没有签合约, 被人白嫖了, 让我不禁感叹, 哪里都有坏人
xuboying
2022 年 7 月 5 日
和三哥打过交道,对他们的印象就是特别能说,什么事情都要展示给自己老板。打个不恰当的比喻。如果他们走路,当跨出左脚,要汇报一下,跨了右脚又要汇报一下。
不少老板通常更在意热闹的气氛。对于实际做了什么其实没啥概念。
国人大多喜欢埋头苦干。又有很多人觉得内向很酷,不爱汇报,当和三哥打交道的时候这是很吃亏的。
yuandev
2022 年 7 月 5 日
@xuboying 这样跟是不是阿三没关系,哪里都有特别擅长把心思花在讨好上级的人,以及埋头苦干不太喜欢什么芝麻大的小事都要回报的人,而一般老板不懂技术,不知道有经验的人通常少说话多做事,所以也就觉得声音多的人比较勤快了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/864029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX