Wpis z mikrobloga

Hej Wykopki

Powoli gromadzę materiał aby rozkręcić kanał na youtube który będzie służył do przekazywania wiedzy w konkretnej technologii.

A jak ta technologia?
Jest to CRM w chmurze o nazwie Salesforce. Obecnie lider rynku, chociaż mało popularny w polskich firmach ze względu na koszty licencji. Wyróżnia się przede wszystkim mnogością możliwości automatyzacji poprzez wyklikiwanie funkcjonalności -> tzw programowanie deklaratywne (σ ͜ʖσ). Czemu więc #programowanie? Otóż nie da się zrobić wszystkiego klikając. Gdy do gry wchodzą trochę bardziej skomplikowane rzeczy typu integracje, masowe przetwarzanie rekordów, customowy wygląd UIa itd wtedy developerzy mogą się wykazać.

Czemu poświęcenie czasu na naukę Salesforce'a może być dobrym pomysłem?

O ile jeśli chodzi o wszystkie możliwości tego CRM to ilość wiedzy którą można zdobyć jest naprawdę ogromna, to próg wejścia jeśli chodzi o zostanie Salesforce Developerem jest naprawdę niski. Z racji, że Apex -> czyli język programowania używany do developmentu w Salesforcie od strony backendu jest bardzo ograniczony ze względu na fakt, iż jest to rozwiązanie chmurowe, umiejętności które trzeba zdobyć aby być pełnoprawnym członkiem zespołu nie muszą być ogromne. Prostymi środkami da się zrobić naprawdę dużo.

A sytuacja na rynku pracy jeśli chodzi o zapotrzebowanie na Salesforce developerów jest naprawdę interesująca. Z racji, że w Polsce mało ludzi wie co to Salesforce, o wiele prościej zostać junior Salesforce Devem niż junior Java devem ( ͡ ͜ʖ ͡). Outsourcing do Polski jest ogromny więc pracy jest masa, a firmy po prostu nie mają odpowiednich możliwości 'przerobowych' bo brakuje ludzi.

Wspomniałem już o języku który jest używany. Apex jest to tak naprawdę 'nakładka' lub bardzo okrojona Java. Podobieństw jest naprawdę dużo, jest on po prostu łatwiejszy.

Jeśli chodzi o wyciąganie danych z bazy używa się zmodyfikowanej wersji SQLa o nazwie SOQL. Plusem jest to, że nie potrzebujemy żadnego ORMa, dane możemy sobie pobrać bezpośrednio do sparametryzowanych list obiektów które są reprezentacją tabel bazodanowych w wielkim skrócie.

Co jeszcze? Otóż w Salesforcie można też być fullstackiem/frontendowcem.
Obećnie istnieją trzy frameworki natywne dla platformy (aczkolwiek można też korzystać z innych 'normalnych' typu Angular/Reacy/Vue pod pewnymi warunkami)
Jest to Visualforce (coś w stylu JSP -> odchodzi powoli do lamusa, korzysta się tylko w bardzo specyficznych przypadkach), Aura (bardzo specyficzny framework de facto nie transferowalny poza Salesforce'a) oraz Lightning Web Components, który jest frameworkiem który stara się przestrzegać standardów jeśli chodzi o programowanie w JSie. Jest on od niedawna open sourcowy oraz można z niego na luzie korzystać poza Salesforcem (ale nie jest to raczej popularna praktyka).

Na początku kanał będzie się wypełniał kompletnymi podstawami jeśli chodzi o naukę developmentu -> zaczynając od wszelkich rejestracji, konfiguracji środowiska tak aby można było w miarę przyjemnie pracować na darmowych narzędziach, potem przechodząc przez podstawy modelu danych no i oczywiście trochę kodowania też będzie, aby nie zanudzić widzów prostymi sprawami :). Do tematu chce podejść kompleksowo, więc będę też opowiadał co się da zrobić standardową 'klikalną' funkcjonalnością.

