Why Salesforce?

You have decided to join a consulting/staffing company. 

Now, the big question: Which one to join?  Before you answer this question, you want to ask yourself, in what technology you want to pursue your career in? This is the hard part.

For example, you can choose to be a Business Analyst. This role is somewhat technology neutral to  some extent, but one does need to know the functional and/or business processes to be successful. So, if you want to be a BA in ERP area, you should be either familiar with the business process flows of the particular functional areas like Accounting, Manufacturing, Human Resources or have familiarity in an ERP software like SAP, Peoplesoft, Oracle etc.

If you choose to be a developer, you have an ocean full of choices - Java, .Net, Open Source technologies (PHP/Python) ,  etc. 
Once you choose a particular language, then you need to pick the areas you want to concentrate on, for example if you want to learn Java, then you have Hibernate, Spring, J2EE, JSF on and on and on.
If you go with .Net, then you need to decide on the VB or C#, Silverlight, various combinations of them and so on.

You can also choose to be a developer in a specific product like Documentum, Sharepoint, Oracle ERP, SAP, Peoplesoft, Salesforce etc. 
Depending on the product you choose, you will have some programming  prerequisites  like knowing  Java or .Net, but with a narrowed focus limiting to what you need to know for that product. 

How is being a developer in a product advantageous to being just a programmer in a particular language? 
 By choosing to be a programmer in a specific product you are:
  • narrowing your focus into the product and the technology associated to that product
  • not getting distracted with all other  available frameworks and technologies which has no impact on the product
  • getting marketable in short period and in the long haul gaining expertise in that area
  • knowing programming is a plus, knowing a programming language like .Net or C# is a big plus as these are used in most of the software products.

How do we know this? We have been down this path with our friends and based on our combined experience, going a product route seems to work best.

If you decide on the product route, what to pick? 
One way to approach this is by training in the technology areas where the Companies are investing in. 
Every Fortune 500 company and below are interested in some sort of cloud computing. They want to be on cloud and want to have cool apps on iOS and Andriod. 
They want to run their enterprise software on cloud. Running enterprise on the cloud is the big thing now, and more companies are heading to the cloud(s) to reduce their infrastructure headaches.
Salesforce is well established and leads in that space from an enterprise wide solution.

What must you know to learn Salesforce?
  •  Basic Programming experience. If you have worked on the school programming projects, that is good enough. 
  •  Knowing Java/C# is not essential, but a plus and makes learning APEX - Salesforce programming language easy. 

What do you need to learn Salesforce?
  •  All you need is a Salesforce compatible browser - i.e IE or Firefox or Chrome or any other standard complaint browser
  •  All the development and configurations are done in Salesforce WEB IDE in the browser. 
  •  For APEX development, you have the option of using Eclipse IDE, which makes it easy, or the inbuilt editor which is good with slick features like auto completes and error highlighting.

What is the typical work once on a project?
  •  adding an additional custom field to capture additional context based on business information
  •  triggers to fire based on some user actions
  •  implementing custom workflow with approvals or extending existing functionality by building new pages using Visualforce (custom web UIs).

All these would involve anywhere from a basic configuration type steps to developing  custom page(s) using Visualforce to  programming APEX classes based on the complexity of the requirement.

Why Salesforce?
  • PaaS (Platform as Service) is the next big thing in enterprise solutions
  • Salesforce is the leading PaaS provider.
  • It is the hottest thing in the market with all clients wanting to implement it
  • Shortage of people
  • Easy to find projects