Kako da postaneš Salesforce Developer?

Saveti 18. jan. 2022

Iako je Salesforce osnovan pre više od 20 godina, njihov CRM baziran na cloudu, u poslednjih nekoliko godina doživljava neverovatnu ekspanziju. Tehnologija je sve zastupljenija i na našem tržištu, tako da ćeš kroz ovaj tekst saznati koje principe treba da poznaješ da bi razvijao rešenja na Salesforce platformi.

Na našem tržištu ćeš sresti jako malo inženjera koji su od početka karijere sebe isključivo gradili u Salesforce domenu, što znači da je najveći deo njih „konvertovan“ iz neke prethodne tehnologije (ili više njih).

Ako razumeš generalne principe razvoja softvera, kao i neke principe usvojene u radu sa drugim tehnologijama, tranzicija u dinamičan Salesforce svet ti neće biti mnogo zahtevna. Upravo u tome i jeste lepota rada na ovoj platformi - veoma je brzo i lako usvojiti nova znanja.

Ukoliko si neko ko dobro poznaje principe objektno-orijentisanog programiranja, i imaš prethodno iskustvo sa nekim od jezika kao što su Java, C++, C# – imaš i više nego dobru polaznu osnovu da se upustiš u development zadatke na Salesforce platformi.

Da li je iskustvo sa Java, C++ i C# jezicima neophodno?

Ne.

Poznavanje ovih jezika nije ključan preduslov, ali će ti biti od velike pomoći prilikom prelaska u tehnologiju na kojoj ćeš, između ostalog, raditi i u programskom jeziku pod nazivom APEX.

Iako nema sve mogućnosti koje imaju, na primer, Java ili C#, APEX dolazi sa svim ključnim principima i postulatima objektno-orijentisanog programiranja, kao što su: koncepti klasa, objekata, nasleđivanja ili polimorfizma.

Jedan od glavnih razloga zbog kojeg APEX nije na naprednom nivou kao neki drugi OO jezici jeste to što Salesforce teži da promoviše i dodatno razvija takozvane low-code alate.

Njihova osnovna ideja je da se što veći broj automatizacija implementira pomoću deklarativnih alata koji ne zahtevaju nijednu liniju APEX koda.

Ti alati su već deo same platforme – dolaze sa bogatim setom funkcionalnosti i ne zahtevaju dodatno održavanje, niti unit testove koji uvek moraju biti napisani gde god ima makar i jedne linije APEX koda (naime, prebacivanje koda na produkciju, a često i na UAT okruženja nije moguć bez minimum 75% pokrivenosti APEX koda unit testovima).

Na ovaj način, inženjeri uče da traže rešenje koje je sa stanovišta platforme optimalno, a ne nužno ono koje je njima najlakše za implementaciju.

U prevodu: ne moraju uvek da pišu kod ako postoji alat koji će na deklarativan način obezbediti isti rezultat.

Efikasnost i skalabilnost – ključni za razvoj rešenja na Salesforce platformi

Kao rešenje bazirano na cloud tehnologiji, Salesforce dolazi sa nečim što se zove governor limits. Kakva su to ograničenja?

To su ograničenja koja se tiču stvari kao što su broj dozvoljenih upita ka bazi po transakciji, maksimalan broj redova koji se mogu vratiti iz baze nakon upita, maksimalan broj HTTP poziva ka eksternim sistemima po jednoj transakciji, i tako dalje.

Razlog za uvođenje ovih limita leži u činjenici da u cloud tehnologiji nijednoj mušteriji nije dozvoljena monopolizacija resursa.

Svi zavisimo od iste infrastrukture, i delimo je, samo što imamo svoj virtuelni okvir koji podešavamo prema svojim potrebama.

Slikovit prikaz toga bi bio život u zgradi. Lift i stepenice su prostor koji sve komšije koriste – ali, ako bi jedan od njih zloupotrebio i monopolizovao te resurse, cela zgrada bi osetila negativne posledice.

