How to identify Salesforce programmers who don’t have experience.
In the Salesforce world now, we understand that there is a lot of demand for visual force programmers now due to the brilliance of the force.com platform. There is not much programmers in the market now resulting in the following situations. There is a lot of guys in other platforms like Java and dotnet who want to move to the force.com platform which is good and want to change their career. This is a welcome sign for the force.com community but at the same time there is a lot of guys who are faking the experience and claim to be the experienced ones which makes it hard for the real good and passionate guys at this point. My objective of creating this article is to do the following.
- Help staffing companies and customers who use Salesforce to identify good programmers
- Help fellow programmers who are passionate to move to Salesforce platform.
Let us face reality. We all need good programmers who can deliver the tasks assigned to them on time and have not much defects. The assumption is that if a programmer who has built say 50 to 100 visual force pages based on different needs can deliver any type of visual force page within a reasonable time and that is why we are looking for experience of 3 to 5 years in Salesforce. But the reality is your needs identify the type of resource you want. To me , there are the following types of programmers currently available on the market.
- Programmers who work on their client current enterprise orgs with high volume of users and do mostly extension work in the platform like building controller extensions, triggers, data integration and migration tasks.(Maintenance programmer)
- Programmers who work with ISV building Salesforce products on the app exchange and skilled in creating generic code on their apps which can be used by multiple customers, skilled in deploying packages for different editions of Salesforce.(Product Programmer)
- Programmers who work on purely integration specializing in integration tools like Informatica, webservices, Tibco, mashups and work on the integration front.(Integration programmer)
- Programmers who work on other platforms like J2EE, dotnet and want to move to Salesforce and have certification in 401 and 201 and looking for new projects or experience.(Passionate programmer)
Fit the programmer to your need
If you have an org where you want ongoing maintenance , a maintenance programmer would be an ideal fit. There is a lot of Salesforce administrators who can also fit this job now who can do the work. If you are looking for heavy development work like portals, multiple org packages, product programmer would work for you. If you are looking for integration work, integration programmers would fit your need. If you are looking for building a team, the passionate programmer would be a real fit where they have already learnt the platform with their certification experience and craving to prove their credentials.
The real challenge is that we have a ton of resumes and has all the keywords we want and how do we weed out the fake ones. We just have 30 minutes of time to do the interview and we need to make a judgment call and report to our management on the good guys.
- Ask questions based on practical scenarios instead of definitions.
For e.g if your need is a solid visual force programmer and you want a lot of visual force page work, here is the questions which can help to identify the real ones.
- Tell me scenarios on how you have passed data between controllers and visual force components and why you choose one approach over the other.
- Give me a scenario of when you would use a pageblock tag over a panelgrid tag and why would you use one over the other.
- Give 3 issues you faced when deploying visual force pages on force.com sites or your org and how you solved the problem.
- Identify questions where you can find the solution capability of the programmer which comes from experience of building pages or learning a lot of them.
These are questions on why a programmer would use one component over the other.
- I want to build a multistep form say page1 to page 10 and how would you transfer data between page 1 to page 10?
- Give me an example of a scenario in your project where you built a trigger instead of a visual force class and why?
- I would like to send an automated email once a user registers on my site or once a user updates data on my custom object. How would you do this?
- Identifying the attitude of the programmer
Ask questions to test attitude
We all know that we don’t want jerks and we want team players who can help the other team members in solving problems. Here are some questions which would help to test the attitudes.
- Give me a specific instance of how you helped your team member in a specific issue where there was a time pressure on your task ?
- Have you contributed to answers to any questions on a blog, Salesforce developer forums or stack exchange?
- Have you created blogs or posted your feedback on any blog with your knowledge?
These questions would help to identify the helping programmer who would be very valuable for you.
- Code test
Within 30 minutes of an interview, We have a feeling that the programmer would fit our need or not and if we have a good feeling, we would say yes or no. But still if there is an element of doubt, we can do code test to see the effectiveness.
- Ask the developer to show examples of a complicated visual force page or controller he did and you can review code and see his style.
- Every developer has code which they always use on different projects like utility classes . Ask for it and ask why they use it.
So with these 3 high level tactics, you can identify experienced programmers for your needs and weed out the bad ones. Feel free to put your thoughts and I will be glad to answer any question you have.