Разработка #гайд

Что такое Salesforce и как стать Salesforce-разработчиком

06 сентября 2019 Читать ~ 7 минут

Содержание:

  1. Что включает в себя платформа Salesforce
  2. Что можно разрабатывать для Salesforce
  3. Что нужно знать начинающему Salesforce-разработчику
  4. Как стать Salesforce-разработчиком
  5. Как выглядит карьерная лестница Salesforce-разработчика
  6. 3 причины, почему вам подойдет разработка для Salesforce

Salesforce – популярная облачная CRM, которой владеет одноимённая компания из США. Gartner в 2018 году назвал Salesforce лучшим PaaS-решением для бизнеса, а в 2019 Salesforce признали лидером на рынке CRM-систем за последние 6 лет. Salesforce уже использует более 150 тысяч компаний, среди которых – Sony, Financial Times, Toyota и многие другие известные мировые бренды.

Компания Salesforce динамично развивает не только CRM, но и экосистему для разработки под эту платформу. По данным исследования международной консалтинговой компании IDC, уже к 2022 году платформа Salesforce создаст в мире около 3,3 миллионов рабочих мест, включая позиции для разработчиков.

В белорусских IT-компаниях, работающих с зарубежными клиентами, уже есть вакансии для Salesforce-разработчиков. Но на нашем рынке работодателям еще достаточно сложно найти подходящих кандидатов, что повышает шансы начинающих Salesforce-разработчиков на трудоустройство и интенсивный карьерный рост.

В статье мы расскажем, что можно разрабатывать для Salesforce, какие технологии нужно знать и как построить карьеру в этом направлении.

Что включает в себя платформа Salesforce

Salesforce представляет собой облачную платформу для управления бизнес-процессами в сфере продаж, клиентского сервиса, цифрового маркетинга. И ключевые продукты для этих целей – Sales Cloud, Service Cloud, Marketing Cloud. Также среди востребованных решений для бизнеса – Commerce Cloud (для электронной коммерции), Financial Services Cloud (для компаний из финансовой сферы), Health Cloud (для медицинских организаций). Salesforce предлагает и дополнительные компоненты, которые можно внедрять в их продукты. Например, CPQ (Configure, Price, Quote) – инструмент для автоматической генерации ценовых предложений, Chatter – корпоративная социальная сеть.

В 2007 году компания Salesforce запустила первую PaaS-платформу для разработчиков – Force.com, которая позволила создавать и разворачивать приложения в инфраструктуре Salesforce. В 2018 году Force.com трансформировали в Lightning Platform, но в среде разработчиков часто можно услышать и первое название.

Salesforce регулярно обновляет свои сервисы и добавляет новые современные решения. Один из таких продуктов – Einstein AI, который содержит элементы искусственного интеллекта. С помощью Einstein AI бизнес может внедрять в свою CRM предиктивную аналитику, например, чтобы спрогнозировать, какие потенциальные клиенты (лиды) наиболее перспективны для дальнейшего сотрудничества.

Еще один перспективный продукт от Salesforce IoT Cloud. Эта платформа позволяет собирать и обрабатывать в реальном времени данные от устройств, объединённых в систему IoT, а пользователи CRM могут управлять этими данными. К примеру, в ритейле IoT Cloud может агрегировать данные от сенсоров на товарах, чтобы можно было отслеживать условия их транспортировки и хранения.

Что можно разрабатывать для Salesforce

Salesforcе можно адаптировать под потребности бизнеса двумя способами – с помощью конфигурации и кастомизации. Разработчики преимущественно занимаются кастомизацией Salesforce, но частично могут выполнять и конфигурацию.

При конфигурации функционал CRM настраивается через пользовательский интерфейс администратора Salesforcе без использования кода. Так можно создать таблицы, объекты, поля, сформировать между ними взаимосвязи, установить правила для автоматизации рабочих процессов. Крупный бизнес обычно для конфигурации СRM нанимает в штат отдельного специалиста – Salesforcе-администратора.

Кастомизация нужна, если возможностей конфигурации не хватает, чтобы автоматизировать сложную бизнес-логику.

Примеры кастомизации Salesforcе:

  • Разработка нового функционала к стандартным модулям CRM.
  • Автоматизация сложных бизнес-процессов под нужды конкретной компании.
  • Разработка кастомных шаблонов для email-писем.
  • Внедрение в CRM возможностей Einstein AI.
  • Создание кастомных отчетов и дашбордов.
  • Интеграция Salesforcе с другими системами (ERP, веб-сайтом компании, социальными медиа и т.д.).
  • Разработка кастомных приложений для Salesforce (продуктовые IT-компании могут размещать такие приложения в специальном маркете – AppExchange).

Что нужно знать начинающему Salesforce-разработчику

Платформа Lightning предоставляет разработчикам все необходимые инструменты для кастомизации Salesforce: от нативного языка для серверной части (Apex) до UI-фреймворков. При этом трижды в год (зимой, весной и летом) Salesforce выпускает обновления для Lightning. В каждом релизе – примерно 150 обновлений. Всю информацию о нововведениях и изменениях можно найти на сайте Salesforce.

В платформу Lightning интегрированы две бесплатные среды разработки – консоль разработчика (Developer Console) и Force.com IDE. Первый вариант подойдет лишь для обучения, так как в консоли нет многих важных функций, необходимых для профессиональной разработки, например, интеграции с системой контроля версий, подсветки синтаксиса кода. А Force.com IDE лучше не выбирать, потому что с 12 октября 2019 года Salesforce прекращает её поддержку. Одно из самых популярных окружений, которое предпочитают использовать Salesforce-разработчики, – Microsoft Visual Studio (есть расширения для работы с Salesforcе).

