全新 Web 应用搭建
一个全新的 Rails 应用,带有用户账户、数据库结构,以及产品上线所需的核心页面。
大多数企业在迪拜聘请Rails开发工程师,是为了构建或维护一种特定类型的产品:一个带用户账户的 Web 应用、一个按订阅计费的 SaaS 平台,或者一个背后有大量表单、记录和管理后台的内部工具。Rails 的设计理念是,大多数 Web 应用其实共享相同的底层结构,它的各种约定会替您处理好这部分结构,让 Rails 团队能把精力放在让产品与众不同的地方,而不是从零重建路由、数据库访问和表单处理这些基础工作。
这种专注同时也是它的局限所在。Rails 很适合这类应用,但对于一个独立脚本、一个命令行工具,或一小段自动化任务来说,它并不是自然的选择,我们的通用 Ruby 开发工程师页面更适合这类需求。本页接下来的内容,专门针对 Rails Web 应用和 SaaS 产品方面的工作。
Rails 开发工程师能做什么
来自真实 Rails 产品的具体交付成果。
一个全新的 Rails 应用,带有用户账户、数据库结构,以及产品上线所需的核心页面。
订阅计费、团队账户、权限管理,以及一款成长中的 SaaS 产品持续需要的功能开发。
利用 Rails 自带的脚手架功能和面向管理后台的 gem,快速搭建以记录为主的内部工具。
将应用从一个已不受支持的 Rails 或 Ruby 版本,迁移到仍在获得修复的版本上,同时不破坏现有行为。
为独立的前端或移动应用提供支持的 Rails API,在不需要完整服务端渲染应用时,使用 Rails 的纯 API 模式。
排队执行的异步工作,例如发送邮件、处理上传文件或同步数据,可靠地在请求周期之外完成处理。
值得关注的技能
针对这个框架的具体实践能力,而不只是 Ruby 知识。
| 技能或工具 | 合格的表现 | 为何重要 |
|---|---|---|
| 当前的 Rails 和 Ruby 版本 | 使用的版本仍在 Rails 自身的 bug 修复或安全修复窗口期内 | 不受支持的版本会让应用长期暴露在风险中,且不会再收到修复 |
| 数据库与 Active Record | 能编写高效查询,并了解 Active Record 的便利之处何时会掩盖一条缓慢的查询 | 不佳的查询模式是 Rails 应用运行缓慢最常见的原因 |
| 测试规范 | 把模型测试、请求测试和系统测试当作功能开发的常规部分 | Rails 应用增长很快,未经测试的代码会迅速变得脆弱 |
| 后台任务 | 为缓慢或不可靠的工作正确使用队列,而不是阻塞请求本身 | 把发送邮件之类的工作放在请求内联处理,会让页面显得迟缓,还可能悄悄失败 |
| 基础安全意识 | 理解 Rails 的内建保护机制,不会在没有明确理由的情况下就将其关闭 | Rails 自带合理的默认设置,在不理解原因的情况下关闭它们是一个常见错误 |
Rails 官方的 维护政策 说明了每个发布系列会获得多长时间的 bug 修复和安全修复,值得在让开发工程师接手任何现有应用之前先对照检查一遍。
与我们合作的方式
如果是一个持续运营、功能开发不断推进、待办事项一直在变化的 SaaS 产品或 Web 应用,适合选择专属开发工程师。如果是一项范围明确的构建,例如一个新应用、一层 API,或一次版本升级,交付后即可收尾,适合委托限定范围的项目。如果您想组建自己的长期 Rails 团队,由我们负责寻访和技术评估,适合选择招聘支持。如果您已有一个 Rails 应用,想就性能、架构,或是否到了该升级的时候获得一个外部意见,适合选择咨询服务。工作开始前,合作范围都会以书面形式确认。
考察候选人
能揭示真实 Rails 经验、而不是训练营项目的考察方式。
而不是一个教程仿制项目。询问数据库结构或架构方面一个较难的决定,以及为什么这样做。
一段接近您产品的小工作,评审重点是否顺应 Rails 的约定,而不是与之对抗。
当一个 Rails 页面或接口变慢时,他们首先会检查什么。这里含糊的回答是一个真正的短板,因为这在每一个真实的 Rails 产品中都会遇到。
请他们展示以往工作中的一个测试文件,以及他们认为哪些测试是必需的、哪些是可选的。
Rails 和 Ruby 都在按计划持续演进,一位从未升级过应用的开发工程师,等于缺少了一项常见的真实经验。
您可以自行完成这五项考察,也可以在通过招聘支持招聘时委托我们代为完成,由我们负责技术评估。
认证
目前没有专门针对 Rails 本身的官方认证。
与 Ruby 语言本身不同,Ruby 有 Ruby Association 运营的独立考试,而 Rails 框架并没有自己的认证机构可供核实。
一个已上线的 Rails 应用、如果可能的话看一看他们在真实项目中的提交记录,以及对以往一次生产事故的坦诚说明,比任何证书都更能说明问题。这是在为超出小任务范围的工作寻找开发工程师之前,最值得做的一步。
阿联酋相关考量
专门与 SaaS 和金融科技类 Rails 产品相关。
一个带用户账户的 Rails 应用,几乎必然会处理个人数据,这使它无论处理行为发生在哪里,都要受阿联酋联邦数据保护法约束。这一点应该从一开始就影响数据库结构和访问控制的设计,而不是事后再补上。
根据 DIFC 自己的法律数据库,一个在 DIFC 自由区运营的 SaaS 或金融科技产品,适用的是 DIFC 自身的数据保护法,而不只是联邦层面的法规。如果您的产品基于 DIFC,请在项目简报阶段就向负责搭建的人提出这一点。
这一职位归属于我们的 编程与软件开发 分类,属于 迪拜聘请开发工程师 的一部分。对于 Rails 应用之外的 Ruby 脚本和工具开发工作,请参见我们的 Ruby 开发工程师 页面。适用于 SaaS 或 Web 应用搭建的可比框架,请见我们的 Laravel 开发工程师 和 Django 开发工程师 页面,而对于更宽泛的产品范畴,我们的 Web 应用开发工程师 分类也值得一看。无论最终需要哪一种,在迪拜聘请Rails开发工程师之前,先明确具体的工作范围总是有帮助的。
直接解答
不完全是。Rails 是建立在 Ruby 之上的一个特定框架,有自己的一套约定、工具链和 gem 生态。一位通用的 Ruby 开发工程师不一定有深厚的 Rails 经验,所以如果项目具体是一个 Rails 应用,请明确提出这一点。
合理,尤其对于需要尽快让可用版本面向用户上线的 Web 应用或 SaaS 产品来说。Rails“约定优于配置”的理念,依然能让一支小团队在常规 Web 应用模式上快速推进。
这是 Ruby on Rails 开发工程师的常见工作内容。第一步是对照框架自身的维护政策,确认它运行在哪个 Rails 和 Ruby 版本上,再决定是逐步升级,还是规划一次更大规模的重建。
Rails 有很强的内建测试文化,一位合格的开发工程师应该习惯把模型测试、请求测试和系统测试当作功能开发的常规部分,而不是发布前才临时补上的事后工作。
是的,这正是 Rails 的一大真正优势。它的脚手架功能和面向管理后台的 gem,能让内部工具或面向公开产品背后的管理后台快速搭建起来。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。