세일즈포스 개발자가 바라본 세일즈포스

세일즈포스(Salesforce) 개발자로 커리어를 시작한 지 1년. 개발자가 바라본 세일즈포스에 대해 솔직한 리뷰를 남겨봅니다.

이명현
MZC BizSol Blogs
9 min readMay 4, 2023

--

글을 시작하며

세일즈포스는 다양한 기능과 보안성으로 많은 기업에서 선호하는 세계 최고의 CRM 플랫폼 중 하나입니다. 많은 분들이 사용자 관점에서 세일즈포스에 관한 글을 썼지만, 이 글에서는 세일즈포스를 구축하고 개발하는 개발자의 시각에서 살펴보겠습니다.

세일즈포스는 탄탄한 CRM으로서 고객관계관리에 필요한 많은 구성 요소들을 미리 만들어두어 여러분들께 제공합니다. 준비된 구성 요소들을 활용하여 여러분들의 고객관계관리를 도울 수도 있지만 보다 폭넓은 활용을 위하여 개발, 커스터마이즈가 포함될 수도 있습니다. 개발이 포함되는 경우는 크게 다음과 같은 이유가 있습니다.

  • 업무 자동화: 단순 반복 작업, 일정한 패턴을 보이는 경우 작업에 대한 업무 자동화
  • 맞춤형 어플리케이션 개발: 기업의 분야에 특화된 비즈니스 요구사항을 충족시키기 위한 맞춤형 어플리케이션의 개발
  • 성능 최적화: 복잡한 프로세스, 로직, 데이터로드 등을 기본 기능 대신 직접 구현하여 성능 최적화
  • 시스템 연동: 기존의 타 시스템과 연동을 통한 프로세스 개선과 효율 증대를 위한 개발
  • UX 개선: 사용자 경험 개선을 위해 커스텀 UI 개발

무궁무진한 활용가치가 있는 세일즈포스를 처음 접했을 때, 솔직히 저는 두려운 생각이 우선이었습니다. 세계 1위를 차지하고 있는 세일즈포스는 정말 잘 만들어진 플랫폼입니다. 그런데 이렇게 잘 만들어진 플랫폼이 있다면 ‘개발자가 왜 필요한가?’, ‘업무 영역이 줄어들어 개발자가 할 일이 별로 없는 것은 아닐까?’라는 막연한 생각이 들었습니다. 하지만 이 생각은 잘못된 생각이었음을 깨달았습니다. 지금부터 제가 세일즈포스 개발자로 일하며 느낀 세일즈포스 플랫폼의 특징과 저의 생각을 말씀 드리고자 합니다.

Photo by Jason Goodman on Unsplash

(1) 효율적인 고객관계관리가 가능합니다.

앞서 말씀드린 바와 같이 세일즈포스에는 여러분들의 고객관계관리를 위해 준비해둔 것들이 정말 많습니다. 세일즈포스의 핵심적인 영역을 소개해 드리겠습니다.

세일즈포스에는 ‘개체’라 불리는 프로세스의 단계/속성 등을 표현한 개념이 있습니다. 여기에는 계정, 연락처, 기회, 견적, 작업, 승인 프로세스 등이 포함됩니다. 대부분의 프로세스는 미리 짜여진 표준 기능과 개체 관계로도 충분히 표현될 수 있습니다. 그러나 세일즈포스에서 여러분들의 고객관계관리를 위해 미리 준비해둔 비즈니스를 위한 표준개체 외에도 여러분들의 필요에 따라 ‘사용자 정의 개체’를 만들고 개체간의 관계를 구성하여 프로세스를 표현할 수 있습니다.

세일즈포스를 사용하고 개발하며 느낀 점은 DB 관리를 직접적으로 하지 않아도 된다는 점입니다. “그래서 그게 어쨌다는 건데?” 라고 생각하는 분들도 계실 것입니다. DB 관리는 개발자 리소스가 꽤 많이 들어가는 세심한 관리를 필요로 하는 작업입니다. DB 관리를 직접적으로 하지 않기에 우선 시간과 인력이 확보되는 점이 가장 큽니다. 대신 세일즈포스에서는 원활한 사용을 위하여 DB 작업과 관련한 각종 사용 제한을 두어 관리합니다. 제한이라는 단어가 다소 부정적으로 보일 수 있으나 세일즈포스에서 제시하는 제한은 충분히 합리적이며 효율적인 개발 코드 작성 등으로 문제없이 사용할 수 있습니다.

