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

[新西兰远程工作] Web 高级全栈/Node.js/React.js/TypeScript/Ruby on Rails,工作地点随意,无加班 996

  •  1
     
  •   HarryYu · 2021-03-21 02:39:36 +08:00 · 7189 次点击
    这是一个创建于 1103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    关于我们

    我们是一家在新西兰的公司,主要产品是一个 SaaS 平台,方便用户管理和购买微软产品以及提供一些云服务,目前主要业务在新西兰地区。在去年疫情期间,公司转型全员远程办公,同时我们在扩张业务到全球其他地方,所以目前开始进行海外开发人员招聘。

    工作要求

    具体详细的原版要求请参见这里:https://www.seek.co.nz/job/51735261 我这里简单摘要方便节约你的时间:

    1. 精通 Ruby on Rails 及相关(此项可以弱化,已经劝说老板迁移 Node 新架构,只要愿意学习能快速上手即可)
    2. 精通 JS 和 Node.js ( 3 年+开发经验)
    3. 熟悉 TypeScript
    4. 熟悉 React.js 以及 Antd
    5. 熟悉 PostgreSQL 、Redis 等
    6. 熟悉 DevOps 、CICD 、K8S 等最好是 Azure 平台
    7. 能用英文进行沟通面试,具备一定的听说读写能力,因为是英文的工作环境,但如果能力突出,前期可以由我辅助沟通协作
    8. 了解或者有 Nest.js 经验,全新 Node 应用将会基于这个框架

    工作模式

    • 全远程办公,不限制你的位置,比较灵活自由。每周最多工作 40 小时,没有加班和 996,多陪陪家人。适合想要自由生活、逃离北上广、喜欢到处旅游的人群。我的老板近几年每年都要在国外边旅游远程办公两三个月。
    • 基本不开会。全部例会只有每天不到 15 分钟的 Standup 和每两周一次大概 2 小时的 Sprint Planning 。
    • 合同工,至少签约两周起,优先选择长期合作,因为我们是一个长期维护的 SaaS 的平台,不是短期的小项目,因此倾向于每周 40 小时的全职远程办公,只不过以合同工的形式签约。提交工作时间表的方式统计工时。

    薪资待遇和招聘流程

    由于我们会在多个国家和地区招聘,然后每个人的情况和经验也不一样,每个地区的情况也不一样,所以我们采取自己定价。如果你觉得你符合 JD 的要求,即可准备一份英文 resume 发过来,同时附带你期望的薪资。我们将会评估并考虑进行下一步面试等。

    格式:

    • Subject: Hi Harry, I am [your English name], this is my resume
    • Body: 英文版的目前情况简介,包括现在是否在工作,以及其他的合作方式和每周工作时间,期望薪资( RMB 即可),以及你想要问的问题等等
    • Attachment: PDF 或者 Word 文档,英文简历

    先发送到我的私人邮箱 hi[at] harryyu[dot] me 然后我先初步沟通聊一下,OK 的话我再转发给 Team Leader,然后跟进安排面试。有任何问题咨询也可以直接发送邮件到我邮箱。

    薪资会按照协商的方式转账,需要个人或者个人挂靠、注册公司来自己处理当地税务、社保等问题,需要具体协商。

    常见问题

    可否先兼职一段时间再决定是否签长期合同?

    可以。我也跟老板反馈了一下,很多朋友可能在职有想法,但是直接辞职签约也有很大的风险和担心,所以最好的方式是可以先利用晚上和周末能兼职一下,比如一周先只做 20 个小时左右,然后磨合一段时间双方再做决定。

    老板表示只要是人才,都可以协商,关键看水平。

    有时差怎么办?

    我们目前是一个比较小的团队,所以比较灵活,我们可以调整例会的时间来符合大家的作息。

    公司是否会帮助办理新西兰签证等?

    抱歉,由于一些法律等的限制,在海外的招聘只能以合同工的方式签约,无法按照当地人的方式签(因为没有税号、Visa 等)因此也无法担保新西兰工签等签证。但有一定新西兰本地公司的工作经验,相比没有肯定是有一定帮助的,可以锻炼英语、增加当地人脉,后续边境开放可以直接旅游签过来面试我们公司或者其他公司,有一定优势。


    本信息有效期暂定 2021 年 5 月 20 日,目前刚刚启动面试流程,疯狂收简历安排面试中,有兴趣的朋友赶紧准备投递,名额有限,招满就没了。

    第 1 条附言  ·  2021-03-21 06:18:40 +08:00

    有朋友提醒我本贴部分内容可能涉及移民建议,由于新西兰的移民法比较严格,没有移民认证和咨询资格的人禁止给出移民建议。因此为了避免不必要的麻烦,请大家无视「后续边境开放可以直接旅游签过来面试我们公司或者其他公司」以及本帖中其他移民相关内容,同时本帖也不构成任何移民建议。如有需求请自行研究法律法规或者咨询持证移民中介,不要相信本人所说。

    48 条回复    2021-07-08 19:52:02 +08:00
    way2explore2
        1
    way2explore2  
       2021-03-21 04:29:19 +08:00 via Android
    我也在,帮顶
    jeansfish
        2
    jeansfish  
       2021-03-21 05:41:45 +08:00
    哈,离的很近。 你们之前是在 Apollo Drive 吗?
    HarryYu
        3
    HarryYu  
    OP
       2021-03-21 06:20:47 +08:00
    @jeansfish 是的,之前办公室在那边,去年退租了,现在大家都远程办公了。新西兰境内也招的,是正常 full time 的也可以推荐。
    jatai
        4
    jatai  
       2021-03-21 08:50:58 +08:00 via Android
    这种招聘很不厚道,这是招聘还是拍卖啊?
    就像去买东西,
    小商贩: 你觉得你能出多少钱买我的东西?
    jatai
        5
    jatai  
       2021-03-21 08:54:05 +08:00 via Android
    还得冒着浪费时间的风险特意去写一份英文 resume,
    小商贩: 你回去写一份购买计划书给我,我觉得合适就卖给你...
    zhy0216
        6
    zhy0216  
       2021-03-21 09:52:50 +08:00
    @jatai 你求个职 连简历都不愿意写。。?
    HarryYu
        7
    HarryYu  
    OP
       2021-03-21 10:04:52 +08:00   ❤️ 1
    @jatai 问过老板之所以没有明确薪酬范围是因为以下几个原因:

    1. 第一次采用这种方式扩招,没有一套公平定价的策略,而且不同国家薪资、开发者水平和预期都不一样,很难确定一个统一的标准。
    2. 由于第一条,不希望通过薪资来卡掉一些潜在的优秀面试者。比如印度、东南亚开发者的薪资水平偏低,如果我们以他们的薪资水平来确定我们的预算,可想而知中国以及欧洲的开发者肯定会直接略过,因为在他们眼里薪资水平偏低,都没必要谈。但实际上我们愿意为优秀人才付出更多,都是可以谈的。

    然后没看懂这个你的这个例子想表达什么,如果连准备一份 resume 对于你都算浪费时间,只能说明可能这份工作对你的吸引力不够大。
    felixin
        8
    felixin  
       2021-03-21 10:29:16 +08:00 via Android
    nestjs 用过一两年,生态还不够成熟,看着文档挺全的,实际上周边辅助的项目基本处于没人管或者只有一两个人管的状态。既然已经是第二次重构,说明业务具有一定稳定性,建议 c#/java 一步到位吧
    HarryYu
        9
    HarryYu  
    OP
       2021-03-21 10:39:42 +08:00
    @felixin 谢谢建议,我们讨论下
    HarryYu
        10
    HarryYu  
    OP
       2021-03-21 10:57:24 +08:00
    @felixin btw,可以稍微分享一下哪一块你们遇到过问题吗?比如什么第三方辅助项目等?如果不方便公开私聊可以加我微信:SmlhbmdzaHVpLVl1 ( Base64 )或者邮箱。如果不方便就无视好了,多谢。
    think2011
        11
    think2011  
       2021-03-21 13:30:00 +08:00
    支持一下 👏
    tousfun
        12
    tousfun  
       2021-03-21 14:20:59 +08:00 via iPhone
    楼主目前是在新西兰?
    FrankFang128
        13
    FrankFang128  
       2021-03-21 14:32:12 +08:00   ❤️ 1
    我建议楼主切回 Rails,不要用 Node.js ,哈哈哈
    jatai
        14
    jatai  
       2021-03-21 14:39:57 +08:00 via Android   ❤️ 1
    @HarryYu #7 根据地区定薪资?
    还来个开发者预期定薪资?😱
    感觉像外包群里谁贱谁得单←_←。
    你发在这里一般默认面向的就是中国程序员了吧。

    你的这个招聘贴给我的感觉就像在怂恿应聘者降低自己的期望,往宏观方面说就是会导致“劣币驱逐良币”
    (经历 /位置 /利益不同难免理解不同,以上纯属我个人的观点,如有什么使大家不爽的请忽略)

    我想表达的是: 技术圈已经够卷了,请多点善良不要让它更卷。

    ps: 我看到一些招聘不爽或不合理就会吐槽 or 抬杠,你可以忽视,反正现在是卖方市场,你们最终肯定也是能招到合适的人的。
    felixin
        15
    felixin  
       2021-03-21 15:30:13 +08:00   ❤️ 9
    比如怎么做定制 logging,继承官方那个简陋的 Logger 自己写实现,然后发现 logger 的注入不推荐用 constructor 注入,而是要使用成员变量初始化,并且在 app module 之外的 logger 和依赖注入管理的 logger 是不同的初始化方式——和 java 或.net 之类的对比一下;

    比如要上 graphql,dataloader 怎么使用文档没提,最后是根据网上的代码改了一个自己做的装饰器,用 ModuleRef 在 context 里动态写入属性;

    怎么和数据库交互,typeorm 是个 leaky abstraction,join 的写法比直接写 sql 还复杂,而且也不能覆盖数据库原有的特性,比如写不了 cte 。pg 的 view 只支持写一次不支持更新,最后研究了 typeorm 的源码在每次启动的时候得把旧的 view 删了再重新创建 view;怎么做 transaction,用 query runner 对象显式执行 sql,如果这个 transaction 横跨多个 service,要把这个 query runner 一路传递出去,看看 nestjs 的文档那一节,再和 ef core 之类的对比看看;想要做 @Transactional 注解,需要深入研究 cls-hooked,一不小心就内存泄漏;

    换了一个 slonik,类型标注是用 flow 写的(最近改成 ts 了),用稍微复杂点的数据结构就需要处理 type parser 问题; transaction 的写法一样要用 cls-hooked 自己封装,否则 service 调用 service 就是两个不同的 transaction;

    mode_modules 依赖稍微多点,打包 docker 直接 1~2G,还经常爆出被依赖投毒,yarn2 的 berry 搞了快两年还是一堆兼容性问题,基本无法实用。

    最重要的是 typescript 本身的问题,毕竟它只是 js+type,不是真静态类型语言,改变不了 js 动态的本质,有时候看着 type 都没问题跑起来一样 type error,重构改名都要担心哪里会 break; 从 ror 换成 nodejs 换汤不换药,ror 解决不了的问题 nodejs 一样无能为力。

    还有很多和业务强相关的就不说了,一路上大小坑要么网上只有几个人遇到同样的问题然后 publish 一些 dirty 方案,要么在官方 issue 上挂了一两年的没有解决最后被 close 。确实这些问题不是不能自己动手解决,只不过我们精力没必要放在它们上面。

    nestjs 想做 nodejs 上的 aspnetcore/spring,那为什么不直接用他们呢,这两者已经做到极致了。我们的看法 nodejs 只适合做 view 层,比如 SSR 就很合适,但不适合处理深层次的业务逻辑。当然团队水平不同,业务能力不同,看法不一样,方案也不一样,我们是小团队,也许适合别人不适合我们。
    felixin
        16
    felixin  
       2021-03-21 15:54:42 +08:00
    随便在代码库里翻了会,有一段代码就从这里拿过来的: https://github.com/nestjs/graphql/issues/438#issuecomment-613586291
    bibi012
        17
    bibi012  
       2021-03-21 15:56:23 +08:00
    @felixin 点个赞~
    HarryYu
        18
    HarryYu  
    OP
       2021-03-21 16:13:14 +08:00
    @felixin 感谢分享!
    Adalwin
        19
    Adalwin  
       2021-03-21 16:24:33 +08:00
    帮忙顶下!

    非常喜欢这种有创新性想法并且招聘写的详细的公司。

    从技术上来看很吸引人的,不过目前的工作也还满意,所以就没进一步去看了。

    顺带立马去把楼主加入特别关注,希望以后找机会的时候会有坑哈哈哈

    PS, 头像看得超级像我一个大学同学.... 但是从 Twitter 上来看,大概率不是同一个人哈哈哈
    defunct9
        20
    defunct9  
       2021-03-21 17:10:33 +08:00 via iPhone
    不知何年何月才能混到楼上水平
    plainboiledwater
        21
    plainboiledwater  
       2021-03-21 17:52:53 +08:00
    这个头像我就认出了是大佬
    okampfer
        22
    okampfer  
       2021-03-21 20:10:26 +08:00
    @felixin #15
    能在招聘帖子里看到 nestjs 使用经验分享真是意外收获,我也是在把自己的项目从 sprintboot 转成 nestjs 的过程中感觉到其文档和 typeorm 的文档很多时候还是无法解答一些很基础的疑问,虽然一开始 nestjs 的 IOC 风格感觉还挺亲切的。

    就你感觉,nodejs 后端是不是还是 koa 相比之下生态更全一些呢?反正我自己的项目最终还是换成 fastify+sequelize 了,nestjs 我感觉还是太复杂了,没必要那么折腾自己。就像你所说,真有那功夫不如直接用 sprintboot 。

    看了你的分享还有一个感受就是,后端还真不是我想的那么简单,数据库交互还要考虑那么多问题啊……我还是暂时专注前端比较好。
    tommyzhang
        23
    tommyzhang  
       2021-03-21 21:06:54 +08:00
    java 吧 短平快
    forgottencoast
        24
    forgottencoast  
       2021-03-22 00:16:58 +08:00
    @felixin 写的非常好。
    我擅长使用 ASP.NET Core,前不久学着用 nestjs,看着很像,但是实际用起来,要这这不行,要那那不行。
    正如很多人所说的,nodejs 弄的 Java 的样子,那为什么不直接用 Java 。
    Skmgo
        25
    Skmgo  
       2021-03-22 04:10:49 +08:00 via iPhone
    @HarryYu 我可以给你工资参考,我也替家加拿大 SAAS 平台做兼职,只是我是偏推广,目前大概付我两千多近三千美金每月,直接打到我个人卡,当然我也有公司并由外币账号,但是目前尽量走私账方便。

    我发现国外用.net 开发的比较多,但是我觉得还是 Java 更合适,毕竟国内做 Java 人比较多,对以后运维成本有帮助。

    有机会可以互加微信或 whatsapp 交流。
    tomtom9
        26
    tomtom9  
       2021-03-22 04:16:02 +08:00 via iPhone
    请问即将毕业的学生可以嘛,怀大的。实习的项目就是 expressjs+nodejs,项目已经上线了,在 https://propertyreportserver.azurewebsites.net/map 。望楼主回复
    SevenJ
        27
    SevenJ  
       2021-03-22 06:24:28 +08:00
    土澳纽村现在 seek 招聘大多是全栈,或者 React
    oatw
        28
    oatw  
       2021-03-22 08:11:12 +08:00
    我也建议楼主切回 Rails,不要用 Node.js ,嘿嘿嘿
    yoshiyuki
        29
    yoshiyuki  
       2021-03-22 08:48:30 +08:00
    已投递请查收
    BenX
        30
    BenX  
       2021-03-22 09:19:30 +08:00
    Rails 切 Node.js 是不是也有点儿。。。。为了工程二工程吧

    量起来,上面两个都不合适
    mincoke
        31
    mincoke  
       2021-03-22 09:39:34 +08:00 via Android
    选择 node,是基于 serverless native 的想法?
    HarryYu
        32
    HarryYu  
    OP
       2021-03-22 13:40:08 +08:00
    @Skmgo 感谢建议,我换算了一下看了下,目前收到的简历的期望薪资都比你这个高一些,已经反馈给老板了,他会有个感觉和判断。此外这个跨境转账也的确是个问题,好像有限额没有什么经验,请问你的微信多少?或者可以加我上面 base64 的微信吗?希望咨询一些走账的问题,可能不方便公开讨论。如果不方便就算了,谢谢。
    HarryYu
        33
    HarryYu  
    OP
       2021-03-22 13:41:36 +08:00
    @tomtom9 你好,目前新西兰境内招聘 senior 将会作为 core team 和国外的同事合作,所以如果开发经验不多可能会有点悬。如果有以前国内的工作经验等,可以加我微信或者邮件给我内推一下。谢谢。
    bulger
        34
    bulger  
       2021-03-22 14:07:42 +08:00
    @felixin 「 Next.js 」解决的问题应该是可以用 React 框架来做 SSR 吧,官网上说了「 API Routes: Optionally create API endpoints to provide backend functionality.」只是一个可选项,没必要用 Web 框架成熟的那一套体系来要求它
    Skmgo
        35
    Skmgo  
       2021-03-22 15:10:55 +08:00
    @HarryYu 已加,很方便讨论,说不定这是个合作的机会. 我是类似管理类,所以工资少很正常,更何况我本来应该是 5K,只是认识很久了,大概意思下就可以了
    HarryYu
        36
    HarryYu  
    OP
       2021-03-22 15:25:58 +08:00   ❤️ 1
    @felixin @FrankFang128 @okampfer @tommyzhang @forgottencoast @oatw @BenX @mincoke

    感谢各位建议,我也在昨天连夜调研了一下相关框架,同时今天跟同事和老板开会讨论了一下相关问题,在这里做简单的分享。

    目前关于 Node 的生态和相关组件的可持续性发展的确是有点不太乐观,Nestjs 的确主要是由个人维护,然后 TypeORM 没有积极的维护而且已经存在 1.5K 个 open issues,另外一个相比成熟的 ORM Sequelize 甚至在 readme 上面寻找开源维护者,800 多个 open issues 也处于没有核心人员负责和维护的情况。相比之下 Rails 的维护性和成熟度要好一点。

    但是从开发者和编程语言的流行度(来自 Stackoverflow 报告、Ruby China 论坛活跃度、招聘网站工作机会、采访部分朋友)来看,JS 的开发者和流行程度是在持续增长的,但是 Ruby 好像是在下跌。JS 有广泛度和简单上手的特性,然后由于简单轻量也常常用于 serverless,Python 有 AI 、ML 的大腿,Java 、C# 都是老牌的,Rust 和 Go 都有自己的新使用场景。唯独 Ruby 感觉只靠 Ruby on Rails 撑起来,适合来快速的做 Web App 原型。目前招聘人才是个问题,可以预见的是未来将会越来越难。

    但对于 Java 来说,我们目前是一个小公司,新西兰核心开发团队维持在三到四个 Senior 开发人员的规模(外加测试、系统集成开发等),至少这个财年是这样。目前开发均没有 Java 经验,突然转型 Java 可能会比较吃力,之后招聘也有一定的风险,可以预见的是未来几个月内会面临需求交付减缓,团队学习压力大,可能对业务风险会比较大,虽然这是一个比较终极的方案。

    所以只能回到 Ruby 和 Node 这上面。RoR 这个不用说,目前所有代码逻辑都在上面,但是也有很多历史债和环境、特殊业务逻辑在,也有一些问题,所以当有很多新 contractors 进来之后,可能会需要一定时间熟悉项目,前期效率也会低一点。长期维护之后更加依赖 RoR,更难以思考是否要迁移或者迁移成本更高,之后更难招 Ruby 开发。

    而选择新起 Node 应用,逐步迁移的方案,如果选用 TS,代码质量会高一点,同时跟 Java 等也比较像,既可以扩展招便 Java 的过来开发,也可以招会 JS 的。同时前端用 React.js 等都可以统一成 JS 语言,更加统一一点。而选框架上,express 也支持 TS 了,可以考虑,不过比较稳定了没什么人维护,而且过于灵活。Nest.js 则是借鉴其他语言成熟框架基于上层做的最佳实践,实际上如果我们基于 express 来设计框架,可能做的好的话会变成 Nest.js 、egg.js 等这样,那还不如直接用。目前坑比较大的地方看起来主要在 ORM 上面,我也咨询了下淘宝同事,看起来 sequelize 相对成熟,生产环节中用基本上也没有太大问题。然后 Controller 这些 API 相关的应该比较基础了,问题也应该不大。对于不是很复杂的系统看起来风险还好。至于更细节的坑,的确会有这种风险。总之已经开会反馈给老板了,等他结合业务发展再想想计划然后最终确定什么方向。
    DrakeXiang
        37
    DrakeXiang  
       2021-03-22 15:40:23 +08:00
    招单纯的前端么😂
    HarryYu
        38
    HarryYu  
    OP
       2021-03-22 15:49:47 +08:00
    @DrakeXiang 暂时不招单纯的前端,不好意思。
    per
        39
    per  
       2021-03-22 16:36:50 +08:00
    @HarryYu ORM 没有考虑过 prisma 吗? https://www.prisma.io/
    HarryYu
        40
    HarryYu  
    OP
       2021-03-22 16:44:39 +08:00
    @per 也有注意到,也还在调研,感觉有商业公司背景比较靠谱啊。谢谢推荐
    mincoke
        41
    mincoke  
       2021-03-22 16:51:23 +08:00 via Android
    或者可以考虑 graphql,apollo server/client
    性能会更好一些
    基本上 API 只要考虑 sql
    再配合 serverless 框架,本地开发,本地测试
    之后写下部署的 yaml
    taowen
        42
    taowen  
       2021-03-22 16:52:16 +08:00
    为啥一定要 ORM,不能直接写 SQL 嘛
    forgottencoast
        43
    forgottencoast  
       2021-03-22 17:18:21 +08:00
    @HarryYu 了解一下 ASP.NET Core,和 Nodejs Express 框架很像的,nestjs 对标 ASP.NET Core MVC 。
    HarryYu
        44
    HarryYu  
    OP
       2021-03-22 17:23:17 +08:00
    @mincoke 我们目前就有一层 BFF 用来做 GraphQL,也曾经考虑过 serverless,但是前提还是准备好 Node 应用和基础的 Auth 、三方 API Wrapper 才可能迁移。

    @taowen RoR 的 Active Record 太好用了,总不能越升级越原始吧。。

    @forgottencoast 我去了解一下,谢谢推荐。
    felixin
        45
    felixin  
       2021-04-01 16:48:29 +08:00 via Android
    asp.net core + react,不要 mvc,razor,blazor 之类的旧时代产物,只要 core web api + react,业余时间看看就上手了。c# 和 typescript 同根同源,可以说如果对类型系统有一定理解基本上没有什么学习成本。而且微软业务复杂体量大,业务发展上不会存在会被框架限制住的问题。
    ChangHaoWei
        46
    ChangHaoWei  
       2021-04-19 16:08:29 +08:00
    可惜了,,写 golang 的路过。。
    hongweiliuruige
        47
    hongweiliuruige  
       2021-06-02 17:45:53 +08:00   ❤️ 1
    @HarryYu typeorm 虽然维护的不是太勤快,但是商用已经没有问题了,,而且源码写的也很清晰,有不清楚的问题可以很快速的看源码解决,简单的功能直接搞定,复杂的 sql 直接 query 原生 sql 就可以了,这个真不是问题,对于 nestjs 来说算是额外之喜,,nestjs 提供的代码组织方式让维护不在火葬场,typescript duck 模式的类型系统让 ts 既不失 js 的灵活,又不失 java 的稳重,加上微软的积极维护,te 只会给人越来越多的惊喜,其他的分布式锁,消息队列什么的其实都可以靠 redis 实现了,, 能不引入过多的东西就不引入,一个 ts + 一个内存型缓存 redis 完成一切,很完美,( typeorm 内置的缓存方案也可以缓存到 redis 中)
    kamwing
        48
    kamwing  
       2021-07-08 19:52:02 +08:00
    @HarryYu 强烈推荐 prisma (Next-generation Node.js and TypeScript ORM)!
    https://www.prisma.io/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3159 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:30 · PVG 20:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.