Learning Salesforce in India
Aug01

Learning Salesforce in India

Its a casual day and some newbie in Salesforce asked me “Is Learning Salesforce in India worth”. Mine and everyone’s first answer would be “Do you have the budget to either fly to a western country or pay USD 2000 fees of Salesforce Training online?” Well that is not the cross question what I replied back with. I thought of giving an elaborative answer and wrote this blog. Here are few points I believe “Why Learning Salesforce in India is worth” Young India: We have 1000s of Salesforce enthusiast every year joining in the Salesforce community and 100s of Salesforce Experts in India. With Salesforce everyone is trying to show off and learn as much as possible. This thinking process of an Indian helps other to jump into the competition. With competition one either fails and learns or succeeded and teach others. Salesforce Community: I can see at least 40+ Salesforce Users and Developers group in India and several new groups coming up every day. In past 2 years there is an almost 300% rise in number of registered groups in India. These communities can definitely help you with learning Salesforce and several Recruiters target for bright minds in these groups. Salesforce in India: Salesforce is taking interest. With new announcements from Salesforce investing in hiring Developers and Experts in India it gives a better opportunity for every newbie/fresher. Thus a reason to Learn Salesforce in India is prominent. I believe in No Pain No Gain. To learn anything you should not expect spoonfeeding instead you should be brave and intelligent enough to go out and search for knowledge. The entire social media, youtube, blogs, trail heads, Quora is filled up with information and learning material. www.ajaydubedi.com Startups Hire Freshers: Several Companies startups like mine(www.cloudanalogy.com) are trying to hire freshers and train them in Salesforce. These companies give awesome opportunity to newbies and experienced upto a certain level to get trained and be productive in Salesforce. Salesforce Consultants and Admins: People who are not from a coding background but good at other areas like communication, consulting Testing, Problem solving and also be part of salesforce. Majority of Salesforce business runs around Admins and Consultants Read my blogs regularly to know about the 7th most important reason.www.ajaydubedi.com   I would request everyone reading this blog to share their experience with different Training institutes in India. Name of Institute, Fees, Time duration and Quality of Training. Submit this detail in the comments and win the following Salesforce development...

Read More
Code Reprository Management
Jul21

Code Reprository Management

This blog is for an Intermediate developer who is planning to do Salesforce backup and code management using Git. Unlike Java Salesforce does not have a code versioning system. I am going to demonstrate how we can use Git and Eclipse(Local code base) to have this code management in place. Step 1 : We have a Requirement to create a new Lead source as Web2. Developer have done some changes based upon a requirement and have marked the ticket #227(Hypothetical) as done in project management tool.Quality Analyst(QA)  got this ticket #277(Hypothetical) .To test in order to test the ticket she created lead and set the value of Lead source as ‘Web2’ as we were told to do so. Screenshot below: Step 2 : QA will ‘retrieve’ code from Sandbox using Eclipse Force.com IDE tool to do the task. Next QA will retrieve the class from sandbox in order to do that go to eclipse click File > New > Force.com Project Now Type a project name then type your organization’s Username and Password and if you have the security token you can add it too in the next field but if you don’t have the security token you can create one from your org or you can whitelist your IP to skip the security token part. Fill the correct details then click Next. Next step is to select the metadata you want to retrieve from the Sandbox and then click OK. You can now see the metadata which you have retrieved in your local system. Question 3 : Describes the steps to ‘commit’ to local repository, what tools did you use?                                                                                  And Question 4 : Describes the steps to ‘push’ to remote  repository,what tools did you use? Solution : We used Eclipse to do this task as well  What we did to implement the logic: Step 1 : First of all we have installed Git plugin for eclipse for deployment and retrieval process. To do so we have followed these following steps: 1.1. In Eclipse(any version), Go to help > install new software. Click on Add New button name the Repository(any) and copy and paste this url in the location field url : http://download.eclipse.org/egit/updates Next Install the available softwares. 1.2. Now go to Window > Perspective > Open Perspective > Other  or Click on perspective link and select Git from the available list. Than click Clone Repository button. 1.3....

Read More
Salesforce For A Graduate
Jul13

Salesforce For A Graduate

