36

I was going thru the Stack Overflow Developer Survey 2015: Results and noticed that Salesforce was rated the Most Dreaded Tech tool for the Year.

I didn't participate in the survey so not sure what exactly it means and how it got rated and what exactly it translates to..

If any of you participated in the survey or have some insights / details on what this mean, can you please share your thoughts around what you think of the results.. do you agree with it or not..

  • 10
    Because you can not do SELECT * and have LIMITS I think :) – Sergej Utko Apr 13 '15 at 10:05
  • 3
    Did anybody on this site even hear of this survey or complete it? – Matt Lacey Apr 14 '15 at 1:50
  • 2
    I never noticed the survey until i saw the results. – Vamsi Krishna Apr 14 '15 at 3:14
  • with so much of feedback and variety of views, I can see few actions - 1. will it be possible to come up with a survey within SFSE to get a proper feedback 2. pass on the feedback to the SF Dev management folks 3. any changes of going back to SO Survey team to update the results with proper stats – Vamsi Krishna Apr 16 '15 at 7:04
  • 4
    Everyone ****s a brick over the limits and the SELECT * thing (I did when I first started), but after dealing with those things for a month or two, they're really not a big deal. Hell, I appreciate them now, because it makes you a more efficient programmer. Most of the people complaining about those things, 9/10 are just poor programmers upset they can't do the same crap other environments give you a pass on. – Programmable Medley Apr 17 '15 at 15:38
  • 1
    I think cloud computing specially SaaS / PaaS have become mainstream in last few not so long distant years. We are relatively into early stage. Some things tame time to mature. Comparisons will be made. Critics will have good reasons to criticise. Over short to medium term things will only improve. Windows used to crash in early stages and their used to be viruses and i used to be afraid of while using a new usb drive :) – Walker Apr 18 '15 at 17:31
40

First, I agree with @kibitzer that the survey itself is likely to have suffered from significant selection bias, in that the respondents were gathered based on ads on Stackoverflow. I'd bet the percentage of people who said "no" to "are you interested in continuing developing on the Salesforce platform" would have been much lower if the respondents were gathered from salesforce.stackexchange.com.

That said, even with the SO bias, Salesforce scoring less than the likes of Visual Basic, Wordpress, and Sharepoint should be cause for concern among the developer evangelism team and general management at Salesforce. At the very least I'd suggest it warrants a more targeted Salesforce developer survey that tries to determine if there is a significant developer community dissatisfaction issue, and what its roots are.

Personally, although I've spent close to 10 years in the Salesforce ecosystem, I definitely find frustrations in the platform as a developer that don't exist in other programming or cloud platforms I have used. I'd love to see Salesforce close those gaps.

If I was able to prioritize Salesforce development team dollars with developer joy in mind, my priorities would be:

  • give the community a set of development tools that include a robust and officially supported IDE, tight source control integration, continuous integration support, and better support for multi-developer/multi-team environments (e.g. a java-style folder/package structure for Apex/VF, sub-org/multi-org hierarchical environments)
  • take a torch to the platform limits. I understand there are architectural reasons for many of the limits, but there are too many of them, they are a constant frustration to developers, and this aspect of the platform is significantly behind other cloud platforms like AWS. The "Limits Quick Reference Guide" is 47 pages long.
  • this is probably a pipe dream, but providing a local execution emulator that doesn't require server round trips for saving Apex/VF, running tests, etc would be AWESOME and clearly is technically feasible. Even if it had significant limitations on what it could emulate.
  • provide an on-platform data store that doesn't guarantee the ACID-style robustness of the core SOQL data store, but that is fast, cheap, and capable of solving big data problems. Something like DynamoDB but that is integrated into the platform such that it can augment and/or join with standard SObjects/UI elements with a much lower cost per GB of storage.
  • expand the exposure of the core Java APIs into Apex. Binary file manipulation, image/sound APIs, and core utility APIs would be awesome. Thread.sleep would also be nice :)