Какие технологии нужны для backend-разработки

Для серверной разработки на Lightning используется Apex – строго типизированный объектно-ориентированный язык программирования, синтаксис которого напоминает Java. Код Apex хранится в формате классов и триггеров. Класс – это шаблон для создания объектов Apex, а триггер – код, который выполняется до или после обращения к базе данных. Также в Salesforcе используется свой язык для управления данными, наподобие SQL, который называется SOQL.

При backend-разработке для Salesforce программистам важно учитывать некоторые особенности платформы. Первое – прежде чем запустить Apex код в продакшн, его нужно покрыть юнит-тестами на 75%. Второе – на платформе существуют лимиты для разработчиков (governor limits), то есть ограничения по некоторым операциям. Например, в одной транзакции можно выполнить 100 SOQL запросов. Это связано с тем, что Salesforce, как PaaS-решение, построена на мультитенантной архитектуре (multitenancy), где ресурсы распределяются между всеми подписчиками.

Какие технологии нужны для frontend-разработки

В Salesforcе cейчас доступны два вида пользовательских интерфейсов – Salesforce Classic (больше не обновляется) и более современный – Lightning Experience, для работы с которым применяются следующие технологии:

Lightning Component Framework фреймворк для создания пользовательских интерфейсов (похож на AngularJS и React), который используется при разработке одностраничных Salesforcе-приложений для десктоп и мобильных устройств. Сейчас фреймворк поддерживает две модели программирования: Aura Components (на основе фреймворка Aura) и Lightning Web Components, которая позволяет разработчикам создавать кастомные элементы UI, используя HTML и JavaScript. Сочетая эти две модели, можно разрабатывать богатый интерактивный пользовательский интерфейс.

Visualforce – фреймворк включает язык разметки, похожий на HTML, и контроллер. Visualforce поддерживает обширную библиотеку компонентов, упрощающих разработчикам процесс создания веб-страниц. С помощью фреймворка можно изменять стандартный пользовательский интерфейс Salesforce или создать полностью новый. Также Visualforce интегрируется с любым фреймворком JavaScript, например, jQuery, AngularJS.

Как стать Salesforce-разработчиком

Искать стажировки в IT-компаниях

Белорусские образовательные центры ещё не предлагают курсы по Salesforce. Однако IT-компании, которые занимаются разработкой для Salesforce, периодически проводят обучение или стажировки с перспективой трудоустройства. Например, компания VPR Consulting создала дистанционный курс, рассчитанный на месяц обучения с ментором. После его успешного завершения предлагают оплачиваемую стажировку на 6 месяцев, по результатам которой можно претендовать на позицию junior Salesforce-разработчика.

Улучшать английский язык

Разработкой для Salesforce занимаются IT-компании, ориентированные на зарубежных заказчиков, в основном – из США, поэтому обязательным требованием в вакансиях будет хорошее знание английского языка. Более того, без уверенного понимания английского возникнут трудности еще на этапе обучения – на русском языке практически нет материалов о разработке для Salesforce.

Практиковаться на Trailhead

Trailhead – это бесплатная платформа от Salesforce, которая состоит из обучающих курсов с элементами геймификации, сочетающих теорию и практические задания. Начать обучение можно с модуля Developer Beginner, где собрана базовая информация о разработке для Salesforce.

Проходить онлайн-курсы

На английском языке можно найти большое количество онлайн-курсов для Salesforce-разработчиков, но практически все платные. Однако на Udacity есть бесплатный вводный курс по разработке для Salesforce, а на Udemy часто снижают стоимость обучения до 10-12 долларов.

Как выглядит карьерная лестница Salesforce-разработчика

Salesforce-разработчик, как и любой программист, растет по уровням от junior до senior. Также есть профессиональная градация от компании Salesforce, в которой каждый карьерный этап соответствует определённому сертификату. Чтобы его получить, нужно пройти платный тест. Для разработчиков предусмотрено 5 видов сертификатов. Однако свой статус необходимо периодически подтверждать (соответственно релизам Salesforce), выполняя задания в своём аккаунте на Trailhead, иначе сертификат может быть аннулирован.

Senior Salesforce-разработчик может продолжить карьерный рост и в перспективе стать архитектором или консультантом.

Salesforce архитектор высшая ступенька технологического роста для Salesforce разработчика. Исходя из потребностей бизнеса клиента, архитектор проектирует всю CRM-систему. Для этой позиции нужен богатый опыт в разработке для Salesforce, знание всех облачных продуктов и инструментов этой платформы.

Salesforce консультант – посредник между заказчиком и технической командой (архитектор и разработчики). Он анализирует бизнес заказчика, изучает проблемы, явные и возможные в будущем, и подбирает оптимальные решения на основе Salesforce. Консультанту нужно уметь соотносить потребности бизнеса с техническими возможностями Salesforce. При этом важно понимать, когда действительно нужна кастомизация Salesforce, а когда можно ограничиться конфигурацией.

3 причины, почему вам подойдет разработка для Salesforce

Вы не любите разрабатывать «с нуля»

Платформа Lightning содержит много готовых компонентов для разработки, значительно упрощающих работу программиста.

Вам интересно углубляться в бизнес заказчика

Разработка для Salesforce предполагает погружение в бизнес-процессы компании-заказчика. Более того, понимание бизнеса станет частью ваших профессиональных компетенций и будет влиять на карьерный рост.

Вам нравится и backend, и frontend разработка

Salesforce разработчиков можно отнести к full-stack программистам. Вы сможете работать над серверной частью приложений и создавать удобный интерфейс для пользователей.