Триггеры
Код, автоматически запускающийся до или после создания, изменения или удаления записи, применяющий правила или расчёты, которые правило проверки или поток самостоятельно обработать не могут.
Salesforce
Триггеры, пакетные задания, интеграции и собственная бизнес-логика позади организации Salesforce, в формате выделенного разработчика, проекта с фиксированным объёмом, поддержки в подборе персонала или консалтинга.
Всё больше бизнесов Дубая ведут процессы продаж, обслуживания и операций на Salesforce, и в тот момент, когда рабочему процессу нужна логика, которую конфигурация точкой и кликом выразить не может, приходит время нанять Salesforce Apex-разработчика в Дубае. Apex, собственный язык программирования Salesforce, строго типизированный язык, работающий прямо на платформе и позволяющий разработчику писать триггеры, пакетные задания, запланированные задания и собственную бизнес-логику, которую стандартные инструменты автоматизации не могут достичь.
Apex стоит за интерфейсом. Администратор Salesforce настраивает поля, потоки и макеты страниц, а Lightning-разработчик строит то, что видит пользователь на экране, но Apex-разработчик пишет код, запускающийся при сохранении записи, при ночном обновлении тысяч записей или когда двум системам нужно обменяться данными без нажатия кнопки человеком. Если ваш проект на самом деле про сам экран, а не про логику за ним, наша страница Salesforce Lightning-разработчик подойдёт ближе.
Эта страница для бизнеса, который уже выяснил или подозревает, что его проекту Salesforce нужен код. Разделы ниже охватывают, как реально выглядит этот код, как проверить, что он хорош, и как нанять Salesforce Apex-разработчика в Дубае так, чтобы это подошло вашему проекту.
Что строит Apex-разработчик
Конкретные результаты, а не общее описание должности.
Код, автоматически запускающийся до или после создания, изменения или удаления записи, применяющий правила или расчёты, которые правило проверки или поток самостоятельно обработать не могут.
Задания, обрабатывающие большие объёмы записей за пределами лимитов обычной транзакции, например ночную очистку, массовый пересчёт или ночную синхронизацию.
Работа, выполняющаяся в фоновом режиме, чтобы пользователь не ждал, связывая задания в цепочку или вызывая внешнюю систему без блокировки экрана перед ним.
Код, вызывающий внешний API или предоставляющий данные Salesforce ему, подключая организацию к веб-сайту, финансовой системе или другому бизнес-инструменту.
Серверная логика, которую вызывает компонент Lightning для чтения или записи данных, отдельная от собственного интерфейса и макета компонента.
Автоматические тесты, написанные вместе с кодом, которые Salesforce требует до того, как этот код вообще можно развернуть в рабочей организации.
Важные навыки
Актуальная практика, а не список модных терминов.
| Навык или практика | Как выглядит хороший уровень | Почему это важно |
|---|---|---|
| Код, безопасный для пакетной обработки | Триггеры и классы, написанные для обработки пакета записей сразу, а не одной записи в демо | Код, работающий только с одной записью за раз, отказывает при первой же реальной загрузке данных |
| Понимание governor limits | Понимает лимиты платформы на транзакцию по запросам, операциям DML и процессорному времени и проектирует с их учётом | Код, игнорирующий эти лимиты, работает в тестировании и ломается в рабочей системе |
| Покрытие и качество тестов | Пишет содержательные тестовые классы с реальными утверждениями, а не тесты, написанные только для достижения процента | Salesforce требует минимальный уровень покрытия тестами для развёртываемого кода Apex, а высокий процент со слабыми утверждениями всё равно скрывает ошибки |
| Асинхронные шаблоны | Знает, когда использовать триггер, очередное, пакетное или запланированное задание для конкретной задачи | Неправильный шаблон либо истекает по времени, либо занимает ресурсы, нужные другим автоматизациям |
| Безопасность интеграции | Правильно обрабатывает аутентификацию, ошибки и повторные попытки на любом внешнем вызове | Вызов, тихо отказывающий или раскрывающий учётные данные, это риск, который вы наследуете, а не только разработчик |
Собственное руководство Salesforce по модульному тестированию Apex и требованиям к покрытию кода устанавливает минимальный порог покрытия до развёртывания кода в рабочую организацию и отдельно упоминает пакетное тестирование и покрытие ветвей, а это именно та планка, к которой должен уже стремиться Salesforce Apex-разработчик в Дубае.
Форматы работы с нами
Выделенный разработчик подходит организации с постоянным бэклогом работы по автоматизации, интеграции и отчётности, оплачиваемой ежемесячно и направляемой вашей собственной командой. Проект с фиксированным объёмом подходит определённой задаче, например одной интеграции или одному пакетному процессу, с письменным объёмом работ и чёткой передачей. Поддержка в подборе персонала подходит бизнесу, который хочет нанять Salesforce Apex-разработчика в Дубае напрямую в свой штат, где мы помогаем написать роль, отобрать кандидатов и провести техническую оценку. Консалтинг подходит бизнесу, у которого уже есть код Apex в рабочей системе и который хочет опытное второе мнение по его дизайну или покрытию тестами перед дальнейшими вложениями бюджета.
Оценка кандидата
Проверки, раскрывающие реальный опыт в рабочей системе.
Эти проверки работают вне зависимости от способа найма Salesforce Apex-разработчика в Дубае, проводите вы собеседование сами или просите нас провести техническую оценку в рамках поддержки в подборе персонала.
Спросите, какую бизнес-задачу он решал, почему он структурировал его именно так и что изменил бы, если бы писал его заново.
Ищите реальные утверждения и пакетные данные в настройке, а не формальный тест, написанный ради выполнения требования покрытия.
Кандидат, реально сталкивавшийся с governor limits в рабочей системе, опишет это конкретно, а не расплывчато.
Спросите, что происходит, когда внешняя система медленная, недоступна или возвращает плохие данные, и как фиксируется сбой.
У кандидата, реально поставлявшего Apex в рабочую систему, будет конкретная история про сбой покрытия или governor limits и что его исправило.
Сертификации
Что доказывают собственные сертификаты разработчика Salesforce и как их проверить.
Salesforce ведёт собственные сертификаты Platform Developer через Trailhead, свою обучающую платформу, охватывающие Apex, моделирование данных и программные возможности платформы на двух уровнях глубины. Мы не заявляем эти credential от имени нашей собственной команды, но можем назвать их требованием, когда отбираем кандидата от вашего имени.
Когда вы нанимаете Salesforce Apex-разработчика в Дубае, попросите показать профиль credential на Trailhead, прежде чем принимать заявление о сертификации на веру, поскольку сертифицированные специалисты могут поделиться им напрямую. Просроченный или неподдерживаемый сертификат тоже разумно спросить, поскольку Salesforce требует периодических модулей обновления для актуальности credential.
Особенности ОАЭ
Актуально, когда ваша организация Salesforce работает с персональными данными.
Федеральный декрет-закон № 45 от 2021 года, федеральный закон ОАЭ о защите персональных данных, устанавливает обязательства защищать персональные данные и обрабатывать их с согласия, с ограниченными исключениями, независимо от того, где происходит обработка. Если триггер или интеграция читает или перемещает данные клиентов или сотрудников, поднимите этот вопрос с тем, кто направляет работу, заранее, а не после того, как она уже построена.
Salesforce хранит и отображает арабский текст без особой обработки, но код Apex, форматирующий, сортирующий или ищущий этот текст, нужно писать и тестировать на реальных арабских значениях, а не откладывать это до запуска, чтобы обнаружить, что этого не было сделано.
Эта страница относится к нашей категории Salesforce, части более широкого раздела наём разработчиков в Дубае. Если ваш проект Salesforce в основном про конфигурацию и лёгкую настройку, а не про собственный код, наша общая страница Salesforce-разработчик может стать лучшей отправной точкой, а если нужный код уже существует, но требует связи с другими системами, смотрите нашу страницу Salesforce Integration Developer. Для повседневного администрирования платформы после запуска сборки наша страница Salesforce Administrator охватывает эту роль, а для заявленного сертификата в резюме наша страница сертифицированный Salesforce-разработчик объясняет, что он доказывает, а что нет.
Прямые ответы
Нет. Salesforce построен так, чтобы администратор мог настраивать поля, макеты страниц, правила проверки и потоки без единой строки кода, и многим бизнесам никогда не требуется больше этого. Apex-разработчик нужен, когда логика реально выходит за рамки того, что могут выразить инструменты точки и клика, например сложные расчёты по записям, массовая обработка данных или интеграция в реальном времени.
Администратор настраивает платформу через её декларативные инструменты, а Apex-разработчик пишет и тестирует код, поэтому эти две роли пересекаются только по краям. Большинству проектов Salesforce нужны обе роли, и многие команды нанимают одного человека, сильного прежде всего в конфигурации, а затем привлекают Apex конкретно для тех частей, которым он нужен.
Часто да на рабочем уровне, поскольку Apex обычно стоит за компонентом Lightning как его контроллер. Для проекта, в основном связанного именно с интерфейсом, например экраном приложения или сложной формой, наша страница о Salesforce Lightning-разработчике подробнее раскрывает эту сторону.
Salesforce не позволит новому коду Apex попасть в рабочую организацию, если общее покрытие тестами организации не достигает минимального порога, поэтому попросите показать существующие тестовые классы и что они реально проверяют, а не только процент покрытия. Высокое число со слабыми утверждениями говорит меньше, чем меньшее число хорошо написанных тестов.
Мы не заявляем сертификации от имени нашей собственной команды. Salesforce ведёт собственные сертификации Platform Developer, и если credential важен для вашего проекта, мы можем включить его как заявленное требование, когда отбираем или оцениваем кандидата, и показать, как проверить его напрямую.
Источники
Фиксированная цена в письменном виде
Получили. Мы уже готовим ваше предложение.
В рабочее время вы получите его в течение 45 минут. Проверьте почту, там письмо с подтверждением.