스탠다드 기능으로 제공되는 영역에서도 정말 폭넓은 커스터마이즈가 가능하단 점도 놀라웠습니다. 다양한 사용자의 니즈를 충족할 수 있는 구현은 사실 정말 까다롭고 험난한 과정을 수반합니다. 한번쯤은 개발자와 기획자(혹은 사용자)와의 실랑이를 우스갯소리로 “1px만 옮겨주세요”라고 표현한 밈을 본 적이 있을겁니다. 어떤 사용자는 자주 사용하는 탭이 CRM의 요소 중 ‘Account’이기에 이를 왼쪽 가장 첫 번째에 위치 시키고 싶어하고 또 어떤 사용자는 가운데에 자리 잡게 하고 싶어 할 수도 있겠죠. 세일즈포스는 이런 고객의 세부적인 니즈에도 신경을 참 많이 썼습니다. 제로베이스에서 위와 같은 사용자의 니즈를 충족시키려면 또다시 험난한 과정을 거쳐야 합니다. 각양각색으로 발생할 수 있는 사용자의 욕구를 분석하고 다양한 상황에서 UI를 변경시키거나 기능을 쉽게 추가할 수 있는 많은 요소들이 있습니다.

또한 스탠다드 외의 커스텀이 발생할 경우, 호환성과 통합성이 가장 문제시 되는 부분입니다. 세일즈포스에선 스탠다드와 커스텀 개발의 호환성과 통합성에 정말 많은 신경을 썼습니다. 커스텀 개발 시 주의해야할 요소에 대해 Best Practice와 시나리오를 제공하며 커스텀마저도 일종의 스탠다드로 느껴지기까지 합니다.

Photo by Glenn Carstens-Peters on Unsplash

(2) No Code, Low Code로 쉽게 기능 구현이 가능합니다.

특정 영역의 개발을 보다 편리하고 빠르게 진행 시키기 위해 그 영역에서 주로 사용되는 기술, 기능 등이 포함된 라이브러리, 프레임워크를 사용합니다. 여기에 더해 세일즈포스 CRM은 개발 편의와 표준화, 안정성 등을 위해 많은 기능을 지원합니다. 그 중 하나가 바로 ‘노코드(No Code), 로코드(Low Code)’입니다. 근 몇년 사이 개발 시간 단축과 개발 편의, 접근성이 높은 개발 등을 위하여 노코드/로코드가 점차 대중화되고 있습니다. 노코드/로코드란 말그대로 코드 없이도(고도의 숙련된 코드 작성 기술 없이도) 혹은 직관적인 UI와 간결한 코드만으로 개발을 하는 방법입니다. 세일즈포스 역시 노코드/로코드의 특징을 잘 살린 유용한 기능을 지원합니다. 플로(Flow), 프로세스 빌더(Process Builder), 워크플로우(Work Flow) 등과 같이 각양각색의 프로세스를 드래그 앤 드롭과 시각화 된 논리 흐름으로 원하는 기능을 쉽고 간결하게 구현할 수 있습니다.

단편적으로, 플로우를 활용하여 눈에 보이지 않는 로직만을 처리할 수 있는 것은 아닙니다. 세일즈포스에서 제공하는 No/Low Code 기능인 플로우를 사용하여 만들 수 있는 것은 다음과 같습니다.

  • 화면 플로우: 사용자에게 보여지는 화면과 순서(프로세스)와 조건을 함께 만들어내는 플로우
  • 레코드 관련 플로: 데이터가 생성/수정/삭제될 때의 처리
  • 자동 시작형 플로: 다른 플로, 코드, 프로세스 등에 의해 호출되는 플로우
  • 예약 플로: 지정된 시간 및 빈도로 실행되는 플로우

로직을 코드가 아닌 시각화된 형태로 구현할 수 있다는 점은 처음에는 굉장한 거부감이 들던 요소였습니다. “프로그래밍이 완전히 노코드/로코드로 대체되면 어쩌지”하고 생각했습니다. 하지만 프로그래밍을 하며 쌓아올렸던 논리적 생각과 구조를 파악하는 능력은 더욱 쉽고 빠르게 로직을 구현할 수 있게 해주었습니다. 이는 곧 생산성과 안정성 사이의 간극을 줄여주며, 개발자와 비개발자 모두가 쉽게 참여할 수 있는 환경을 제공한다는 것을 의미합니다.

