Head Of Engineering
Bengaluru Area, India
Architected,designed and built the core backend of the product from scratch for scale with the mantra that choosing the right language/technology is the most important aspect in solving a problem and distributed architecture is not a choice but a mandate. Following the principle of all-interfaces-in-api-form-at-all-times, not only prevented the code from becoming a monolith but also ensured easy handshaking with components written in different languages aside the crucial benefit of maintaining state and integrity of data at all times. With Message Brokers as the backbone ensured that distributed and asynchronous way of building a solution was always smooth and ensured a develop-deploy-forget capability for independent modules exhibiting singular objective. Ensured that configuration data needed for configuration enabled features can be quickly modified without rolling out of code, by using distributed config stores to store configurations. With real time reconciliation of logs from distributed heterogeneous modules, ensured that traceability and flow determination across many modules and systems was not a difficult thing for Developers. Built highly interactive analytical systems(OLAP) on top of open-source products to provide not just historic but real time analytics. Learnt that DB designing for NoSQL needs a radically different approach than designing for RDBMS. Built a transactional system using MongoDB and Groovy. Built Bots Architected and built a highly flexible and domain independent lead matching system In most scenarios were able to identify the thin line separating over-engineering from needed-engineering, by solid understanding of the Business use cases and the behavior of actual end-users. Lead the team in developing native Android and iOS apps. Technologies (hands-on) :- Grails, MongoDB, NodeJS, Redis, ActiveMQ, DRUID, AngularJS, SailJS, AWS(S3,SQS,MachineLearning,QuickSight), FB Bot,Nginx