Apex 触发器和类
在记录发生变化、批处理任务夜间运行,或流程需要点击式自动化无法承载的复杂规则时自动执行的自定义逻辑。
企业在迪拜聘请 Salesforce 开发工程师,通常是在平台自身的设置界面已不足以应对的那个节点:一个逻辑过于复杂、标准流程无法承载的工作流,一个确实需要自定义组件的 Lightning 页面,或是一条必须在后台稳定运行的外部系统连接。Salesforce 把 Apex(自己的编程语言)文档描述为专为这类工作打造,与声明式配置并行存在,而不是取而代之。
大多数迪拜企业实际面临的实际问题,不是 Salesforce 能不能做到某件事,因为这个平台本身足够广泛,而是应该由谁来搭建、以及如何搭建。这个决定塑造了本页其余的内容:开发工程师日常实际在做什么,什么能区分真正能交付的开发工程师和不能的那种,以及企业可以用哪些不同方式把这个人引入团队。
这个角色负责搭建什么
具体的交付成果,而不是泛泛的职位描述。
在记录发生变化、批处理任务夜间运行,或流程需要点击式自动化无法承载的复杂规则时自动执行的自定义逻辑。
为 Lightning 页面搭建的自定义界面部件,用于标准组件无法按业务需要呈现或采集数据的场景。
通过 Salesforce 自身的 API,与 ERP、营销工具或定制应用等其他系统建立连接。
专为容纳 Salesforce 标准对象从未打算记录的信息而设计的自定义对象、字段和关系。
当标准报表无法回答所提出的问题时,使用的计算字段、自定义报表类型或由 Apex 支撑的报表。
与代码一同编写的自动化测试类,以及沙盒到生产环境之间恰当的部署流程,确保自定义工作不会在发布时出问题。
值得关注的技能
能交付可用代码的人所具备的信号,而不是一堆流行词。
| 技能或工具 | 良好水平的表现 | 为什么重要 |
|---|---|---|
| Apex 基础 | 理解调控限制和批量安全代码,而不只是语法能跑通 | 忽视平台限制的代码,会在数据量增长时出现不可预测的故障 |
| 声明式优先思维 | 在流程或标准配置同样能解决问题时优先选择它们,而不是直接写代码 | 不必要的自定义代码会增加维护成本,却没有实际收益 |
| Lightning Web 组件 | 能自如地从零搭建组件,而不只是修改现有组件 | 大多数自定义界面需求需要真正搭建,而不只是样式调整 |
| 测试纪律 | 作为工作的一部分编写有意义的测试类,而不是为了凑够覆盖率数字 | Salesforce 要求达到测试覆盖率才能部署,薄弱的测试会掩盖真实的漏洞 |
| 发布流程 | 使用规范的沙盒到生产环境部署流程,而不是在生产环境中直接改动 | 直接在生产环境中做出的改动难以追踪,也很容易出问题 |
Salesforce 官方的 Apex 开发者指南 直接说明了这门语言的基础知识,在迪拜聘请 Salesforce 开发工程师时,候选人应该能在面试中当场熟练查阅它,而不只是凭记忆背诵。
与我们合作的方式
在一个活跃组织中持续出现的小规模搭建和修复工作,适合专职开发工程师,按月与您内部负责 Salesforce 关系的人一起工作。一项范围明确的独立工作,例如一次集成或一组明确定义的 Lightning 组件,更适合限定范围的项目,有清晰的移交环节。如果迪拜企业希望把 Salesforce 开发工程师直接招入自己的团队,我们的招聘支持会代表该企业寻访候选人并进行技术评估。而当真正的问题是该搭建什么、而不是怎么搭建时,我们的咨询服务能在动笔写代码之前帮您确定方案。
评估候选人
揭示真实交付经验、而不是背诵语法的检验方式。
您可以自行运用这些检验方式,也可以在我们通过招聘支持帮您在迪拜聘请 Salesforce 开发工程师时,将其交给我们作为技术评估阶段来执行。
而不是教程练习。询问它解决了什么业务问题,以及现在会如何改动。
询问对方会如何安全地处理一万条记录,留意的是批量安全的设计思路,而不是一个默默假设数据量很小的循环。
一位出色的候选人能描述一个用流程而不是 Apex 解决的需求,说明他们是有意识地选择代码,而不是默认使用。
询问一个优秀的 Apex 测试类实际检查什么,而不只是达到某个覆盖率百分比。
真正上线过自定义改动的开发工程师,一定在某个时刻遇到过部署失败,他们如何恢复的经历,比一份干净的简历更能说明问题。
认证
Salesforce 专门为开发工程师设有自己的认证路径。
Salesforce 发布了自己的 Platform Developer 认证,涵盖 Apex、数据建模和 Lightning 组件,分为不止一个深度级别。关于它证明了什么、以及如何详细核实,请参阅我们专门介绍持证版本这一角色的页面。
不要仅凭证书说法就信以为真,请向候选人索取可核实的凭证链接并在做决定前确认,我们关于这一角色的另一篇页面会逐步说明这个过程。
阿联酋相关要点
在真实的迪拜 Salesforce 项目中会出现的两个方面。
《2021 年第 45 号联邦法令》,即阿联酋的联邦数据保护法,同样适用于存放在 Salesforce 中的客户和员工数据,因此字段级访问和共享规则值得单独讨论,而不是想当然地认为 Salesforce 的默认设置已经足够。
只为从左到右布局搭建的 Lightning 组件,需要真正的返工才能妥善支持阿拉伯语,因此如果您的用户需要这一点,请直接询问候选人是否有过这方面的经验。
本页属于我们的 Salesforce 类别,是更大范围的 迪拜招聘开发人员 板块的一部分。如果一份具名认证对您的决策最为重要,我们的 持证 Salesforce 开发工程师 页面对此有更深入的说明;如果工作主要是配置而不是代码,我们的 Salesforce 管理员 页面更贴合需求。专门针对自定义定价和报价逻辑,请参阅我们的 Salesforce CPQ 开发工程师 页面;如果主要工作是把 Salesforce 与外部系统连接起来,我们的 Salesforce 集成开发工程师 页面有更详细的说明。更宏观的技术或流程设计决策,则属于我们的 Salesforce 技术架构师 页面。
直接解答
如果工作能通过 Salesforce 自身的设置界面完成,例如新字段、页面布局、报表或简单流程,管理员就能胜任。一旦需求需要自定义 Apex 代码、从零搭建的 Lightning 组件,或设置界面本身确实无法表达的逻辑,那就是开发工程师的工作。
单个开发工程师很适合稳定的持续配置和小规模搭建工作。一个截止日期紧张的明确项目,或跨越多个云产品的组织,往往由分工明确的小团队推进更快,我们会坦诚地这样建议,而不是让一个人承担全部工作。
有些人能在基础层面做到,但许可证管理和组织级设置更自然地属于管理员,或您内部负责 Salesforce 关系的人。即便同一个人恰好同时接触这两方面,把职责划分清楚也是值得的。
全新实施通常从由管理员或顾问主导的配置和流程设计开始,一旦出现真正的自定义需求,再引入开发工程师。在一个全新组织上一开始就只靠开发工程师单打独斗,往往意味着为原本点击几下就能完成的工作付出写代码的成本。
不需要很高。用平实的商业语言描述您需要的结果,例如用户现在无法做到、但应该能做到的事,一位称职的开发工程师会把这转化为 Apex 或 Lightning 方案,并在过程中与您确认各项假设。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。