세일즈포스에서 제공하는 자료를 학습하고 세일즈포스 내의 노코드/로코드를 이용한다면 여러분들께서도 VBA, 파이썬 등을 배우지 않고도 원하는 자동화 프로세스를 단기간에 만드실 수 있습니다.

Photo by Brooke Cagle on Unsplash

(3) 세일즈포스에서 함께 소통하고 배울 수 있습니다.

세일즈포스는 오하나(Ohana) 정신을 바탕으로 기업문화를 형성하고 있습니다. 오하나는 하와이 말로 ‘가족’을 뜻합니다. 책임과 연대를 바탕으로 임직원, 고객, 파트너, 지역사회까지 긴밀하게 관계를 맺고 협력하고 배려하고 더 나은 세상을 만들어가자는 정신이 담겨 있습니다.

세일즈포스의 기업정신은 학습 플랫폼, 생태계를 아우르는 강력한 커뮤니티에서 엿볼 수 있습니다. 세일즈포스에는 ‘ Trailhead’라고 하는 학습 플랫폼이 있어 어디서든 디지털 스킬과 소프트 스킬을 배울 수 있습니다. Trailhead에서는 세일즈포스의 사용자, 관리자, 개발자 등 Salesforce 생태계 구성원들이 접할 수 있는 다양한 상황에 대한 시나리오를 세일즈포스에서 가상으로 설정한 세계관과 함께 풀어내고 있습니다. 이를 통해 여러분들께선 세일즈포스 사용법부터 구축, 개발 등 다양한 비즈니스 프로세스와 상황을 쉽게 이해하고 쉽게 학습할 수 있습니다.

또한 ‘Trailblazer Community’에서 세일즈포스 관련 지식을 공유하고 소통을 할 수 있습니다. 여기서 ‘Trailblazer’는 세일즈포스 생태계 일원을 지칭하는 말로, 혁신과 성공을 원하는 사람 누구나 Trailblazer가 될 수 있습니다. 세일즈포스를 사용하며 배운 지식, 스킬 등을 Community 안에서 자유롭게 공유하고 소통하고 알아갈 수 있습니다.

이처럼 Salesforce 입문자부터 수준급 전문가까지 모두가 Trailhead와 Trailblazer Community를 통해 학습에 도움 받을 수 있습니다. 이는 CRM을 사용하는 대상 기업, 임직원, Salesforce 생태계에 있는 유저들에 대한 배려가 녹아 있음을 의미합니다. 말 그대로 ‘생태계’라는 것을 체감하였습니다. 이 모든 것은 세일즈포스와 여러분들을 더욱 가치 있게 합니다.

글을 마무리하며

지금까지 여러분들께 세일즈포스의 특징을 설명 드렸습니다. 여러분들께서는 세일즈포스가 고객관계관리에 특화된, 잘 만들어진 플랫폼이라 느끼셨을 것입니다. SaaS의 장점을 두루 갖춘 세일즈포스와 함께 빠른 구축이 가능하면서도 특화된 니즈를 충족시킬 수 있습니다.

하지만 세일즈포스가 잘 갖추어진 CRM 플랫폼이라 하더라도 다양한 기능을 지속적으로 학습하고 활용하며 이를 개발 영역과 잘 조화 시키는 노력이 필요합니다. 플랫폼에 대한 이해와 더불어 개발에 대한 이해가 수반된다면 세일즈포스와 함께하는 여러분의 능력이 더욱 빛을 발할 것입니다.

개발 영역에서 멘토로 여기는 분께서는 저에게 이런 말씀을 해주신 적이 있습니다. “얼마나 화려한 기술을 써서 만드는가보단, 무엇을 해결하고자 하는 것인지 확인하고 사소한 부분까지 꼼꼼하게 처리하는 것이 개발을 잘 하는 것이다.” 세일즈포스는 결국 갖추어진 구성요소를 잘 활용함으로써 사용자의 니즈 파악과 비즈니스 프로세스, 문제 해결에 집중할 수 있게 합니다. 세일즈포스와 함께 고객관계관리 세계로 여정을 떠나봅시다!

--

--