When I started writing code on Salesforce, we typed code into a basic text-input on the setup pages. There was no auto-complete, no collaboration tools, no version control, deployment was difficult... In fact, if it weren't for the platform itself being so powerful, it would have been a complete dead-end.
Salesforce was voted the most dreaded technology of the year in the Stack Overflow Developer Survey 2015.
Piece by piece things have improved. At Nebula today, we use MavensMate and Sublime Text 3 to provide a powerful editor. We use Gearset to deploy code. But it hasn't been clear how we can use source control effectively or do continuous integration.
With the upcoming release of Salesforce DX, it seems like we might finally get there. We'll be able to have a toolchain as powerful as the platform itself. We'll be able to get all of our code under source control, and no longer have to mumble quietly if another developer asks which technology we work with.
Details are sparse at the moment, but it promises the ability to spin up temporary dev orgs to perform integration testing. It promises more data available over the metadata API. And it promises more command-line tool support for all of this. With Salesforce's aim being to allow continuous integration tests, there's good reason to believe that they will have enough in the first release of Salesforce DX to meet that goal.
I can't wait to get started with it!
With Salesforce DX, you can now benefit from modern collaboration technologies such as Git to version control everything across your team - your code, your org configuration, and your metadata.