Anyway, I think it could be treated as fact that the numbers in the SO survey have numerous flaws; that said, being at the bottom of the heap in any survey is never something you want to see. Hopefully it gets noticed within HQ and we developers get rewarded with some moves up the priority list for developer-centric features!

  • 6
    I couldn't agree more with the CI/CD and multi-dev support -- it would be nice to have an OOB solution – cropredy Apr 14 '15 at 18:17
  • 7
    I've seen an emulated Salesforce. It was running on a little MacBook of some type. Cool stuff, but they won't let us outsiders have it. At the least, I'm sure they'd have us all sign NDA's and whatnot, and it'd be a pretty painful experience for the average developer to get a hold of. Also, I understand why we have the limits in place. They should use a smarter algorithm, though. Fine, detect infinite loops with heuristics, prevent it from compiling. But the onus of making the code beautiful should be on the developer. Their users will complain anyways. – sfdcfox Apr 15 '15 at 1:28
  • 2
    +1 so I can replace my busy loops with Thread.sleep and save some lines of code. – Daniel Ballinger Apr 15 '15 at 8:26
  • 11
    I don't take issue to the limits (at least most of them). They make you a better developer and force you to write efficient code. However, I couldn't agree more on the need for better IDE support (IntelliJ), more core Java API's and an full local emulator would be amazing. – Christian Anderson Apr 15 '15 at 23:50
  • 1
    @DanielBallinger - unfortunately Josh (Apex PM) has made it pretty clear that sleep is not in our future (success.salesforce.com/ideaview?id=08730000000Bq2HAAS). The threading architecture of the platform definitely needs some reworking. At the moment the official position of Salesforce is that forcing developers to write busy loops for "check/wait" use cases is better for the platform than allowing a thread to sleep and consume no resources! – jkraybill Apr 16 '15 at 1:31
  • 2
    It appears that SFDC open-sourced the Force.com IDE because they wanted the community to maintain it and the community hasn't taken that up. Better and stronger metadata deployment would be preferable to better source code integration because of the manual changes required or the weakness in deploying profiles. Higher numbers of developer sandboxes per org and more flexible AppExchange app deployment would also help the push for better CI/CD deployments as multiple developers sharing the same sandbox is a frequently seen anti-pattern. – beamso Apr 19 '15 at 0:21
  • 3
    @beamso - reading between the lines, I got the impression that the Apex & dev evangelism teams wanted to be able to develop and support a first-class desktop IDE, but were not able to get the budget for it. Open sourcing it was way better than just dropping it, but the fact that they couldn't get dedicated budget for a tool that every developer would use every day doesn't really give much confidence that the other developer-centric features on this and other lists will garner attention/budget... :( – jkraybill Apr 19 '15 at 7:04
  • On the Force.com IDE open sourcing, I made some contributions but got put off by the PM's unwillingness to share any information on release plans - felt like throwing code into a black hole. Also that code base needs major refactoring not tinkering around the edges - ridiculous to be staring at UI blocking dialogs. – Keith C May 25 '15 at 20:03
  • Those points listed over there are exactly why I hate salesforce. – mcmc Jul 30 '15 at 13:54
27

I personally enjoy the SFDC platform very much (witness many contributions to SFSE) but I work with other SFDC developers in large high tech orgs and I can state that they do not enjoy Salesforce development work for the following reasons

  • It is seen as a poor step child to the glamorous work done by the product teams of the org. Such glamorous work involves creating products for end users, rather than internal IT-type projects. Big data analytics, Hadoop, native iOS apps, mission critical systems, etc. Imagine if you had the choice between working on some highly visible system like YouTube or iTunes versus the fate of many SFDC developers doing CRM. I'm not surprised at the dissatisfaction.
  • The average day can involve doing data migration, perhaps because some legacy CRM system is converted to SFDC or an acquired company's SFDC is merged into the parent company's SFDC org. This, as we know is painful and mistakes are costly.
  • Colleagues are frequently contractors who are forced out after 12-18 months so the quality of code reflects a just-get-it-done attitude and hence little esprit de corps on improving one's craft. Management's attitude that SFDC developers are interchangeable parts doesn't help here either.
  • Management rarely invests in additional SFDC tools as the cost per user for SFDC is seen as sufficiently high that productivity (fee-based) tools are a tough sell.

I also agree with the other remarks that a professional developer would see that SFDC Apex is a step backwards from tool sets they might be used to (forgetting of course the advantages of a PAAS)

  • When doing public facing work in Salesforce, i.e. through Sites or Communities, some of the shortfalls of the product show through, e.g. the JSF 1 style tags, navigation via POST, complications with validating data input and displaying those messages for data input. I would suggest that the lack of decent tools and the fragility of the system when attempting to do refactoring work means that doing code cleanups can be incredibly painful. – beamso Apr 18 '15 at 23:54
17

There's plenty I dread as a Salesforce developer. Having the Developer Console disconnect, throw errors, stall indefinitely, etc (it likes to change things up). Debug logs with most of its body missing due to log size limits. A uniform record size of 2 kb across all custom objects, regardless of field count (How big is your 300k row excel file? In SF its SIX HUNDRED MEGABYTES). Deploying a changeset using the SF interface (shudder thank god for MavensMate). Doing any point and click configuration with those sweet 5 second page loads. Documentation with enough mystery to be a detective novel.

Good code and careful design will help in any situation, but I wish Salesforce would direct more energy into making their environment friendlier to developers.

15

I had to look up the word too, from the below explanation I conclude most developers don't like salesforce.

dreaded: regarded with great fear or apprehension.

Though I severely question how those that voted for salesforce in this part of the survey came to experience salesforce and what they attempted to use it for. If experiences were brief, with a .NET or Java mindset, I could understand an extend of disappointment. I'd say that it takes a certain mindset change to fall in love with the platform.

for instance: if you were getting away with writing poor performing code in JAva, you're going to have a harder time adapting to force.com and apex. Where as if you were already applying bulkification patterns and solutions in java, the change will be softer.

  • 9
    And the amount of poor code I've seen corroborates with this answer reasonably well. I myself came from C, C++, Java, and a handful of other languages, and I'll admit, while almost anyone can write code, few can write it beautifully. I'm trying my best to change that. Code should always be beautiful. – sfdcfox Apr 15 '15 at 1:22
10

I wouldn't mind betting that it comes down in a large part to it being a proprietary platform, and I suspect more than a few respondents would have been proponents of the "it's not real development" way of thinking.

To me that opinion is shortsighted and worthless. If you're instructing a computer how to do something, be it through code or a tool like flow, you're programming. You're a developer. End of story.

  • 2
    Hear, Hear! Really like this answer. I always say "You're not a developer just because you know how to use a keyboard". Its all about logical understanding and the ability to write working processes in a simple and efficient manner, that is what makes a developer, regardless of the tool they are using. – Christopher Alun Lewis Apr 15 '15 at 10:20
7

I wrote up a blog post on the topic before I saw this discussion: 73% of Salesforce developers want to stop being Salesforce developers? Say what?

7

There is one quite confusing thing in the survey, as a note below stat say % of devs who are developing with the language or tech but have not expressed interest in continuing to do so.

Perhaps people who used dynamic languages before will see Java/Apex as pain. Also, there is a chance that a lot of people that answered were not coders. More than likely, they were junior administrators looking a way to implement some business logic using workflows.

I am sure there are people like me who spend spare time learning different languages. Personally I would like to move from enterprise apps to doing 'cool' stuff. Probably most people do as well.

But I am not the one to decide what technology the organisation will run on, that's what pointy haired boss decides (although I don't think there are much alternatives today).