Szybko o mnie: Jestem developerem z 7+ letnim doświadczeniem w IT i paroletnim doświadczeniem stricte w Salesforcie. Obecnie w projekcie pełnię rolę architekta/tech leada.

Pytanie do was: Czy ktokolwiek stąd byłby zainteresowany takim kanałem i nauką Salesforce'a?

#programowanie #naukaprogramowania #salesforce
  • 14
@Madbest myślę że pierwszy odcinek powinien być o różnych rozwiązaniach, żeby nadać kanałowi obiektywizmu. Jeśli już teraz upierasz się na jednym rozwiązaniu i piszesz, że to lider to przyjmuje to formę reklamy, pod przykrywką wolnego strzelca.

Co np. sądzisz o OroCRM?
@wenszy: Moim celem nie jest propozycja różnych CRMów. Nie mam zamiaru zachęcać kogokolwiek do korzystanie konkretnie z Salesforce'a ani tym bardziej kupować licencji itp. Nie jestem też rekruterem. Nie czerpię korzyści finansowych z 'namawiania' do korzystania z tego CRMa. Chcę się podzielić po prostu wiedzą.
A co do lidera rynku jest to po prostu fakt statystyczny: https://www.forbes.com/sites/louiscolumbus/2019/06/22/salesforce-now-has-over-19-of-the-crm-market/#67f90266333a
https://www.appsruntheworld.com/top-10-crm-software-vendors-and-market-forecast/
@Madbest dałeś tag #programowanie, a to co proponujesz bardziej będzie skierowane do "biznesu". Programistom wystarczy dokumentacja, a wybór narzędzia będzie należał do architekta.

Nie chcę podkopywać Twojego zapału, jeśli to czujesz idź w to, ale raczej przyda się komuś mniej technicznemu. Trzymam kciuki.
@Madbest: rób i podziel się linkiem, ja już od dłuższego czasu zastanawiam się nad pójściem w salesforce. Orientujesz się jak jest z zarobkami w tym? Z tego co słyszałem to średnia jednak jest zdecydowanie niższa niż gdyjesteś klasycznym backend-java-dev czy frontend-js-dev?
@espeka: Jeśli chodzi o zarobki to moja odpowiedź brzmi: to zależy.
Juniorzy zazwyczaj zarabiają faktycznie trochę mniej niż Javowcy z jednego prostego powodu -> Z racji ekstremalnych braków na rynku na juniorów brane są osoby które praktycznie nic nie potrafią poza jako tako czytaniem kodu i logicznym myśleniem. Więc taki junior potrafi być trzymany na przyuczeniu sporo czasu. Z drugiej strony na mida awansuje się bardzo szybko (jak ktoś jest kumaty
@Madbest: Fajny pomysł. Jeśli będziesz czegoś potrzebował od strony Salseforce DevOps - pisz. Mogę coś ciekawego podrzucić w temacie ogólnie pojętych praktyk związanych z deploymentami, problemami z tym związanymi i różnymi rozwiązaniami - Azure lub coraz popularniejszy Copado.
@Madbest: to jeszcze jedno pytanie. Jeżeli chciałbym "pogrzebać" przy sf żeby zobaczyć czy to dla mnie a przy okazji się czegoś nauczyć, to trailhead będzie ok, czy raczej polecasz co innego?
@espeka: Trailheady są mega. Moim zdaniem nie ma lepszego rozwiązania na świecie jeśli chodzi o naukę jakiejś technologii. Mają oczywiście parę wad (wszedobylski samozachwyt i próby wyciskania różnych produktów plus nie pokrywają wszelkich standardów, dodatkowych frameworkow czy edge casow) ale sumarycznie są świetnym źródłem wiedzy.
Osobiście wchodziłem w Salesforce'a robiąc trailer w kolejności: Admin Beginner (żeby poznać platformę), Developer Beginner, Developer Advanced. Po tych trzech moim zdaniem ma się wiedzę na