New course: Building a Private Enterprise Blockchain on Salesforce

I know what you’re thinking – what? Blockchain on Salesforce? Are you kidding?

I’m not kidding.

This course came about from a simple question: Is there actually a useful scenario for blockchain on the Salesforce platform, and if so, would it be possible to implement in Apex?

It turned out, rather to my surprise, that the answer to both questions is yes. The result is this course.

The course starts with a very basic introduction to blockchain technology. Yes, it does cover crypto-currencies and explains why you definitely would not build one of those in Apex (sorry, this course won’t make you rich mining some hypothetical Force-coin).

You’ll then learn some actually useful applications for a private blockchain on Salesforce, and then see a full implementation of a blockchain in Apex

Grab yourself a free trial on Pluralsight and check it out for yourself!

Building a Private Enterprise Blockchain on Salesforce – on Pluralsight.com

New Course Teaches JavaScript to Salesforce Developers!

I am so excited to announce my new Pluralsight course “Getting Started with JavaScript in Salesforce

Like many developers, I believe the future of Force.com development is Lightning, with Lightning components giving programmers the ability to create rich user experiences in ways that have not been possible before.

But if you’ve looked at the Lightning training and documentation, it teaches Lightning but either assumes you already know JavaScript, or that you can get away with copying, pasting and minor customization of sample code. But the truth is that if you are serious about understanding and creating Lightning components, you really need to know JavaScript.

So where do you learn JavaScript? Existing courses all show you how to add JavaScript to ordinary web pages, or to use standard frameworks, and they leverage existing knowledge of languages like C# or Java – not Apex.

Salesforce developers need JavaScript training that leverages knowledge of Apex, and focuses on implementation in VisualForce and Lightning.

That’s what this course is about – it’s every Salesforce developer’s introduction to JavaScript. You’ll get a solid foundation of the language from a Salesforce perspective. Next time you look at the Lightning sample code, you won’t be guessing what it’s doing or why commas or curly brackets appear in certain places and not in others. You’ll really understand it, and will have no problem building your own applications and components.

I invite everyone to check it out – you can get a free trial on Pluralsight if you aren’t already a subscriber – you’ll find a growing library of other Salesforce courses there as well.

Watch Getting Started with Javascript in Salesforce

Search The Force.com

This week at the MVP summit I introduced SearchTheForce.com – a new search engine for all things Salesforce.

Like most developers (and I expect Admins and users), I rely heavily on Google to find answers to questions. And by heavily I mean – heavily. The fact that I can easily search for things means I don’t have to worry about remembering them, and can concentrate instead on the problem at hand. SearchTheForce.com makes my search more efficient, in that I don’t have to be clever with my search terms to try to convince Google that I’m interested in a workflow formula instead of feeding a baby. It is my hope that others find it just as useful.

SearchTheForce.com is still Google – it uses a technology called Google Custom Search. The site also supports a feature called OpenSearch – which means that browsers recognize it as a search engine. On Chrome once you’ve visited the site you can enter a few characters like “sear” then press tab to specify a SearchTheForce.com search, and enter your query directly into the search/URL bar. On Firefox, you can add it as a search engine that is available to the search box. You can even make it your default search engine.

Right now SearchTheForce.com searches all Salesforce domains, popular Salesforce forums such as the StackExchange, and a large number of Salesforce related blogs. If there’s a site that’s missing, there’s a suggestion page where you can send in your site recommendations.

The Back Story

Many years ago, when Google first introduced custom search, I created a search engine for Microsoft .NET technologies called SearchDotNet.com. It was a great learning experience and a useful tool. A couple of months ago I received an Email from someone using that site who had a suggestion. My response was “wait, that site is still up?” I had completely forgotten about it. But it reminded me about this technology and I instantly realized that I desperately needed a custom search for Salesforce. In fact, I rather kicked myself for not having thought of this years ago.

I was also looking for a good excuse to get acquainted and reacquainted with Linux technologies – I hadn’t done any real work in Unix since the 1980’s, and wanted to refresh and update my knowledge of that technology stack. Building out SearchTheForce.com was a great excuse to do that.

The site is built on an Ubuntu server running WordPress on Nginx – based on my research that was the best way to build a high performing WordPress server. It’s running on AWS – another technology stack that I’m familiar with, but by no means an expert. Overall, it was a great learning experience, and it seems to run very efficiently on small EC2 instance.

Integrating Google Custom Search was not difficult – there are several plugins available for this on WordPress, though I confess I ended up heavily modifying the one that I used to migrate it to the current version API and to support OpenSearch. Using WordPress made it easy to implement other features like adaptable layout and the suggestion page, and will make future updates easy if necessary.

Configuring the Google Custom Search itself is easy. In fact, I discovered after the fact that there was another Salesforce custom search out there, but that’s ok – the more the merrier. In fact, if you have a site and you’d like to add SearchTheForce.com’s search to your own blog or site, drop me a line and I’ll be glad to show you how to do it.

Meanwhile, I hope you enjoy it, and next time you have a question and turn to Google for an answer, you’ll search the Force.com instead.

Career Strategies and Opportunities for Salesforce Platform Developers

I can’t believe I forgot to post a blog entry about my latest Pluralsight course “Career Strategies and Opportunities for Salesforce Platform Developers“.

