Salesforce уже не перший рік є світовим лідером серед CRM платформ, і, незважаючи на це, в Україні не так багато людей знайомі з цією платформою. У цій статті я вирішила розповісти, що таке Salesforce, чому його варто розглянути не лише джуніорам як можливість увійти в IT, але і досвідченим розробникам.
Мене звати Шалева Юля, я сертифікований Salesforce спеціаліст з понад 4 роками комерційного досвіду на платформі. Я навчилася писати код «з нуля» без технічної освіти, починала як Salesforce Administrator і приблизно за півроку роботи отримала посаду Salesforce Developer. Нині я Salesforce розробник в компанії CoreValue, а також надаю консультативні послуги як незалежний експерт, веду курси із Salesforce.
Лідер серед CRM платформ
Salesforce — це платформа, яка повністю хоститься на серверах компанії Salesforce в клауді. Компанія Salesforce була заснована в 1999 році колишнім виконавчим директором Oracle Марком Беніоффом. Головна ідея створення — це побудова доступного програмного забезпечення і впровадження його повністю онлайн в якості сервісу.
Уточню, що Salesforce уже давно вийшла за рамки просто CRM. Salesforce — це клауд-платформа, на базі якої, крім CRM частини, є багато цікавого. Salesforce дозволяє створювати та розгортати індивідуальні рішення, автоматизовувати бізнес-процеси, інтегруватися із зовнішніми додатками.
Більшість світових ентерпрайз-компаній є клієнтами компанії Salesforce і використовують цю платформу як рішення для своїх бізнес-потреб. Серед них: Adidas, AWS, Canon, Philips, Toyota, American Express, Western Union, Cisco, KLM і багато інших. Для мене стало відкриттям, що візовий центр США використовує Salesforce для збирання запитів на візи, їхньої обробки та видачі.
Salesforce, як компанія, є партнером різноманітних представників IT-світу і, відповідно, вони пропонують готові інтеграційні рішення, удосконалені сервіси для задоволення вимог кінцевих клієнтів і ще багато різних можливостей. Серед них — Apple, Microsoft, Google, Amazon.
Станом на 2019 рік Salesforce пропонує цілий набір продуктів: Sales Cloud, Service Cloud, Marketing Cloud, e-Commerce Cloud, Heroku, Integration, Community Cloud, Einstein Analytics та інші.
А тепер декілька фактів:
- Salesforce — перший номеру списку «100 найкращих компаній для роботи за 2018 рік» за версією Fortune.
- Salesforce лідируєу списку найбільш інноваційних компаній за версією Forbes у 2017 році та № 3 у 2018 році.
- Salesforce — найкраща CRM за версією G2 Crowd Grid.
- Salesforce займаєнайвищу позицію у списку CRM систем за версією Software Advice.
- Більш ніж 150 000 компаній використовують Salesforce CRM для розвитку свого бізнесу.
Всесвітні CRM-додатки 2018H1 частка ринку IDC. Image Source: salesforce.com
Переваги роботи з Salesforce для розробників
Простий початок роботи
І це, на мою думку, одна з найбільших переваг Salesforce. Не потрібно встановлювати жодних програм, немає ніяких вимог до обладнання. Розміщення в хмарі надає доступ до інформації в режимі реального часу, тобто ви можете користуватися платформою будь-де і будь-коли.
Для роботи з Salesforce потрібно мати лише доступ до інтернету. Все, що потрібно, — це перейти в браузері на сайт, ввести свій логін і пароль, і... вуаля. Ви можете створювати власні функціонали або користуватися стандартними, уже створеними Salesforce.
Multitenant Platform (платформа для багатьох користувачів)
Усі користувачі Salesforce мають спільну інфраструктуру та екземпляр програмного забезпечення. Це дає можливість автоматичного та одночасного оновлення для всіх користувачів на платформі. Ви отримуєте найсвіжіші та найновіші функції з автоматичним оновленням тричі на рік.
Training Organization
Кожен має можливість створитибезкоштовну організацію для навчання, практикування чи тестування. Це фактично повнофункціональне середовище для розробки, яке можна також використовувати для створення власних продуктів — пакетів, які можуть випускатися як додатки в AppExchange.
AppExchange
AppExchange у Salesforce дозволяє розробляти та продавати власні продукти або отримувати доступ до тисяч корисних, захищених та перевірених продуктів чи інтеграцій, створених іншими користувачами. Наприклад, apex-lang — це відкрита бібліотека допоміжних класів, написаних на Apex, метою якої є усунення недоліків у основних класах платформи. Пакет Rollup Helperдозволяє агрегувати дані за певним набором критеріїв у Salesforce без використання Apex коду.
Можливість інтеграції з іншими системами
Salesforce дає можливість для будь-якої інтеграції. Крім того, пропонується багато вбудованих інтеграцій — наприклад, з Heroku, Outlook, Gmail.
Один з моїх останніх проектів — двостороння інтеграція між Salesforce і .NET аплікацією для менеджменту і синхронізації звернень клієнтів. Для вхідних викликів використовується apex REST веб-сервіс. Для вихідних викликів використовується Apex callout — HTTP request з Apex коду.
Платформа легка у використанні та налаштуванні
Інтуїтивна і зрозуміла панель навігації. Всі вкладки розділені залежно від категорії. Для доступу до налаштувань чи кастомних розробок використовується Setup меню. Меню розділене на різні секції в залежності від мети використання. Наприклад, налаштування об’єктів і полів відбувається через Object Manager. Створити, переглянути чи редагувати Apex класс можна через Platform Tools -> Custom Code.
Кар’єрні можливості
Salesforce-спеціаліст має можливості зростання і розвитку як в технічному напрямку, так і в менеджменті проектів і консалтингу. Хороших Salesforce фахівців сьогодні небагато, і всі вони буквально «на вагу золота» (я впевнена, що будь-який рекрутер, який мав відкриту вакансію Salesforce, це підтвердить). Статистика показує, що рівень заробітної плати Salesforceрозробника вищий, ніж, до прикладу, у Javaабо .NETспеціаліста, якщо говорити про однаковий досвід.
Готові рішення
Однією з найбільших переваг Salesforce є те, що велика кількість функціоналу, яку вимагають для більшості продуктів, уже імплементована і протестована. Наприклад, вбудований функціонал Email-to-Caseдозволяє автоматично створювати Case записи в системі з електронної пошти. Або Web-to-Lead, який створює HTML форму, яку можна вставити на свій веб-сайт і створювати записи лідів безпосередньо з сайту (Lead — потенційний клієнт в розумінні SF).
Значну частину функціоналу можна просто конфігурувати без єдиної лінійки коду за короткий період часу. А це піднімає Salesforce на рівень вище порівняно з традиційною розробкою з нуля. Розробка з нуля несе набагато більші ризики для клієнта і займає набагато більше часу. Декілька разів я стикалася з ситуацією, коли клієнт інвестував у кастомну розробку півроку, а бувало і рік, а очікуваного результату не було. А потім клієнт переходив на Salesforce платформу і отримував очікуваний результат за декілька місяців.
Інноваційність
Salesforce — це платформа, яка постійно змінюється і розвивається, даючи вам нові можливості для вивчення і вдосконалення. Компанія займає активну позицію стосовно стартапів. У 2010 році була придбана одна з перших хмарних платформ Heroku, яка дозволяє розгортати, запускати та управляти додатками, написаними на різних відкритих мовах і фреймворках.
Протягом останніх років Salesforce активно інтегрує елементи штучного інтелекту (AI) в свою платформу. Технологія використовує всі дані в межах системи: дані клієнта, інформацію з листувань, електронної пошти, календаря та електронної комерції, потоки даних із соціальних мереж, такі як твіти та фотографії, для створення моделей машинного навчання. Один з прикладів AI в Salesforce — функціонал Einstein Bots for Service Cloud, який використовує машинне навчання для кращого та швидшого обслуговування клієнтів. Це дозволяє передавати запити клієнтів ботам, які застосовують поєднання машинного навчання та обробки історії клієнтів для прийняття рішення.
Цікавий спосіб навчатися
Salesforce Trailhead — це онлайн-платформа для вивчення Salesforce, яка дає можливість дотримуватися вже готових способів навчання або обрати свій шлях — і все у своєму власному темпі. Практикуйте те, що вже дізналися і перевіряйте себе в режимі реального часу. Заробляйте значки та бали, які відзначають ваші досягнення у навчанні. І все це безкоштовно!
Спільноти Salesforce спеціалістів
Salesforce підтримує регулярні зустрічіспеціалістів. Тут ми ділимось досвідом, знайомимось і просто весело проводимо час.
Недоліки
Salesforce має багато переваг, але разом з тим я б хотіла виділити низку недоліків:
- Salesforce має досить багато лімітів. До прикладу, за одну транзакцію можна зробити не більше 150 DML операцій, максимальний heap size — 6 MB для синхронних і 12 MB — для асинхронних процесів.
- Поганий механізм для дебагу коду. Для цього потрібно включити System.Debug(’message’) в свій код. Salesforce видає лог-файл, де можна побачити свої дебаг логи.
- Статичні змінні живуть тільки в межах операції. Apex-змінна живе від початку до кінця реквесту, коли реквест закінчується — змінна обнуляється.
- Деплоймент досить часто вимагає дій вручну. Конфігураційну роботу, яку не можна автоматизувати, потрібно робити вручну після деплойменту.
Кастомна розробка на Salesforce
Якщо говорити про кастому розробку, то Salesforce має достатньо потужні інструменти для цього. Серверною мовою є Apex. Це Java-подібна мова, яка підтримує більшість можливостей, щоб писати код в стилі ООП. Але, для прикладу, оператор switch вони додали тільки рік тому.
Так само, як інші ООП мови програмування, Apex підтримує класи, інтерфейси, колекції, змінні та константи, умовні оператори (if-then-else), for і while цикли. Але, крім цього, apex розробляється, зберігається, компілюється і виконується в клауд, дає можливість здійснювати прямі виклики бази даних (SOQL i SOSL query). Apex може виконуватися тригерами до або після певних DML операцій. Крім того, Apex є case-insensitive мовою.
Зазвичай Apex використовується для виконання складних бізнес-процесів, створення веб-сервісів чи email-сервісів. Apex можна викликати за допомогою тригерів — до або після змін у базі даних, є можливість запускати класи Apex в певний час.
Якщо говорити про UI — тут є два варіанти. Перший і старіший — Visualforce pages — підтримує MVC (Model-View-Controller) паттерн. В основному Visualforce сторінки розробляються у так званому Сlassic Mode — це інтерфейс, з якого Salesforce стартував в далекому 1999. Сторінки Visualforce складаються з 2 елементів: Visualforce Markup та Visualforce Controller (останній є не обов’язковим). Visualforce Markup може містити стандартні теги (бібліотека Visualforce має великий набір власних тегів), а також підтримує будь-яку стандартну веб-технологію (CSS, JavaScript, HTML, Flash і т. п.). Visualforce Controller може бути стандартним або кастомним — це фактично apex class з набором змінних та функцій.
Років зо три тому Salesforce запустив нову платформу, яка називається Lightning, і переніс весь функціонал на неї. Ну майже весь. Міграція все ще в процесі, але більшість вже працює в Lightning. Це зовсім інший підхід в архітектурі, так званий Event Driven Architecture. Для розробки власних UI компонентів використовується Lightning Component framework. Там теж є набір вбудованих бібліотек/тегів для написання UI, які пропонує Salesforce, а також підтримка стандартних веб-технологій. Для обробки івентів всередині компонентів використовується Client-Side контроллер, написаний на JavaScript. Для роботи з базою даних, написання бізнес-логіки використовується Server-Side контроллер — apex клас, методи якого викликаються з Client-Side контроллера.
Висновки
І на закінчення хотілося б згадати: аналітики IDC оцінюють, що Salesforce створить понад 3 мільйони робочих місць до 2022 року. Це робить Salesforce високо затребуваноюі оплачуваноюспеціалізацією в IT у світі.
Що стосується України, то з кожним роком попит стрімко зростає, багато компаній проводить власні тренінги та курси для розробників з можливістю подальшого працевлаштування.
Якщо у вас виникли питання — пишіть на jul.shaleva@gmail.com, буду рада вам допомогти.