Creating Apps for Salesforce:
a 3rd Party Developer’s Perspective
An interview with Xaver Bandi, Salesforce Developer at b+s
The community working on and with Salesforce is as dynamic as the software platform itself. We decided to find out more about some of the folks in different roles in this collaborative ecosystem, and wanted to start where the coding rubber meets the API road: developers!
3rd party developers create every imaginable add-on feature for Salesforce. This is great because it means that just about any business can leverage the solution for its highly specialized needs. Bucher + Suter is one such company that provides connectors for businesses using Cisco Contact Center and Cisco Collaboration Solutions. We were able to catch up with b+s Connects for Salesforce developer Xaver Bandi to get an inside view of what it’s like to work on 3rd party apps for the CRM giant.
Question: What is your background? How did you come to create 3rd party apps?
Xaver: I am actually a mechanical engineer by training. In school, we used a lot of software to do our work. I found that the quality of the software was generally really poor. So, I decided to enter the software development field because I thought there was a greater need there.
Question: How big is your team? How do you folks work?
Xaver: My team is about thirty people. Our product owner gets requests from various stakeholders, like partners, sales engineers, and customers, and then decides which features would be valuable to implement. One person is dedicated to server-side testing, the rest of us are developing new features and fixing bugs.
Question: What is the workflow like as you do development?
Xaver: We create code using an application called Webstorm. It’s is a really clean text editor that a lot of programmers use. It is great because we can all share the code and work well together. That’s a lot of what I do: write code for our app which then interfaces with Salesforce through various APIs.
Question: Tell me more about how you work with APIs? That sounds complicated.
Xaver: Well, to put it simply, APIs are agreed upon ways our software and the Salesforce software can talk. So, for example, when a user clicks a button that initiates a click-to-dial, a piece of code, which is just a text file, gets sent to Salesforce to initiate a call. Think of them as UIs for software instead of for users. It’s a lot more complicated than that, but that’s the basic idea.
Question: I imagine creating Bucher + Suter software requires a lot of collaboration with the Salesforce team.
Xaver: Actually, in a perfect world, we would not interact with Salesforce at all. The point of APIs is that they standardize communication across platforms. If everything is working properly, then there is no need to get in touch with Salesforce because everything is working seamlessly.
Question: So, is that typically what happens?
Xaver: Actually, yes. Salesforce has good infrastructure and support for their APIs. As well, they are pretty great about keeping their documentation up to date. For example, when you have to pull API code for a function, you can be quite confident that it’s correct. I have had a lot of experience where API code provided by companies is not accurate. That’s when you need to get in touch with people on their end. With Salesforce, that is quite rare.
Question: Certainly, you have to get in touch sometimes?
Xaver: Yes, of course. Bugs are inevitable.
Question: That’s funny. Somehow, I would expect computers to be a one-and-done kind of thing. Like, once you fix the bug, that’s it.
Xaver: Haha. No, bugs always appear. Every time the software changes on either end, you get bugs. There is just so much going on, it can’t be avoided.
Question: So, is that when you contact Salesforce?
Xaver: Exactly. We create cases with them. Then they try to help us.
Question: What’s that process like?
Xaver: This is another place where Salesforce is great. They are really responsive to fixing things quickly. Sometimes companies will not make bug fixes because it isn’t worth their time, or they are doing other things and don’t care. Salesforce is not like that; they really try to help developers get things fixed.
Question: Are there any cases when they don’t?
Xaver: Only rarely. It happens when they don’t think the bug is serious enough to merit a fix. That makes sense. There are so many people writing so many kinds of code for them. If they fixed everything, they would not be able to create updates themselves.
Question: What else makes Salesforce different?
Xaver: Well, they’ve recently created Salesforce.org. This software is really fantastic for developers. Basically, it lets you check to see if your product works seamlessly with theirs without having to actually set up all the parameters of your installation. In about a minute, you can set up and run your application. If there is anything that isn’t working, you know right away. For a developer, this is awesome and a huge timesaver.
Question: You mentioned the documentation being really helpful. Can you say more about that?
Xaver: Sure. It’s amazing, really. When you have a problem, usually you look at the documentation, and it is often not enough to help you with what is going on. Not with Salesforce. If your code is throwing an error, if you actually go and carefully read the documentation, what you’re doing wrong is almost always clearly explained. This is really nice and quite unusual.
Question: Are there any challenges to working with Salesforce?
Xaver: Well, like I said, I was trained as a mechanical engineer. I came out of school and started working as a software developer. Learning coding was pretty challenging. But overall, I have to say, that dealing with the Salesforce platform has been the easier thing I’ve had to master. They just make it so user-friendly.
Question: Great. Thanks very much Xaver.
Xaver: Of course, thanks!
Curious to know more about Bucher + Suter or our wide array of CRM connectors?
Drop us a line, we’d love to chat!