Salesforce held its first event just for software developers in San Francisco last week, TrailheaDX. Previously, the company relied on special sessions such as at Dreamforce to educate developers but Salesforce’s declared intention to train up to 100 million developers in its Salesforce Lightning development environment dictated taking additional action.
The numbers vary but estimates of the number of professional developers working in the industry ranges from 100,000 to perhaps 20 million. It’s Salesforce’s dual contention that the world needs more people skilled in the development arts and that anyone should be able to learn them. The analogy they make is to products like Excel and PowerPoint, specialized applications that enable workers to support their business efforts. In the future, application development will be as essential as being able to manipulate a spreadsheet.
The comparison is apt provided that application development tools can be made as easy as using Microsoft Office products. But therein lies the rub. Application development is orders of magnitude more complex than using Office products. However, this must be balanced by the realization that not every Office user is a power-user able to write spreadsheet macros or design slides with animation. Apparently realizing this, Salesforce has developed a three-level strategy for developing working apps without any coding, with some minimal code use, and with a highly customized approach to code.
Trailhead is Salesforce’s highly automated and self-paced education program that enables people with no IT experience to go as far as they want to achieve any of the three levels of application development proficiency. Within the program, users are rewarded with badges, much like you’d expect in any gamified process, whenever they acquire new skills. This gamification will be key to the program’s success as well as to the success of the individuals receiving the training.
Salesforce is aiming at traditional developers but also at people whose backgrounds are far afield from information technology. The company sees its role as empowering people to attain employment skills that, for example, enable Salesforce administrators to customize their instances of CRM but also to build solutions that capture and manage important business data within specific processes. Historically, a lot of this kind of development has been done in spreadsheets or the data has been stored in paper files. With Trailhead training, Salesforce hopes to give many more people the skills to build such solutions.
The training is broken down into logical units focusing on things like defining objects and writing code as well as using a series of drag and drop tools that serve to reduce the need to code to a minimum. Simple solutions based on existing or simple data structures can be defined using drag and drop tools and as complexity increases so does the need to write a few lines of code.
As I look at the offering it occurs to me that greater complexity corresponds to inventing new business processes, which I believe is the whole point of having these tools in the first place. Enabling business users in this way means providing them with the agility to innovate existing business processes or to develop new ones. It’s often the ability to innovate around information that provides differentiation today so I see this capability as becoming essential.
Salesforce no doubt sees things in a similar way because the company also announced a new $50 million venture fund for its investment arm, Salesforce Ventures. The company had already announced a $100 million fund, which has been well subscribed. But it also feels that there is more opportunity for people who acquire programming skills through Trailhead not only to develop apps but also to start companies.
As a strategy this is impressive. Not only is Salesforce willing to train people (for free) in app development it is also willing to help found new companies. Today Salesforce is giving revenue guidance for its current fiscal year at more than $8 billion. For the company to continue its growth it will need to sell more generic seats of its platform services in addition to selling its conventional CRM, i.e. Sales Cloud, Marketing Cloud, and Service Cloud (there are other clouds like Wave Analytics but we’re not naming all of them here). Training more developers is a logical way to make that happen. Already, selling development seats is Salesforce’s third most successful business garnering well over $1 billion in revenues.
Trailhead is a new approach. Using e-learning students can train at their own pace in their own spaces without needing to attend formal classes. The ability to take an online test to certify a particular skill level and receive badges (there are about 130 badges to earn) lends credibility to the training rigor and makes graduates employable.
My only reservation about this approach and the goal of 100 million trained developers is that it will lead to the Über-ization of software development. When code is so easy to write that anyone can do it, we’ll see a commoditizing effect and a gradual decline in wages for developers. This won’t happen for a while but it can’t be helped because commoditization is a natural part of a successful economic trend. Right now there’s money to be made in application build-out and this condition will last for many years. It’s always best to be early in a trend.
(Cross-posted @ Beagle Research Group)