Happy Birthday ColdFusion!

Posted in General

The very first version of ColdFusion was released 20 years ago. Since then ColdFusion has ensured that the platform remains relevant to the needs of modern web application development. It has been an amazing journey and the secret sauce for its success over the years has been its ability to make hard things easy and the incredible passion shown by the product team and CF community.

CF20

I personally feel proud to be part of this journey for more than half of its life (10+ years) helping steer the ship beginning with setting up the team in India office and then successfully shipping version 8, 9, 10 & 11 of the product along with several updaters and updates. During this time, the team also created a grounds-up implementation of IDE – ColdFusion Builder, Cloud version, CF Mobile application development platform.

A very happy 20th birthday to ColdFusion and wish it can continue to delight the customers by making hard things easy and keeping the passion alive!

Batman vs Superman : Performance vs Security

Posted in General

Performance Vs Security is like choosing between Batman Vs Superman in a duel between the two superheroes. Many of the security methodology introduces additional steps in the workflow, code logic and extra checks and these extra steps may cause slowdown in performance and usability.

This is a tough choice that has to be made – which one is more preferable and when?

batman-vs-superman

Or is it a fight where you want both to win? How?

A Non-template Approach to Hiring

Posted in General

I recently interviewed a candidate for a position that requires quick learning ability on multiple technical area. I have to assess if the candidate can understand a given problem quickly, learn new technical concepts and apply them to debug a problem. The need is not so much to build a deep understanding but just enough to help understand issues.

I wanted to try something different during my interview process. So during the interview, I gave the candidate a sample problem to debug in an area where he had some familiarity. But instead of running a usual interview, I gave him a laptop and access to internet – a practical and real way that many of us use to find solutions to new problems. And my evaluation focused on – approach, learning ability, structuring and breaking down the problem etc. It was an open-book interview!

I feel there is a need to re-look at the way majority of job interviews are conducted by breaking a template approach to hiring and bringing more real and practical aspects in identifying skills, capability, competency and cope-ability.

The process of setting up the support team continues to provide me more opportunities to try out different styles of interviewing. I already shared some of the approaches that I tried out earlier in another article innovative approach to support hiring.

Most important functions of ecommerce solutions

Posted in General

A latest report from Econsultancy from a survey of 600 clients identifies the most important functions of ecommerce solutions.

figure_01[1]

via Econsultancy

As an ecommerce company, does this list fairly represent the most important functions? How about which areas are served well and which areas still have problems and challenges? For example, is mobile support a strong solution in your ecommerce solution? Are you satisfied with the search functionality?

The other interesting point to note in the report is that email database integration is the topmost area of integration (61%) followed by CRM (52%)

Which technology platform provides the best solution for critical functionality in ecommerce?

Action based framework for Better, Faster & Cheaper features

Posted in Decision Making, Ideas, Technology

While working on a recent project, I prepared a list of following questions that helped me identify tasks that can lead to features with better, cheaper and faster characteristics.

– Repeatable tasks that can be minimized
– Mundane tasks that can be automated
– Challenging tasks that can be simplified
– Unnecessary tasks that can be removed or hidden

Once these tasks are identified, the next steps was to decide on what actions can be taken to minimize or simplify them. The table below summarizes a simple framework where tasks can be listed with appropriate action to solve them.

Better_cheaper_faster Model

The framework allows you to create new categories of task by adding a new row, or defining new actions by adding extra value in the Action column. Finally, you can define the characteristic of each solution (Better/ Cheaper/ Faster) that you have identified for a given problem. Since this framework focuses on finding problem tasks, there is greater flexibility in defining, modifying and reaching a cheaper, better or faster solution.

For example, a common task that many of us do is to interact with phone while walking. Now if this is a problem that you want to solve, you can define a new category called “Hazardous task” by adding a row for it. An action that can “Minimize” the hazardous nature will be to build a proximity sensor in the phone. And you can classify this solution to be “better” than what is already available on phones or what user do today to avoid bumping into someone!

Learning Scalable Systems

Posted in Leadership, Technology

