Being a Salesforce Developer in the Web/Mobile Development world
One of the things I find myself doing time and again when talking about my job with somebody who has no connections with the technology industry is explaining what a Salesforce Developer actually does.
Despite Salesforce being one of the #1 companies worldwide, the name doesn’t ring a bell for many people, so it’s no help to say that you’re a developer of a platform that the person doesn’t know.
Being a Salesforce Developer is a very interesting mix of various things. Let’s take a look at some of the areas in which we operate to get a few examples:
To translate a request to the Salesforce world, we need to know the platform inside and out, its standard features, the limits we need to stick to, etc. in order to determine the best way to implement a business process in the system.
As a general rule, the more standardised the solution and the least development it requires, the better. Remember: we are only human and although we take all the necessary measures as developers to build, test and deliver quality solutions, we can still get it wrong. And, where possible, we should try to build on what has already been done, even more so considering that Salesforce improves continuously as times goes by. By using a standard functionality, we guarantee that the innovations regularly made to the platform by Salesforce will bring improvements to this functionality. This is not the case with custom developments.
We are aware that clients nowadays expect systems to be capable of automating the bulk of their business processes as, ultimately, this is why platforms like Salesforce are used: to deliver the best service to their clients in a highly efficient and productive way.
The automation of some processes often depends on the company, so the system has to adapt to these. This is where we as SFDevs need to get our heads down and design and configure/code the necessary automations to help users to become more efficient in their system.
This process automation sometimes requires integrating the platform with other systems or other clouds.
Want to know about code?
Not every automation in Salesforce requires coding (many are point-and-click configurable). However, we write the essence in Apex code, a proprietary language of Salesforce based on Java.
Some complex processes can require the development of custom UIs to simplify things for users. Using the platform style guides, we design an optimal UX (user experience) and build graphical interfaces to surprise our customers.
¿Want to know about code?
Custom UIs are usually split into 2 categories: Visualforce and Lightning Components, the latter being newer and more powerful.
As with any good system, this should allow users to carry out critical everyday tasks without being tied to the computer. Luckily, Salesforce has its own mobile app to allow clients to access their organisation from anywhere.
However, you need to make sure that the processes you develop are available in mobile format and can behave efficiently when connectivity is poor (who hasn’t been in the middle of something important on their phone and panicked about losing access to an app as they enter the Underground).
The platform itself is very secure, and this and transparency are the Salesforce company’s watchwords.
Now, as soon as we start developing new features, the platform controls us to an extent. Keep in mind though that as administrator you have access to all of the organisation’s data and a poor development or incorrect integration can expose sensitive customer data to people who should not see it.
Bringing business processes to Salesforce without knowing them or without knowing whether they can be adapted to the platform correctly can be very complex (not to say impossible) without good prior consulting. Given S4G’s knowledge of the platform and what we can do with it, our job is to understand the needs of our clients and guide them to come up with the ideal solution for their business.
Clients often have complex business process that they want to maintain with migration to Salesforce and these processes can sometimes be simplified and optimised with a good consulting job.
“…our job is to understand the needs of our clients and guide them to come up with the ideal solution for their business.”
¿Por qué un Developer tiene que hacer esto? estarás pensando. Pues quién mejor que alguien que conoce las tripas del sistema para guiar a un cliente en la manera más escalable y eficiente de montar una integración con su ERP, por ejemplo…
To say that Salesforce is only a CRM is like saying that Google is just a search engine. The Salesforce platform is now composed of a diverse range of clouds with different functionalities focused on varying solutions, all under the Salesforce umbrella.
As developers, we have the opportunity to play with different cutting-edge technologies within the ecosystem, such as IA (Einstein) and the Internet of Things (IoT). And these are just two of the many possibilities we have for submitting differential proposals to our clients.
Want to know about code?
Did you know that Heroku, one of the market’s most popular PaaS (Platform as a Service) was bought by Salesforce? This means that you can develop an application in your favourite language, publish it in Heroku and your application database can be synchronised with your customer’s Salesforce organisation, automagically!
Riding on the crest of the wave is no mean feat and it requires constant updating. Salesforce updates the platform three times a year by introducing lots of interesting and cutting-edge innovations. This means that we need to be vigilant and keep on learning if we are to continue to offer the best solutions.
It can sometimes feel overwhelming to have so much road ahead for learning. It can seem like the more you know the platform, the less you really do know (much like Socrates). What matters is having the right approach to tackle the situation and improve gradually. You are unlikely to become an expert in everything about the Salesforce ecosystem, but that’s where the magic lies: it is so vast that there will probably be a niche in which you want to specialise.
You will never get bored, that’s a given; there’s a lot of documentation and even a learning platform that is the best out there (Trailhead).
When you started reading this post, I’ll bet you thought that being a Salesforce Developer was just about writing code in a language other than the conventional ones, didn’t you?
However, we’ve seen that it is far more than that; it is a profession that integrates a wide range of skills from diverse technological areas and when these are combined with a good approach, integrity and willingness to learn, we end up forming part of a very small group of people highly sought-after around the world for their versatility and skill.