Ok, it was released right before Dreamforce, and the last two months have been considerably crazier than normal. But still…

Anyway, I encourage you to check it out. Those of you just starting out on the platform will find some great resources and information for helping you move your career forward (and understand better what you’ve gotten yourself into). Those of you who are experienced on the platform will finally have something to point your friends to that explains what’s really going on, and why they should seriously consider working on the platform as well.

Ideal for developers and administrators (and developers who wish to become administrators and vice versa), and all those who are curious about career opportunities on the Salesforce platform.

73% of Salesforce developers want to stop being Salesforce developers? Say what?

Stack Overflow just posted their annual developer survey for 2015 – http://stackoverflow.com/research/developer-survey-2015. I was more than a bit surprised that Salesforce development topped the list of most dreaded technologies. Now I’m not questioning their results, but you know what Mark Twain is misquoted as having said – there are lies, damned lies, and statistics, and this one didn’t quite pass the smell test for me. I know a lot of Salesforce developers at all levels, and if 73% of them dreaded working on the platform I would expect to be having quite a few conversations consisting of people complaining about the platform and how they are studying other technologies in the hope to escape those dreaded limit errors.

In the survey, dreaded is defined as “% of devs who are developing with the language or tech but have not expressed interest in continuing to do so.” I know many developers who have come to Apex from other languages. I can’t think of any of them who are looking to do something else. There are some great things about developing on the Salesforce platform, and some very annoying things as well. I can see how someone coming to Apex from another language might find aspects of it very frustrating (don’t we all?) but I think most of us find the advantages far outweigh the disadvantages. Enough so that we are generally very interested in continuing to work on the platform as it evolves.

Something isn’t quite right.

So I asked myself, who were the respondents to the survey? It must have been a fairly small sample of Salesforce developers, after all Salesforce doesn’t even appear on the list of popular technologies (defined as most used), so less than 7.8% of the respondents would be Salesforce devs. Of course, this could still be a statistically significant number, but it does suggest that Stack Overflow does not necessarily attract large numbers of Salesforce developers.

And why would it? Any experienced Salesforce developer is much more likely to be active on the similarly named and often confused Stack Exchange – specifically Salesforce.StackExchange.com. If you look for answers on Salesforce or Apex questions, you’re much more likely to be directed there than Stack Overflow. Looking at Stack Overflow, the tag Apex has 667 questions. Apex on Stack Exchange has 7000 questions. Does this mean that Salesforce developers who are happier on the platform are more likely to be on Stack Exchange than Stack Overflow? Are the Salesforce devs on Stack Overflow more likely to be part time on Salesforce where those on Stack Exchange are full time on the platform? Are developers who spent their time on Stack Exchange less likely to have seen the ads for the survey (which are noted as appearing on Stack Overflow sites)? I have no idea. But I’d bet there’s a selection bias at play here, and I’d bet it’s significant.

So I call bullshit on this statistic. I think it falls into the category Stack Overflow uses to describe the results where “These results are not unbiased. Like the results of any survey, they are skewed by selection bias, language bias, and probably a few other biases.”

I think there is some extreme selection bias going on here. Nothing against Stack Overflow by the way – they are very transparent about the results and potential for bias. Unfortunately, I’m afraid a lot of people will look at that number and assume it means something, where in fact the hitherto unasked question – of how many Salesforce developers actually dread the technology they are working on, remains unanswered.

Trailhead – An Intriguing Way to Learn Force.com

As an author, I have a deep interest in the way people learn technology, especially given the way technology has been impacting education in general. In fact, I created an entire Pluralsight course on the topic: “Learning Technology in the Information Age”, in which I discuss the advantages and disadvantages of different forms of content.

When I compare articles and blog posts with classes and books, one of the key differences is that classes and books provide curation. Curation is when the teacher or author selects the material that is important and then covers it in a logical order in which concepts build on each other to promote understanding. Articles, blog posts and videos on the Internet are fantastic when it comes to answering specific questions and providing information, but tend to be very poor on curation. This is why classes and books and courses still exist and thrive. When you want to really learn a topic, especially when entering a new subject area, good curation can dramatically reduce your learning time and help you achieve competence much more quickly.

Which brings us to Trailhead. I just finished looking over four new Trailhead modules, Data Security, Change Management, VisualForce Basics and Apex Testing. What fascinates me about them is that they provide something I haven’t really seen anywhere else. They aren’t articles. They aren’t books. They are, in a sense, almost pure curation of content. Think of them as a detailed course outline. They won’t teach you everything you need to know by a long shot, but they’ll get you started and leave you knowing what you need to learn.

I like the name Trailhead. When you go hiking you have a number of options. You can read an article about something along the trail, but that won’t prepare you for the hike – you won’t know about the dangerous spots or equipment you’ll need. You can hire a guide to take you on the hike and you’ll learn everything about the wildlife and geology and so on, and they’ll be sure you’re outfitted properly, but it will cost you quite a bit. Or you can get the trail guide, that will highlight the important things you need to know about the trail, the elevation gain, slippery spots and equipment you need, leaving you to discover and learn on your own as you take the path. Trailhead is your trail guide to Salesforce. It’s not THE ANSWER to Force.com training, but it’s a fantastic resource that serves a distinct purpose.