Carreiras: Desenvolvedor CRM SalesForce

Este artigo vai seguir uma abordagem um pouco diferente, o objetivo aqui é despertar um novo interesse na carreira para desenvolvedores que buscam uma mudança na sua área ou apenas querem conhecer novas oportunidades. Vou mostrar um overview do que é o Salesforce, os benefícios e o trabalho de um desenvolvedor dentro da plataforma. Vamos criar uma conta de desenvolvedor e abordar alguns aspectos da plataforma.

Nos artigos seguintes da série, vamos nos aprofundar na programação e criar um aplicativo para gerenciar conferências.

Pode ter certeza que no final dessa série você terá toda a base para iniciar como desenvolvedor salesforce e se sentirá seguro de ingressar nesse mercado se tiver interesse. Logico que ninguém será um especialista ao terminar o artigo, mas o caminho para isso estará aberto.

Primeiros Passos

Antes de falar sobre a carreira de Desenvolvedor CRM Salesforce, é preciso entender o conceito de CRM e onde entra o Salesforce.

CRM

CRM são as iniciais de Customer Relationship Management (Gestão de Relacionamento com o Cliente). O termo é uma referência a um conjunto de práticas, estratégias de negócio e tecnologias focadas no cliente que, desde startups até médias e grandes organizações, podem utilizar para gerenciar e analisar as interações com seus clientes, antecipar suas necessidades e desejos, otimizar a rentabilidade e aumentar as vendas e a assertividade de suas campanhas de captação de novos clientes.

O CRM armazena informações de clientes atuais e potenciais, também chamados de leads. São armazenados os seus dados e suas atividades em qualquer ponto de contato com a empresa, como visitas a sites, ligações telefônicas e e-mails. Todas essas informações são gerenciadas para gerar informações valiosas como por exemplo as preferências de compra dos seus clientes.

O CRM hoje é uma ferramenta indispensável para qualquer empresa que deseja interagir de forma satisfatória com seus clientes e obter informações valiosas dessa interação, podendo então melhorar o seu produto e oferecer serviços melhores e mais competitivos.

Salesforce

O Salesforce é uma empresa americana que criou uma plataforma de CRM na nuvem de mesmo nome. O Salesforce é hoje a plataforma de CRM mais utilizada no mundo, com uma valor de mercado de 120 Bilhões de dólares e com enorme destaque entre as grandes empresas do vale do silício.

E como eles conseguiram todo esse destaque ? Porque usar o Salesforce e não outro concorrente no mercado ? segundo as palavras do CEO da Salesforce , é muito simples:

We’re doing great because everyone else in CRM sucks (Nós estamos indo muito bem porque todas as outras plataformas de CRM são horríveis)

Marc Benioff

Ele tem certa razão no que fala, mas é importante ressaltar alguns pontos que fazem a diferença

  • A interface do usuário é simples, limpa, intuitiva e muito fácil de mexer. A curva de aprendizado é bem pequena.
  • Você pode fazer muita coisa com apenas um clique, incluindo automação como criar tarefas automáticas, enviar e-mails ou atualizar campos em massa.
  • Linguagem de programação Apex com curva de aprendizado baixíssima para quem desenvolve em java, .NET ou outras linguagens orientadas a objeto.
  • Governança de código que permite o deploy e ambientes de produção somente com 75% do código coberto com testes.
  • Comunidade extremamente rica em conteúdo com um suporte excelente.
  • Plataforma em nuvem que permite o uso do CRM em poucos minutos apos criar a sua conta.

Apex

Apex é a linguagem de programação do Salesforce. Através dela conseguimos customizar a plataforma e desenvolver soluções mais complexas.

O Apex para quem desenvolve em Java ou .NET possui uma curva de aprendizado insignificante, pois a sintaxe é similar em 90% dos casos. A grande dificuldade na curva são os limites impostos pela plataforma que vamos discutir em breve e a assimilação da nova IDE no seu sangue. Depois disso, a sensação é de estar escrevendo o código no eclipse ou no visual studio.

Carreira de desenvolvedor

Se você já desenvolve em java, .NET ou outra linguagem, pode estar se questionando o porquê de ingressar em Apex para desenvolver nessa plataforma. Neste caso é importante fazer uma breve reflexão sobre tecnologia e nossa carreira como desenvolvedor.

Para estar alinhado com o mercado, precisamos ter bem claro em nossa mente que em TI o que está em evidência hoje, amanhã pode não estar. Nenhuma tecnologia dura para sempre, nenhum cenário é perpétuo e tão perfeito que seja imbatível.

