Understanding of why we are implementing is the key to implementing any solution. What and how, there is technology for that. I consider myself a critical thinker, not confined to one specify technical skill.I have worked in all kinds of transactional and warehouse database solution, all kinds of languages like Java, Ruby on rails, python etc.