Opinie w internecie o programowaniu w tej technologii nie były zachęcające, ale zdecydowałam się zacząć od programu szkoleniowego.
Klikamy czy programujemy?
Salesforce jest jednym z najpopularniejszych systemów CRM na świecie. Jeśli termin ten brzmi obco, już śpieszę z wyjaśnieniami. CRM to skrót od Customer Relationship Management, co w naszym języku oznacza zarządzanie relacjami z klientem. W praktyce systemy takie znajdują zastosowanie w wielu różnych aspektach działania przedsiębiorstw, w których w grę wchodzi klient. Najprostszym przykładem może być tutaj proces reklamacji towaru - Salesforce umożliwia przeprowadzenie wszystkich kroków od przyjęcia formularza zgłoszeniowego aż do momentu rozwiązania problemu, a nawet dalej! Wszystkie dane wykorzystywane są bowiem do generowania raportów i przewidywania tendencji w przyszłości. Ten przykład jest jednak jedynie wierzchołkiem góry lodowej. Przy pomocy Salesforce’a możemy zbudować sklep internetowy, aplikację do kontrolowania temperatury w lodówkach restauracji albo platformę do zarządzania izbą przyjęć. Wszystko zależy od tego, z jakich narzędzi skorzystamy i oczywiście od tego, czego będzie potrzebował nasz klient.
Podstawowe narzędzia i funkcjonalności w Salesforce faktycznie dają się skonfigurować przy pomocy myszki, a klawiatura przydaje się jedynie do uzupełniania pól w formularzach. Kluczem jest tutaj jednak słowo “podstawowe”. Jak wielu klientów w branży IT chciałoby korzystać z systemu, który nie daje im możliwości dostosowania go do własnych potrzeb? Tu właśnie pojawia się rola Salesforce developera.
W naszych aplikacjach często zdarza się, że problemy można rozwiązać na wiele sposobów i tylko jednym z nich jest kod. Rozwiązania, które możemy stworzyć bez użycia kodu, są jednak dużo wygodniejsze z punktu widzenia klienta, ponieważ po zakończeniu projektu, zmiany w logice biznesowej mogą być wprowadzone bez pomocy developerów. Z tego właśnie powodu tam gdzie jest to możliwe, unikamy programowania, aby w przyszłości oszczędzić problemów i klientowi i sobie. Praktyka pokazuje jednak, że często logika biznesowa aplikacji oraz oczekiwania klienta wykraczają daleko, a nawet bardzo daleko poza ramy standardu.
Dostosowanie gotowej platformy do wymagań biznesowych przedsiębiorcy bywa często naprawdę niełatwym, ale fascynującym wyzwaniem. Do naszych najprostszych zadań należy budowanie nowych stron i funkcjonalności przypominając tym samym zwyczajną pracę fullstack developera. W swoich projektach zajmujemy się zarówno logiką aplikacji, jak i jej odpowiednim wyglądem. Wykorzystujemy do tego głównie język Apex po stronie backendowej, a na froncie walczymy przy pomocy dwóch frameworków - nowoczesnego Lightning Component oraz klasycznego Visualforce.
Choć aplikacje oparte na Salesforce dają wiele możliwości, zazwyczaj nie są jedynymi, z jakich korzystają nasi klienci. Dlatego właśnie bardzo istotnym aspektem pracy Salesforce developera jest integracja i komunikacja z systemami zewnętrznymi. Ostatnio miałam okazję pracować nad integracją aplikacji Salesforce z arkuszem kalkulacyjnym! Po naszej stronie wszystko odbywało się przy pomocy webserwisu RESTowego, arkusz zaś komunikował się z naszym systemem przy pomocy makr umieszczonych na przycisku. Klik i gotowe!
Standardowo czy kreatywnie?
W Salesforce większość mało fascynujących często spotykanych problemów została już rozwiązana przez twórców systemu, dzięki czemu my, jako developerzy, nie musimy tworzyć kolejnych systemów rejestracji i logowania, ani po raz kolejny pisać walidacji pól w formularzach. Choć jest to niekwestionowaną zaletą oraz znaczną oszczędnością czasu, często zdarza się, że wśród potrzeb klienta pojawia się zmiana detalu w standardowej funkcjonalności.
W niektórych przypadkach okazuje się to być kwestią dostosowania platformy przy pomocy kilku kliknięć, w innych zaś prowadzi do długich godzin pracy nad znalezieniem nietypowego rozwiązania w danej sytuacji. Przyznaję, że czasem bywa to bardzo frustrujące, ale zadania tego typu są zazwyczaj dużo bardziej porywające od zwykłego pisania kodu. Dlaczego? Dlatego, że proces szukania rozwiązania wymaga od programisty kreatywności, pomysłowości, czegoś ponad to, co znane i standardowe. Osobiście taki proces poszukiwań jest moim ulubionym aspektem pracy w roli Salesforce Developera. Dzięki temu nie zajmuję się bezmyślnym powielaniem schematów, ale pozwalam sobie na przesuwanie granic i eksplorowanie platformy, a to z kolei gwarantuje mi ciągły rozwój i poczucie, że wiele jest jeszcze do odkrycia.
Warto czy nie warto?
Ze swojej perspektywy dziś mogę powiedzieć, że praca w Salesforce wcale nie należy do mało ambitnych, przeciwnie, niesie za sobą wiele ciekawych wyzwań i możliwości rozwoju. Choć od pierwszego dnia, w którym usłyszałam o Salesforce, minęły już dwa lata, program szkoleniowy w Britenet nadal pozostaje tematem aktualnym. Rekrutacja wciąż jest otwarta, a my poszukujemy osób, które boją się nudy, a nie wyzwań, jakie niesie za sobą nauka nowej technologii. Na własnej skórze przekonałam się, że warto!