6

I personally enjoy being a Salesforce Developer even with the tedious admin tasks and data migration tasks that get lumped into the same category.

With that said Apex and Visualforce, although being strains of Java and HTML are very particular to Salesforce. Out of University I have only had experience developing in Salesforce and if for some reason Salesforce disappeared it would be difficult to go back and learn full blown Java and then apply that knowledge in another working environment.

Also, I can see why Governor limits and SOQL vs SQL would be a pain to use when coming from more open systems like My SQL...

So there are a lot of pros and cons of developing on the Salesforce platform but personally I love it!

5

Now that the full results are available, we can dive into the data behind these statements.

153 out of 26,086 developers (15 people just selected every technology) stated they have any experience in Salesforce or 0.58% of those surveyed.

Of those people only 41 said they would continue using it in the future. ~27%. They did not ask opinions about it, just if they would continue using it. If you are a traditional Web developer or programmer, it is highly unlikely you are continuing using Salesforce other than some sort of integration or when it is in some spec you are given. 73 of those 153 put SQL server, 49 put Python, 47 put Wordpress, 38 C++, 23 Matlab as other technologies they use. That sheds some light that there is little indication just how much experience these survey users have.

There are plenty of positives and negatives about the platform, but I would not take this survey as sort of indication of Salesforce developers hating themselves.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .