Monday, January 28, 2013

My force.com story

I had taken up Computer Engineering as my specialization and the only languages we had in our syllabus were 'C', 'C++' and core Java with a horrible touch of machine language (yes we had that), DOS and Unix.

It all began in third year of engineering college when all seniors informed that .net was the key to secure job in the future. I was a 'C' language loyalist and c was my home turf. I believed in 'while' loop more than 'for' loop. 'Pointers' were my best friend. However when seniors informed, as any scared college grad would do, I walked into a local shop selling second hand .net books and purchased a black book on .net (buying original complete reference or black book series in pocket money was not affordable).

.Net was fairly easy to understand. Only trouble was getting a decent visual studio to develop. Affording a license copy was not that easy and college had to provide a license key (for which had to argue a lot with the computer lab coordinator)

By the time I graduated, it was widely known that the seniors who had suggested .net were working on something called oracle apps. The only thing about oracle I knew was 'Scott' and 'tiger' (ignore if you didn't understand the reference).

After few google search I realized oracle app was a keyword not optimized for google. There was no developer reference, only new articles about oracle apps. It looked like something shrouded in mystery. So no luck in understanding oracle apps on my own.

By the time I joined by first job, I was way beyond my home turf (I come from west India, this was north India) no guidance from seniors and no second hand book shop. When they gave brief KT on servlets, I was alarmed. Even thought this was similar to c# it was not part of any java I had known. No amount of Google search would give me good information on servlets. Java was a different cult altogether. After learning Struts and Servlets when I proudly boasted in canteen one fine day about knowing Java, I heard there was something called hibernate that existed. But then by the time internship was over, we realized that there were too many people already in different types of Java and I was one grain of dust in this sandstorm.

After training we had a choice, either join software testing or take up something new called SaaS (sfdc had still not come into picture). Testing made no sense to me as I am a lousy tester. Hence I plunged into SaaS (which I will later learn was SFDC or salesforce.com).

We had a good training plan and our seniors explained us apex, s- controls (visualforce was still new to the world) and visualforce. This sounded boring, as most task we did was button click. This was not coding, I cried foul, I am an engineer and needed the rush of adreline while coding. But there seem to be no other option. This was 2008 and the recession will hit the world soon and people will start losing jobs. It made sense to keep head low.

There came a project requirement to fix a problem in adobe flex. I took up the challenge and a weekend later, flex was learned. The company was using Force.com as back end and adobe flex as frontend (again this was before visualforce). As I googled further more and more Salesforce features became visible. The big picture came into picture. The power of a powerful back-end and a flexible front-end was visible.

This time I had found a platform that was consistent across the globe (unlike ANSI C and other C, JAVA and its subordinates), was free to use (no need of costly license to develop code) and had plenty of resources for free online.

In two weeks I was confident that coding on force.com was a easy and yet complicated. My personal coding time reduced by half I was surprised to find my loyalty change.

The application building time on force.com was as less as a weekend. When I told my seniors about it, they laughed, said there is no future in salesforce. Future was in Seibel. Again I was nervous because till that time I was still a intern in a company learning a technology that had no future.

When I was learning Java, I had wasted 36 hours or more to understand the functioning of Tomcat server. The configuration, the deployment and other things. These things were reducing my productivity. With Force.com platform there was no such dependency. I code and it was live. Coding became fun and challenging. Not a tiresome process of knowing things not relevant to my job.

Four years since then, I never looked back as there was never a shortage of Force.com projects. Work kept me busy. Since that first flex project to implementing one of the largest Salesforce project, the complexity for all the projects felt the same. Two years after joining my first company did I realize that taking advise from others is not a good idea.
New features came popping up every three months, letting me reinvent myself. Site.com was released and I used it to build my own website on it. Soon mobile SDK came into picture letting me leverage mobile platform. I released an appexchange app (just for fun) that helps you create your own infographic resume dashboard using Salesforce. This blog was started to give back to the community by sharing tips, tricks and other fun stuff.

Last weekend I was surprised to receive a call from the senior who had laughed at Salesforce four years ago. His company had asked him to choose between Salesforce and Pega for moving his department. While googling he had come across my book, Force.com Developer Certification Handbook (DEV401), and called me up. This time he wanted to know if the platform is suitable for development or no.

It was my time to smile.

What is your force.com story? Share it on hi5[at] sidoscope.co.in and it will be published here.