rozwój oprogramowania
IT experts’ panel part 2: Salesforce
07 gru. 2022
Witam, dziś zapraszam na kolejną odsłonę naszego bloga. Pozostajemy w temacie low code. Pytania będę kierować do naszego eksperta, Łukasza Lelakowskiego, i mam nadzieję dowiedzieć się, czym jest Salesforce i o co w tym wszystkim chodzi.
Co to jest ten Salesforce? Czy to jest platforma?
Tak, Salesforce to platforma CRM (customers relationship menagement), oparta całkowicie na chmurze. Dzieli się na różne cloudy, oferujące różne usługi, różne featury out of the box. Więc to tak w dużym skrócie.
Do czego jest używany Salesforce? Rozumiem, że jest to CRM, ale do czego?
Salesforce z założenia jest używany do szeroko pojętej obsługi relacji z klientem. Przede wszystkim chodzi tu o sprzedaż. Sales Cloud i Service Cloud to dwie główne chmury. Sales Cloud służy do samego procesu sprzedaży, Service Cloud do obsługiwania case-ów. Potem się dzielą na kolejne cloudy. To też może być Marketing Cloud, czyli spersonalizowane kampanie marketingowe i interakcja z użytkownikiem, może to też być Pardot, czyli email marketing. Jest wiele produktów Salesforce’a, służących do realizacji różnych zadań i scenariuszy biznesowych. Z tym, że sam Salesforce daje też duże pole do popisu, jeśli chodzi o customizacje, czy możliwość tworzenia własnych implementacji.
Czy trzeba być Salesforce developerem, a nie np. .NET-em, żeby cokolwiek zmieniać w platformie?
Generalnie Salesforce, cała oferta Salesforce’a, składa się z wielu rodzajów licencji, jeśli chodzi o użytkownika oraz różnych edycji samej platformy. No i tutaj wiele zależy od potrzeb biznesu. Większości firm na start wystarczy sam salescloud i featury, które on oferuje out of the box i procesy biznesowe. Później mogą dojść jakieś ewentualne modyfikacje, które można zrobić właśnie przy użyciu no code lub low code, czyli narzędzi deklaratywnych w Salesforce. Kiedy okazuje się, że jednak to, co można ustawić, skonfigurować deklaratywnie jest niewystarczające, czyli proces biznesowy jest dużo bardziej złożony, lub dochodzą do tego jakieś skomplikowane integracje, to wkraczają właśnie Salesforce developerzy. No i mamy w salesforce język APEX, który jest językiem bardzo podobny do Java. Posługiwanie się nim wymaga umiejętności programistycznych. Ja z doświadczenia wiem, że jest wiele osób, które wcześniej pracowały w .NET, albo właśnie w Javie i przebranżawiają się na Salesforce i jest to dla nich dosyć proste. Jakby przestawienie się na ten język jest po prostu poznaniem jego możliwości i też ograniczeń, dla osób, które mają jakieś doświadczenie w języku obiektowym, to gdzieś tam programowanie w Salesforcie nie jest trudne. Jedynie w Salesforcie dochodzi jeszcze taki element jak charakterystyka samej platformy, czyli to co, da się na niej zrobić albo się nie da. Implementuje się, czy robi się rzeczy inaczej niż w innych systemach, bo w Salesforcie trzeba mieć to na uwadze, że sama platforma z uwagi na multitenancy ma wiele limitów. Chodzi tutaj o limity, które w założeniu Salesforce’a mają za zadanie zachowanie równowagi w wykorzystaniu zasobów przez klientów, którzy korzystają z samej platformy, czyli zarządzanie zasobami serwerów chmury. Więc programując w Salesforcie, a szczególnie już będąc Salesforce developerem, dużym wyzwaniem jest projektowanie systemu i aplikacji tak, aby zachować te dobre praktyki, bo rzecz którą można było zrobić w .NET bez najmniejszego problemu, jeśli chodzi o wydajność czy ograniczenia, w Salesforcie może być dużym wyzwaniem. I właśnie w tym aspekcie Salesforce jest bardzo wymagajacy.
Powiedz mi, czy to jest tak, że można to składać jakby z klocków, tak? Że jakby z gotowych rzeczy można coś robić, a jak się chce coś innego, to trzeba to napisać od zera.
To jest tak. Wszystko, a na pewno bardzo dużo zależy od polityki firmy, bo jeżeli ma się osoby, które dobrze znają narzędzia deklaratywne, i firma godzi się z ewentualnymi ograniczeniami, jakie niesie właśnie za sobą użycie deklaratywnych narzędzi, to mamy w przypadku Salesforce’a Proces Builder, Flow Buildera albo Workflow. Jednak na przyszłośc pozostaje Flow Builder, bo Salesforce zamierza te dwa pozostałe narzędzia wycofać. Dla większości firm ten Flowbuilder będzie w zupełności wystarczający. To jest pewne. Ale jeżeli rzeczywiście dochodzą jakieś trudniejsze elementy, to jest tu potrzebny Apex. No i tutaj faktycznie, do narzędzi deklaratywnych nie trzeba mieć jakiejś wiedzy stricte programistycznej, choć ta wiedza z pewnością się przydaje.
Czy Salesforce to narzędzie tylko dla firm, które mają sprzedaż, czy można z tego Salesforce’a zrobić aplikację do czegoś innego?
Można robić aplikacje do czegoś innego i to możemy zobaczyć na przykładzie naszej firmy, bo Salesforce jest wprawdzie przystosowany do sprzedaży rzeczy, ale defacto rekrutacja też jest sprzedażą, tylko, że ludzi (nie wiem, czy nie lepiej ubrać tego jakos ładniej w słowa). Więc z racji, że Salesforce udostępnia dużo takich mechanizmów, które pozwalają dostosować platformę do swoich potrzeb, to tak. Można używać bazy Salesforcowej, tych standardowych obiektów takiej bazy pod swoją implementację, a potem rozwijać o customowe obiekty, o własną strukturę, także o własny kod APEXowy, który to będzie obsługiwał. Można też ewentualnie uzyć tych narzedzi deklaratywnych. No i wtedy tak można powiedzieć, że korzysta się z Salesforce’a jako takiej bazy danych. Plus do tego cała infrastruktura, całe security, to mamy na samym starcie, czy rzeczy związane z zarządzaniem użytkownikami. To właśnie dostarcza nam Salesforce. O to się nie musimy martwić.
Jak wygląda rozwój Salesforce?
W Salesforcie są trzy duże releasy w roku robione przez samego Salesforce’a. Jest to Spring, Summer i Winter update. I w ramach tych releasów są wdrażane nowe featury w platformie. Są też poprawiane błędy albo uszczelniane jakieś luki w security.
Trzy razy w roku to chyba dość często?
No tak. Trzeba mieć rękę na pulsie. Przeprowadzać porządną regresję, bo tam faktycznie potrafią wychodzić różne rzeczy, czasami nawet przeglądając release note nie wszystko da się łatwo wyłapać. Po prostu trzeba to wszystko dobrze sprawdzić. Szczególnie jak się ma bardzo customową implementację.
Oznacza to że platforma ciągle się rozwija?
Tak. Sam Salesforce się rozwija bardzo mocno. Generalnie też można to zauważyć np. po firmach, technologiach, które kupują. Ostatnio taką największa transakcją, to był właśnie Slack.
Zauważyłam, że teraz na rynku jest duże zapotrzebowanie na Salesforce developerów i nie tylko w Polsce, ale też za granicą. Jak można zostać Salesforce developerem?
Żeby zostać Salesforce developerem trzeba mieć podstawy jakiegokolwiek języka obiektowego. Najlepiej jeśli byłaby to Java.
Czyli podstawy Java?
Jest to na pewno taka podstawa, żeby gdzieś tam się odnaleźć w tym środowisku Salesforce’a, no i myślę, że tutaj studia nie są warunkiem koniecznym.
No tak. Ale w takim razie potrzebne są jakieś szkolenia?
W Salesforce jest o tyle fajnie, że jest cała platforma zwana trailhead, z której można się uczyć. Są to gotowe ścieżki. Czy pod Salesforce administratora, czy konsultanta, czy developera, tych modułów jest mnóstwo i one są przygotowane w fajny, przejrzysty sposób. Mamy jakiś moduł i czytamy do tego całą instrukcję. Na końcu zawsze mamy pytania abcd albo musimy coś zrobić rzeczywiście na platformie. Jest on darmowy i w zasadzie, żeby tak się zacząć uczyć Salesforce’a, nie trzeba żadych nakładów finansowych ani faktycznie dostępu przez jakieś firmy. Na salesclouda można bez problemu zrobić sobie tryheady i się tego po prostu nauczyć.
A dlaczego Ty wybrałeś Salesforce i jaka była Twoja ścieżka?
Jaka była moja ścieżka? Hmm, gdy zaczynałem w IT, chciałem pracować jako frontend developer. Trafiłem na taki projekt, gdzie tworzyłem templatki mailowe w Pardot. Więc tam HTML, CSS jakiś JavaScript robiłem, a że to było powiązane z Salesforce, to zacząłem właśnie z tego Pardota przechodzić do zadań bardziej salesforcowych. No i to mi się po prostu spodobało, podobała mi się ścieżka rozwoju, same Trailheady i rozwijające się community Salesforce’a. No i to, że jest na pewno taka różnorodność, bo robi się rzeczy we frontendzie, pracuje się z bazą danych. Jest tam też czasem coś z administracji. Jest bardzo szerokie spektrum tej pracy i dzięki temu, że jest ona zróżnicowana, to daje ona więcej satysfakcji. Jest to też motywujące do nauki i do rozwijania się. Pracując ze wszystkim naraz, fajnie robić te certyfikaty, bo one dają obraz, co jest na czasie w Salesforce, co warto wykorzystywać. Jakie są nowe featury, w które może warto zainwestować w firmie. Ponadto robiąc taki certyfikat, zdając oficjalny egzamin trzeba go… raz w roku odświeżyć. To polega na przerobieniu konkretnego modułu traihead, na rozwiązaniu małych zadań, ale to jest motywujące, a nawet zmuszają posiadaczy tych certyfikatów do tego, aby się zaznajomić z najnowszymi featurami w Salesforce.
To jest bardzo fajne. Mobilizuje. Nie zasiedzisz się tak …
Tak, dokładnie. Trzeba tam spojrzeć. Wiadomo. Jak się ma troszkę więcej tych certyfikatów … z tego co, pamiętam kiedyś było trzeba wykonać trzy moduły w roku (jeden na każdy Salesforce Release)… Przy dużej liczbie posiadanych certyfikatow było to naprawdę sporo i wymaga wysiłku. Miałem też okazję przeczytać, że Salesforce przedstawiał prognozy, jakie będzie zapotrzebowanie na specjalistów Salesforce w Polsce. (link: https://www.salesforce.com/eu/blog/2020/12/salesforce-economy-in-poland.html).Wynikało z tego, że Salesforce szybko się rozwija i też w Polsce będzie coraz większa potrzeba, nie tylko na Salesforce developerów, ale też generalnie na ludzi pracujących z Salesforcem, to mogą być nawet analitycy biznesowi, administratorzy, konsultanci. Tutaj też jest bardzo wiele różnych ról, które mogą być istotne i potrzebne w firmie.
To wszystko wskazuje na to, że Salesforce jest mocno rozwojowy?
Dokładnie tak.
Dziękuję za rozmowę.
Dzięki