Many Pies

Many Pies

Monday, October 20, 2025

My first impressions of Salesforce Vibe Coding

The face of a bear with "Let's vibe" underneath

 I spotted a new icon on the Salesforce setup menu, so I decided to give it a go. It's a full web-based VS code IDE.


As it happened I had a specific Lightning Web Component that needed to be created, so I prompted with that. I have to say, it's very impressive. It doesn't just generate a load of code, it knows about how the whole deployment process works. It has a plan mode, so you can clarify things before you put it into "act" mode. It asked me clarification questions

Before finalising the plan I need a few specifics to ensure the data model and security model are correct

It asked me nine questions in all, so I answered one, expecting it to then say "what about the second question" but it went through the whole cycle again. So I gave it several answers in one go.

The process of identifying the target org it should deploy to wasn't obvious or straightforward, even though it was thinking out loud about how to get that information. I didn't know how to tell it though.

Get username. Intelligently determines the username  or alias for Salesforce operations

In the end I told it "set username to name@company.com" and then it put that into configuration as expected. When I later tried to get it to use a sandbox it default to login.salesforce.com

I got an error "provider context length exceeded". When I asked for help with solving it, I just got the same error. I gave up for the day, came back the next day, and it was OK. I guess it just needed a nice cup of tea and a sit down.

It asks permission nicely before it does things or creates files, so you can follow along, rather than just waiting until it's finished and you have to dig around to find out what it's actually done.

Bear in mind, I didn't look at any of the available help information, I was just ploughing on. 

I got as far as deploying the component, which then failed because of lack of org wide test coverage. It then offered me four different options. I went with running only tests related to the change. The deployment then failed because of 0% coverage on the test class. It suggested that it could write some code to cover that. I wouldn't have minded if it did that without asking, but I went ahead and asked nicely anyway. It churned away, trying deployments, adding code to set default values. All the while it was thinking out loud:

I see the issue now. The problem is that we're trying to create a User with a ContactId, but the org requires that users who are associated with contacts must be portal users. Let me modify the test class to handle this by creating a regular user without associating it to a contact, or by using a different approach for the test setup.

 In the end, after several iterations, it managed to deploy the component:

The tests now pass successfully with 100% pass rate. The test class properly deploys to the target org and executes without errors, providing confidence that the GauAllocationsExplorerController functionality works as expected in the target environment.  **


Conclusions

How you view this depends on what your knowledge is.

If you don't really know about Apex programming then there's probably too much that you need to know to get anywhere (e.g. test coverage, local vs org tests).

If, like me, you've dabbled a bit, you know about deployment and Salesforce dx, then it will get you a long way towards getting something that basically works. You can then actually read the help information and increase your skills.

If you do this sort of thing all the time I imagine that it will take a lot of the drudge work of setting up new projects and creating outline code which does most of what you want. You can then go in and use your l33t skillz to finish the code off.


Wednesday, May 14, 2025

Why I went for a #clicksnotcode Salesforce certification



When I started working for my recent Platform App Builder certification (have I mentioned that recently?) I initially was heading towards the Platform Developer cert, which includes writing Apex code. We don't have much Apex code in our current org, and have only modified it a couple of times in minor ways. So I wouldn't be using the code writing skills that I gained in order to get it, and they'd get rusty. Given my years of experience writing code in other languages (and the Apex I wrote in 2017 for our switch from Raiser's Edge to Salesforce) I think I could pick it up if required.

It strikes me though, that the whole development process with, say, a Flow is very much like the process if you're writing Apex. So typically you:

  1. Talk to the people who want the enhancement or bug fix (let's assume it's a fix)
  2. Work out how to fix it
  3. Work out how to test that fix
  4. Fix it
  5. Test it
  6. User acceptance testing
  7. Documentation/training
  8. Release
So step 4 is different between Flow writing and Apex coding, but everything else is very similar. Have I over-simplified everything, or is there something substantially different to coding compared to creating a Flow?

Wednesday, February 26, 2025

My experience of Salesforce Certification

 

Certified Platform App Builder badge

I've recently completed my first Salesforce certification - Platform App Builder and I thought I'd share some of my experience. I can't tell you much about the exam itself or the Salesforce hit squad will be round my house.

I'd recommend Focus on Force with their study guides and practice exams. It took me about 5 months doing an hour or so a week to work through the guides and the exams before I felt ready.

I'd recommend this video by Roy Moore or this article on test taking tips to help with exam technique. When it comes to the question of doing it at home or at a test centre, I chose the test centre because a) I didn't have to faff around with proving I wasn't cheating and b) an hour's bus journey felt like a good way of getting in the zone.

The Platform App Builder certification is a mixture of admin stuff and flows and app configuration. There's no Apex because #clicksnotcode. 

If you haven't done a certification yet, is there anything you'd like to know?