Ovi limiti su jako važan faktor pri dizajniranju i razvoju rešenja na platformi, i „teraju“ te na to da rešenje u startu organizuješ na način koji je najefikasniji i najskalabilniji.

Sve navedeno ide u prilog tome da je rešenje koje je potrebno za implementaciju klijentskih zahteva moguće organizovati i kombinacijom deklarativnih alata i koda, ali se u Salesforce svetu kao najbolja praksa smatra rešenje koje koristi već predefinisane alate same platforme (iako to, naravno, nije uvek moguće uraditi jer zahtevi klijenta mogu biti izuzetno kompleksni).

LWC – šta je i zašto ćeš ga voleti?

Na drugoj strani Salesforce spektra postoji nešto rezervisano za ljubitelje razvoja korisničkog interfejsa.

Ako si strastveni „frontendaš“, brzo ćeš zavoleti Salesforce-ov framework pod nazivom LWC.

Kako je baziran na najnovijim UI standardima – LWC nudi inženjerima bogate mogućnosti kastomizacije korisničkog interfejsa, uz korišćenje već definisanih, i čestih UI elemenata poput tabela, file-upload elemenata, accordiona, buttona, formatiranih emailova, i mnogih drugih.

Deo platforme je i takozvani Experience Cloud (ranije poznat i pod terminom Community) za čiju implementaciju je najčešće potrebno dobro upravljanje Lightning komponentama, kako bi korisnički interfejs izgledao što raznovrsnije i sadržajnije.

Razvoj korisničkog interfejsa jedna je od najzastupljenijih tema u današnjem razvoju softvera – klijenti su sve brojniji, i zahtevniji, što Salesforce prepoznaje, i u skladu sa time inženjerima nudi brojne mogućnosti za kvalitetan razvoj interfejsa.

Odakle da počneš?

Jedna od glavnih prednosti rada na Salesforce platformi je bogata dokumentacija za učenje.

Pored klasične dokumentacije, kao što su blogovi, ili pregledi klasa i biblioteka koje se koriste u programskom jeziku APEX, Salesforce je razvio specijalizovanu platformu za učenje – Trailhead.

Ključna prednost ove platforme je mogućnost da, iako si nov u pomenutoj tehnologiji, možeš odmah da stičeš znanje na praktičan način, kroz zadatke na privremenom razvojnom okruženju. Zadaci mogu biti i jednostavni, ali i veoma zahtevni, u zavisnosti od teme koja se obrađuje.

Uvek ističemo da je prilikom učenja novih tehnologija jako bitno povezati se sa zajednicom – i velika prednost Salesforce-a je njihova  zajednica, koja je odlično organizovana.

Jako je lako i brzo povezati se sa kolegama iz čitavog sveta koji su, kao i ti, pasionirani inženjeri različitih backgrounda koji rešavaju razne klijentske zahteve svakoga dana koristeći funkcionalnosti i mogućnosti Salesforce platforme.

Na kraju, ali ne i manje važno, u Salesforce ekosistemu postoji niz mogućnosti za sertifikovanje, čime možeš da stekneš dodatne kredencijale koji mogu da budu od velikog značaja za dalji razvoj tvoje karijere.

Salesforce platforma ti zvuči interesantno? Pogledaj otvorene pozicije u kompaniji Merkle i pridruži se njihovom Salesforce timu koji stalno raste i napreduje!

Otvorene pozicije:

Tagovi

Merkle

Merkle je full-service softverska kompanija koja unapređuje korisničko iskustvo zasnovano na podacima.

Tvoja prijava je uspešno sačuvana!
Odlično! Da bi imao pristup kompletnom sadržaju bloga potrebno je da završiš proces plaćanja.
Tvoja prijava je uspešna!
Tvoj nalog je aktiviran, sada imaš pristup kompletnom sadržaju bloga.