One of the key facets of personal leadership is the ability to adapt and learn. It allows one to stay ahead of upcoming challenges, help the team and engage in proactive leadership. I just started working on a new project to design highly scalable architecture and here is what is helping me to build learning in this space –

1. Hands on building SaaS based application

I started designing and building a SaaS based application as part of my weekend project. I did few long coding sessions and the time spent was well worth it. Most of the mistakes were done when I succumbed to the temptation of just making it work. The exercise provided me deep insight into issues and challenges of building a SaaS based application.

2. Meeting startups

Many startups are formed as a proof-of-concept product and cannot really afford to over engineer the product till they see traction in traffic. Once they see traction and funding, they make leap and bound progress in their architecture and are very aware of cutting edge work. Hearing their technology journey and how they are identifying and resolving initial design flaws was a great learning experience.

3. Meeting technology advisers at venture capital firms

I met senior technologist from couple of top venture capital firms. Their perspective on building scalable SaaS products was invaluable – how to bring scalable practical thinking in the design process, how some of the successful companies are implementing scalable strategies and how some of them have avoided redesigning their system by staying ahead of potential problems and issues.

4. Online resources

There are several online resources but these two are my favourite presentations on this subject –  7 Stages of Scaling Web Applications provides a very good overview and Scalable Web Architectures: Common Patterns and Approaches provides a very comprehensive coverage on scalability. And you can never run short on interesting reading at All Time Favorites at highscalability site.

5. Leveraging past training

After moving past design philosophy, I also started looking into some of the past trainings that I attended on building blocks for highly concurrent design and other from an application programming perspective. Many of the concepts started to make sense.

6. Books

I recently bought a copy of Scalability Rules: 50 Principles for Scaling Web Sites. It is a reading in progress. I may buy another book or two to keep as a reference. Having written a book myself I know how challenging it is for a book to keep pace with rapidly evolving technologies. Suggestions are welcome on any good books available on this topic.

7. Brainstorming with smart people

White board discussion with smart people around you help you make great progress in learning and validating your learning!

An innovative approach to support hiring

Posted in Hiring, Leadership

One of my tasks last year was to setup support engineering team for one of our products. Once we identified a lead who can potentially run day-to-day operations the next big task was to complete the hiring. If the hiring gets delayed, we run the risk of facing more challenges – delays in resolving customer issues, lowering of customer satisfaction scores, overworking existing team and losing customers. In worst case, there was a chance of losing the openings themselves.

I was not ready to lose the openings neither ready to compromise on my law of hiring. So for some of the candidates, I started trying few different things.

Role Play

I asked candidates to play support representatives and I played an irate customer. We used a familiar product and started shooting my questions. I also had the lead watch our conversation and share notes. The role play helped me assess customer handling capabilities as well as maturity of the candidates in a tough situation.

Take Home Assignment

Since candidates are coming from many backgrounds, it was becoming very difficult to assess their technical and learning abilities in the context of our product. And the solution was easy. I started giving them take home assignment (time bound) to install the product, prepare an overview and learn two areas where we get maximum queries from new users.

The Learning

It was a very interesting experience. Any candidate who gave unreasonable excuses after agreeing to finish the assignment by certain time was a no hire. Those who did come back and we successfully hired showed their ability to learn quickly, research about the product and present a good overview and common challenges that users face. These are all highly required qualities for a support role. What I also found out that some candidates wanted this job badly and their performance in the assignment showed their interest.

Finally!

We were able to hire good folks who were already trained on the product and can start contributing from day 1.

Happy Holidays & Crunchy Reflection

Posted in General

The holiday season has officially begun. I will be using the holiday season to reflect on many things around personal, professional, societal and polity front.

And the process has already started. I started this blog in May 2013 and I am very happy to complete a full calendar year in 2014 of active blog posting. Here are top 5 bog entries out of 33 from 2014 archives.

1. Snapshot of Wearable Device Market
2. What makes us feel good about our work?
3. How Happy Birthday is said on greeting channels today
4. Entrepreneurship is #1 career aspiration today
5. How to destroy an expensive marketing campaign – Cadbury story

Here wishing all of you happy holidays and a great year ahead.

Happy Holidays