This blog is about how we can train, motivate, explain a Graduate fresh out from college about Salesforce. This is a very common challenge every Salesforce Team Leader, Manager or Practice Head like me is facing regularly. Graduates also have several questions while getting into Salesforce platform as a Job. I believe and execute the following steps for any Graduate Student to merge into our Salesforce Team. Knowledge: Information is always good to share. The first step for every graduate should be to learn as much as possible about the Multi-tenant environment, Cloud computing technology. They might have heard or learned about Cloud computing in their college course. Questions like. What is Cloud Computing? Why Move to the Cloud? 10 Benefits of Cloud Computing The Force.com Multitenant Architecture What is CRM? Why do we need CRM tool like Salesforce rather than develop it from scratch using Java or? Net. History: The recent history of software development process teaches us a lot. For a long time applications or software were being developed from basic programming. Salesforce CRM solution beats most of this software development approaches out of the window. Salesforce is a product with an added advantage of tweak and configure. Evolution of Salesforce in itself has been interesting, with all of its releases and addition of new features Salesforce has become a one stop shop. Motivation: Motivation can come from the smallest thing. Let it be a person, ambition, wish or even money.First, the trainer or team lead should be motivated enough and believe in Salesforce advantages over other CRM. We should bring all the motivation we can for these freshers and help them understand why Salesforce is the present and future of CRM industry. Salesforce technology being new to the computer programmers have lot to discover. Several new applications are being developed every day in Salesforce. Career Growth: A Comparative Analysis of career growth in Salesforce vs other technologies like MS Dynamics, Java, Net, Perl etc. would be a good starting point for Salesforce enthusiast. Past few years were good for Salesforce developers and we are sure that future is also going to be great. Several administrators, developers, and consultant have made their career in Salesforce by following the same path. Salesforce: Finally Salesforce itself can be a big motivation. Salesforce as a company have given a lot to this industry. There are several fronts in Salesforce by which one can achieve knowledge and recognition. Following Salesforce products or out of box solutions have performed brilliantly in market. Data.com Work.com Desk.com Appexchange Pardot Communities...

Read More
Startup or MNC for Graduates in IT
Jun16

Startup or MNC for Graduates in IT

As a fresher out from college you have still long way to go both in learning and earning. To start a career I would strictly advise you to look forward at how much you can learn in the shortest duration. MNC’s will always have a charm, brand name, probably good salary attached to it but Start up will always give you more knowledge and experience. I would like to share my experience in both the types of companies as following: Startup Advantage Great Challenge: Several challenges indeed and everyday you might get a new problem to solve. Great Power & Big Responsibilities: With great power comes greater responsibilities. You can play all the roles you can or want to play in a Startup. For a day you can be a programmer/QA/System Architect/Manager and even the delivery head. Everything by Yourself: A leader in Startup will always give you several tasks and also the freedom to do it  yourself by your way. Risky!! For them who don’t have dependencies or family responsibilities are natural to take more risk, probably because they can afford to try and fail. Huge growth possibilities: You grow as the company grows. Since you are in a Startup so there is good possibility that the company will double or triple each quarter or probably each month and so as your salary if you are participating in this with the right talent. Startup Disadvantage Risky: God forbidden if anything fails then everything else might get effected and fail too. You might even lose your job since company went bankrupt. Startups are also not good for people looking for easy money or peaceful/vacation type jobs. Less Training: The truth is that you are accountable from the very first day in office. You are responsible for your actions and in actions both. You can be very lucky if you have a great captain driving your ship from whom you can quickly learn and be a champion in riding waves. MNC advantage Good Initial Salary: MNCs have the money. They can pay you a handsome salary for couple of months or probably years. No Risk: MNC is way more stable and job security is there. Long learning curve: I can give several examples in which my friends or colleagues in the same or different MNCs were on bench having no project to work upon for the entire year! yes entire YEAR ie. 12 months! Fun Fun Fun ! Most of my friends and my time in MNC was full of fun. I was able to complete my entire week’s work in a single day so rest of the time I...

Read More
Its wise to learn from other’s mistakes: P3
Apr30

Its wise to learn from other’s mistakes: P3

Since the dawn of Software development, It has been a tedious job to avoid technical mistakes. Developers being human can commit  mistakes. By sharing these few mistakes we as a developer make sure that we are learning and helping others avoid such problems. This is PART 3 in the series of blogs Part 1 & Part 2 I am writing to explain few of my mistakes, blunders or stupidity which I have committed in some of my projects. The mistakes were committed in different roles as a Developer or Consultant or Administrator. Reader is expected to have some prior knowledge of Salesforce so that this blog make some sense. It will be great if you have an understanding of how the various components are developed in Salesforce. A Salesforce Administrator or Developer is surely going to appreciate this blog.   Always Aim At Right Direction: Connections and Mapping STORY: We have recently take over a project which was being developed by another team in JitterBit. We were very much confident since we had earlier developed similar features and have successfully did a bidirectional data transfer from salesforce to another platform. We were Change Sets Overview supposed to login and start the trial connection and push some trail data in Sandbox. On the very first day of the project we logged in and started the cron job. As earlier explained by the developer that the settings and connections were mapped to the Salesforce sandbox environment and all the testing and dummy push can be done directly and when Go live will be required we can change the connections and Mapping to Live environment. MISTAKE: We started the trial push without verifying anything and data was pushed to salesforce production since the Jitter Bit connection was mapped to production. BOOM!  We got hit by a Train. Production data was overridden. LESSON LEARNED: Never believe on what any developer say if the topic/matter is related to Salesforce production. Always double check and verify before doing any kind of Connection based testing.   Re Inventing The Wheel: Creating Salesforce Out of Box Features. STORY: We got an opportunity to work for a company who was using the sales cloud in salesforce. Their in house developers were already neck deep in developing several features. We were given some bugs to fix in certain time period. In order to understand the underlying enhancements already done by the last developers I made sure that we spend enough time in analyzing WHAT changes were done and WHY? MISTAKE: The Salesforce Enterprise org was having salesforce Standard objects recreated as custom. In fact the entire Sales model with Opportunity, Product, Quote,...

