Making the transition to working on a new platform is oftentimes a change in flavor that can mean an assortment of things. For me, that change has involved working in the B2B Commerce space. Coming from a background of developing in B2C (also known as Demandware) for a few years, this has meant encountering some similar site and administrative architecture, some of the same languages and design practices, as well as a good deal of new process and framework.
Upon starting my journey into learning about B2B Commerce, I first had to learn about the Salesforce platform. That is to say, B2B Commerce, previously known as Cloudcraze, is built upon the framework of the Salesforce platform. Now, even though it may be true that B2C Commerce is with Salesforce, my experience with it did not involve exposure to the Salesforce platform, so this would be something new. It would involve tackling a variety of modules on Trailhead and completion of a Salesforce certification. At the end of the day, it proved to be quite a comprehensive coverage of information and capabilities. It would not be until I encountered B2B Commerce that I could put my newfound knowledge into practice.
If I were to compare my B2C Commerce understanding with B2B Commerce, that component of using the Salesforce platform would be a large part of it. To put things into perspective, this would mostly be covering the administrative things. Setting up things such as an environment, users, community, roles, deployment would be done a bit differently, compared to doing so with Business Manager. There is actually an interesting dynamic or framework to B2B Commerce with the Salesforce platform though, and that would be that most of it are based on a data structure that can be referenced and changed. With this, there is room for a great deal of customization. At times it can be overwhelming, at least in my experience, for what is possible. It is, however, an advantage to have this greater general capability.
Going further with the comparison, there would be some differences in the actual development. As far as the Salesforce platform goes, it uses a language called Apex for some of the site infrastructure. This would prove to be a challenge for me but has gotten easier with time and experience. Further, given that I am more involved with the front end of things, this may shed some light as to why it was more foreign. With that being said, something similar between B2C and B2B was the front end. Given that they both use CSS, which is the primary way of styling the storefront, this would be a natural transition for me. Although, there would be caveats here and there. For example, when working on a reference application for our new B2B practice, there wasn’t really much to work with when starting out. Something called the “theme” of the storefront would only include one CSS file to include all of the stylings. Coming from B2C where there would be an organized process of structuring the styling into different files using SASS, I would find myself having to convert CSS into SASS. This turned out to be a learning experience because I had a hands-on role of being able to see and change the structure of code that would be developed. It allowed me to look at things from a higher level and take on a more substantive role in analyzing and organizing the site’s architecture. Overall, being able to do this gave me an appreciation and insight into how the moving parts of everything work with each other, and I am grateful for that.