markdown guide
 

To be honest, initially the money. SF dev jobs are amongst the best paid currently. Nonetheless, along the way I did discover certain things in the platform that made it appealing.

The biggest advantage is possibly that thanks to the fact that since the Apex language and the frontend frameworks like VF and LCF are solely oriented to Salesforce development, you can focus on very high level problem solving. You don't have to worry about how to implement a Repository layer, or how to manage threads, because the platform already does that for you. The same goes for integrations, etc.

As for the training... Simply Trailhead, StackExchange and curiosity :)

 

Hi! I'm a Salesforce administrator and becoming salesforce dev.
I have a question you don't see that SOQL complicate salesforce? (like for example many- many relations and other stuff ?)
thank you for your answer.

 

Well, you're not really understanding Salesforce. At the end of the day, Salesforce is just another CRM system with an Oracle DB at the back and Java to wire everything together. With Custom Objects, lookups and M-N relationships Salesforce is allowing you to model how that DB should look. It's just a comfy way of defining your tables. If it did not allow you, 90% of the scenarios clients have would not be modellable

 

I guess you didn't understand me, I'm not talking about not letting you but adding a junk object to make you do the many many works it add one step to the one working with your database model in Salesforce.

it's the only solution I know about doing many many relations, so if you know another one or something?

No there isn't any other solution. If you really think about it, there actually isn't any other way of doing it. How else would you implement an M-N relationship model?

 

I'm going to straight up necro this post a bit and ask a few more questions. My company is right on the edge of needing a salesforce developer and if I play my cards right and am comfortable with SF and working in it theirs a real chance I can get my dive into real development and move into that role if i'm ready and able.

Searched for Salesforce and your AMA popped up so I couldn't resist!!

Do you feel that salesforce dev work is akin to full coding with say Java? (version control, scope, etc.)

Did you find Learning Apex to be easier or more difficult than other languages to work with?

Does Salesforce have version control and other such features or do you just upload your source from another source. i.e. github?

What do you wish you had known when you first started learning Apex?

Thanks in advance for any advice or recommendations. I'm probably gonna start going through the SF certification paths next month and ANY advice on getting ahead of the curve would be precious. Thanks!

 

Hi Michael!

My advice is, if you start learning it and like it, deep dive into it. It's a growing product and it does offer a lot of possibilities. As for the Development experience, it's getting better as time progresses. A few years ago it wasn't that good, but it's improving now.

Regarding your questions, I'll go one by one.

1) If you're a Java developer, you will easily get the grasp of Apex quickly. Fundamentally you will find Apex is exactly just like java but with 80% less classes and functionality, so it's easier to learn. On the other hand, since in Salesforce you only have to concentrate on very high level problem solving (no file handling, repository layer, etc.), it isn't a problem.

Version Control is probably the most inmature aspect of a Salesforce Development environment, but it's completely feasible. I work with git with my current team and we're all comfortable now. Just not as straight forward as with other technologies since for compiling and running tests, you do it remotely, not in your local env.

2) Apex is overall a VERY easy language. It's OOP, but it lacks features, so if you know C# or Java, give it a couple of weeks and you'll be fine. Nonetheless, Salesforce is not just Apex. You have Visualforce and the Lightning Components Framework for the frontend, which is more complicated. But then again, LCF is just like React, Angular or any of these new JS frameworks. The knowledge is not lost :)

3) Development in Salesforce using Version Control is not all that old, so no. You will find many repositories in Github, but it's not as common as other ecosystems like Java or Python. You would basically have to find whatever package you're interested in, clone the project and upload it to your Salesforce environment via the Metadata API. Again, this is starting to be very automated with the new SFDX CLI. Actually, Wade Wegner made a plugin for this exact purpose not long ago: github.com/wadewegner/sfdx-waw-plugin

4) What do I wish I had known? Probably to code efficiently. Salesforce is VERY hard on its limits. You can't execute more than 100 queries in a same transaction. You can't make more than 100 HTTP requests in the same transaction. You can't query more than 50k records in the same query... It basically enforces you to optimize code as much as possible. Eventually, once you learn, it's good knowledge tho!

5) As for the certifications, I recommend you start with the AppBuilder cert and then continue with the Developer I. There are many resources online though, so don't worry.

In any case, good luck with your new SF journey man! :)

 

Hello, Javier! I'm not really familiar, sooo... what is Salesforce and why should we (most developers) care?

 

That's a pretty good question actually.

Salesforce is a CRM platform. In a nutshell, it allows any company to keep track of their sales and support cases and other kinds of things related to the lifecycle of a customer. You wanna buy a new laptop? Some sales guy notes it down in Salesforce. You had a problem with the last TV you bought? The case you opened via email is tracked in Salesforce. It's, like I said, a CRM.

And why should you care? The main advantage of Salesforce is that it is COMPLETELY customizable. They have designed a specific OOP language (Apex) with Java-like syntax which allows you to interact with the DB, and all the services of the platform. They also have multiple frontend frameworks which allow you to fully and 100% customize the layout of it. But, on top of all these coding capabilities, they also have a ton of point&click configuration available which turns the platform into a powerhouse.

So... all in all, it's a Platform which you buy licenses for and whose back and front-end you can fully customize with 1% of the effort you would have to invest with other technologies. That and the salaries are much higher than average other technologies.

 
 

Hi ! The Salesforce code is opensource ? I am a little bit confusing about that .

 

AFAIK, no. They do have a lot of open sourced things, but not their actual product.

You can find some of their stuff here: github.com/salesforce

 
Classic DEV Post from Jan 12

An Engineer’s Rite of Passage

Let's share our stories about the first time we took down production and any advice we have that helped us get through it!

Javier Manzano profile image
Polyglot Software Craftsman with a thing for books and music.