Read More
Its wise to learn from other’s mistakes: P1
Apr26

Its wise to learn from other’s mistakes: P1

Since the dawn of Software development, It has been a tedious job to avoid technical mistakes. Developers being human can commit  mistakes. By sharing these few mistakes we as a developer make sure that we are learning and helping others avoid such problems. This is PART 1 in the series of blogs Part 2  & Part 3 I am writing to explain few of my mistakes, blunders or stupidity which I have committed in some of my projects. The mistakes were committed in different roles as a Developer or Consultant or Administrator. Reader is expected to have some prior knowledge of Salesforce so that this blog make some sense. It will be great if you have an understanding of how the various components are developed in Salesforce. A Salesforce Administrator or Developer is surely going to appreciate this blog. Sometimes Even a Simplest Job Can Be Difficult: Automated Send Email FROM Address STORY: We had worked on a small project which was related to a survey conducted by our end client. This Survey was supposed to receive information from already registered users on Salesforce communities and information was to be stored in a  Salesforce object. Once a particular User submits his/her information they should be able to receive a confirmation e-mail back. With this requirement in hand we started the development in salesforce sandbox. We were responsible for end to end development, testing and deployment.  We were able to record of the information being entered by a registered user in Salesforce and e-mails were also been send out back confirming the survey information was being successfully submitted in Salesforce. Everything was working as expected  in testing and in the deployment phase we moved the components to production. MISTAKE: Once everything was live and users were filling up the forms we discovered a mistake. One of the users who have filled in the form and received the confirmation email had replied back to that email. The reply was recieved in my inbox rather than the Client’s support email. Then we quickly did some testing and discovered that registered users were receiving the confirmation e-mail from the developer’s Email ID rather than Client’s support email. So the mistake was that We forgot to update the e-mail sent from the clients registered support e-mail All the registered users were receiving email from Salesforce and with the developer’s email in CC. LESSON LEARNED: We should always use the end client’s email for FROM address under Salesforce Email Administration > Organization-Wide Email Addresses for development, testing and deployment.     Email Rainfall Everywhere: Email Delivery Testing STORY: We had recently developed Salesforce communities for our Client...

Read More
7 Checkpoints for Salesforce Developer
Apr03

7 Checkpoints for Salesforce Developer

As a Salesforce developer you are supposed to take some mandatory precautionary measures for development, testing and deployment. Development in itself could be a complex job. We should be careful enough while we are designing the UI or implementing any business logic. This piece of advice can be a long list of Do’s & Dont’s but I will be summarizing the top 7 domains under which a novice or a seasoned developer can make mistakes. Trigger: Less Code in Trigger: Business logic should be written in Apex classes and purpose of writing a trigger should be to divert the various update, insert, delete, before, after control flows to the correct Apex class. Context-Specific Handler Methods should be their in Apex classes. Bulkification. While developing a fresh trigger we should always think of the possibility that the records in the object can be inserted, updated, deleted by a User in bulk using API, Data Loader tool or custom Multiple edit page etc. NULL Check: This is a very basic check which every developer learns in the course of testing triggers which they developed. One Trigger for One Object: Creating multiple triggers on the same object will cause warnings in Checkmarx code review for Appexchange. Self looping triggers: Beware of this and make sure you use a Static field in class to verify the trigger is not getting called multiple times. Webservice callouts from Triggers: Can’t hit more than 10 callouts at a time. Design Patterns are good solution for this. Trigger Frameworks and Apex Trigger Best Practices Visual Force: SOQL: Make sure the query is having a limit or an intelligent WHERE clause. A query can be written in Salesforce in multiple ways. Design: If the Logic permits then use components and divide the screen in separate pages or Wizard steps. Use Static Resource for all the CSS and images. Separate JQuery, Javascript files will also be good. Check View-state: Make sure that the Salesforce view state size is always in check. Action Tags: The lesser number of action tags the less will be callouts to Salesforce controller(Server). Most of the simple business logic/validations can obviously be carried to client side scripting. Best Practices for Improving Visualforce Performance Web Service: Commit Rollback exception. This should be taken care of SOAP: We should have the clear understanding of WSDL we are going to use in Salesforce. Web Service, parameters, range and return value. SOAPUI is one of the best desktop based tool to do a dummy test. WSDL FILE size limit may some time demand trimming: Will need WSDL expertise for this job. REST: The services resources should be identifiable and...

Read More