Para que uma plataforma, app ou ideia perca a liderança ou seja abandonada, não é preciso que um novo concorrente apareça no mercado. A mentalidade da sociedade pode mudar, o comportamento das pessoas pode ser diferente de uma geração para outra e o que era interessante deixa de ser.

Isso vale inclusive para o Salesforce. Daqui a 10 anos pode surgir uma outra plataforma de CRM melhor e mais completa gerando uma migração em massa do mercado para o novo concorrente ou então um novo conceito surgir e ela ser abandonada. O mesmo ocorre na sua carreira, seja lá em qual tecnologia/plataforma você está trabalhando.

Falando de linguagem de programação, Java por exemplo está em evidência a anos e anos. Quando comecei a minha carreira só se falava nisso na área de programação, veio o .NET e o mercado se dividiu, hoje as novas gerações não gostam tanto dessas linguagens assim e o mercado vai se moldando conforme o tempo, com a entrada do nodeJS, Go, popularização do python principalmente na área de ciência de dados, centenas de frameworks javascript para frontend, novos conceitos como os fornecidos pela linguagem closure e etc …

Não precisa ser muito esperto para perceber que ser um Fanboy de linguagem, embora seja engraçado para discutir com os amigos, não faz bem para a sua carreira. A linguagem é um meio e não o fim de um software e como desenvolvedor você deve estar preparado e seguro para trabalhar com qualquer linguagem ou plataforma nova que venha a surgir, sem medo ou receio de deixar outra tecnologia de lado.

Seguindo por essa linha de pensamento, é sempre importante dar uma olhada no que está em evidencia no momento, o que o mercado está usando ou direcionando e quais as tendências do futuro que você pode embarcar para ser um profissional requisitado e surfar nas maiores ondas.

No momento, desenvolvedor Apex é uma dessas tendências e os dados abaixo não mentem sobre isso

  • 125k de média salarial anual (referência EUA)
  • 11.000 Vagas abertas no último ano somente nos EUA.
  • Conteúdo extenso online
  • Muita demanda e poucos profissionais no mercado
  • Vagas disponíveis em todos os cantos do mundo inclusive como home office.

Certificações

Boa parte dos desenvolvedores busca seguir uma trilha de certificações para se gabaritar como profissional e com Salesforce não é diferente. O Salesforce oferece diversas certificações para qualificar seus profissionais de acordo com cada perfil.

Para desenvolvedores, temos 2 perfis de certificação que podem ser adquiridas

Developer Credentials

Plataform App Builder

Certificação para customização e criação de apps salesforce, com capacidade para realizar o design, construção e implementação.

Plataform Developer I

Certificação para quem possui habilidades para construir aplicações customizadas utilizando de ferramentas para programação fornecidas pelo salesforce (Apex, visualforce …)

Plataform Developer II

Certificação com o mesmo objetivo do Plataform Developer I, porem com um grau mais avançado

B2C Commerce Developer

Certificação para desenvolvedores full stack da platforma Salesforce Commerce Cloud Digital, que é um outro produto comercializado pela Salesforce para gerenciamento de e-commerce.

Marketing Cloud Developer

Certificação para desenvolvedores que atuam em outro produto da salesforce com foco em marketing, o Marketing Cloud

Architect Credentials

Technical Architect

Certificação para profissionais com vasto conhecimento em arquitetura de outras plataformas que possam desenhar soluções seguras, de alta performance e que maximizem o potencial da plataforma salesforce.

Application Architect

Certificação para profissionais com conhecimento profundo das funcionalidades e da estrutura do salesforce assim como a habilidade para construir hierarquias, modelos de dados e mecanismo de compartilhamento

System Architect

System Architects são os profissionais com foco em plataformas externas com habilidades para realizar integrações com o salesforce, garantir segurança entre os sistemas e com habilidades de governança e deploy.

O que faz o desenvolvedor salesforce ?

O desenvolvedor Salesforce normalmente trabalha em conjunto com uma equipe de setup, construindo soluções que o Salesforce não consegue resolver nativamente.

Essas soluções são construídas utilizando a linguagem de programação apex em conjunto com outros velhos conhecidos nosso, como o html5, CSS3 e javascript. Criamos classes, instanciamos objetos e pensamos de forma muito similar a .NET e java.

Boa parte das tarefas e customizações são feitas conforme abaixo:

Construção de Tela

A interface visual do salesforce pode ser clássica ou lighting, sendo esta última a versão mais moderna da interface da plataforma. Dependendo da lógica da interface que escolher, utilizará tags próprias do lighting ou clássico, neste caso chamado de visualforce.

Essas tags são utilizadas em conjunto com o HTML e CSS muito similar aos frameworks de interface como o JSF no java por exemplo.

O modelo MVC está presente aqui da mesma forma, a sua tela vai chamar uma controller escrita em apex, que poderá chamar uma classe de negócio, um DAO ou o que você tiver definido.

A grande diferença é a facilidade, por já estar dentro da plataforma do Salesforce, você não precisa se preocupar com customização, conexão com banco, pool, tudo isso é nativo, basta abrir o developer console e começar a escrever código.

Essas telas normalmente são construídas quando o Salesforce não consegue atender nativamente requisitos do cliente e é uma tarefa frequente do desenvolvedor Salesforce .

Triggers

Outra tarefa muito comum no desenvolvimento Salesforce é a construção de triggers para objetos nativos ou customizados. Elas funcionam de forma semelhante ao banco de dados com os mesmos conceitos, mas ao invés de tabelas, os gatilhos são disparados em ações de insert / update / delete nos objetos.

Integrações – WebServices

Da mesma forma que qualquer linguagem de programação, é possível criar webservices REST e SOAP, assim como consumi-los.

Esta é a forma mais comum de integração entre plataformas atualmente e é bastante simples de criar. O processo é similar a criação de um serviço no java, através de annotations no método utilizando uma sintaxe muito similar.

Os serviços integram facilmente com botões e actions no salesforce e são tão simples de criar quanto em qualquer outra linguagem.

Jobs (Schedulers)

Os jobs são tarefas agendadas executadas periodicamente pelo Salesforce. Este tipo de solução é frequentemente utilizado para sincronizados dados com um ERP por exemplo.

Criando sua conta de desenvolvedor

Se você não se interessou até agora pela plataforma, pode parar a leitura da série por aqui. Caso contrário, vamos começar a flertar com o Salesforce criando nossa conta de desenvolvedor

Acesse o endereço abaixo para cadastrar uma conta de desenvolvedor. Essa conta vai te dar acesso gratuito ao Salesforce para que você possa desenvolver até um limite de 5 MB de espaço para dados.

https://developer.salesforce.com/

Após clicar em SignUp será apresentado um formulário de cadastro padrão, preencha os seus dados e informe o nome da empresa que trabalha ou crie um nome qualquer para sua empresa imaginária.

Após o cadastro, será enviado um e-mail de confirmação. Confirme o seu e-mail para ser direcionado para a tela de cadastro de senha

Informada a senha, você será direcionado para a tela inicial do salesforce.

A tela do salesforce para uma conta de desenvolvedor, abre diretamente no modo de setup. Veja a função de cada espaço na tela

1 – Launcher de Apps

Quando você cria uma conta são atribuídos a ela um grupo de Apps já preparados pelo salesforce. Cada App representa um conjunto de funcionalidades utilizada por um determinado grupo de pessoas.

A Área de marketing por exemplo, vai utilizar um App especifico pra ela, que é diferente do App de vendas, utilizado pela equipe de vendas.

A equipe de setup do salesforce também pode criar um app customizado para atender qualquer tipo de grupo de acesso

2 – Menu de Contexto

O menu de contexto é onde você vai navegar e abrir todas as interfaces de interação do usuário com a plataforma (item 4 na imagem)

3 – Menu Principal

Neste menu é onde configuramos por exemplo o nosso perfil, nossas configurações de usuário, onde abrimos o console de desenvolvimento apex e onde alternamos entre o modo clássico e o lightning (veremos isso mais a frente)

Alterando o Idioma

O primeiro passo após criar uma conta é mudar o idioma da aplicação para Inglês, mas por que isso é importante se o Salesforce disponibiliza seu app em nosso idioma nativo ?

Porque todo o conteúdo, tutorial, fórum que você for utilizar para estudar ou procurar soluções vai estar em inglês e utilizando a interface em português você vai ficar perdido para encontrar as informações dentro da plataforma. Caso queira manter em português tudo bem.

Comece acessando o ícone do mascotinho do Salesforce e clique em Configurações

No menu de contexto, acesse Idioma e Fuso Horário. Troque a opção Idioma de Portuguese para English

Pronto seu Salesforce já está em inglês.

Próximos passos

Caso tenha se interessado e gostaria de se aprofundar um pouco mais no salesforce, construímos um ebook mais completo abordando diversos conceitos de CRM e com um exemplo prático de construção de um webservice dentro da plataforma utilizando apex.

você pode encontrar o e-book na seção de ebook do codechain.

espero que tenham gostado!

Related Posts

SalesforceDX CI/CD Pipeline com jenkins
× Como posso te ajudar?