The Search Web Alignment project at Google was a critical initiative where I played a key role in aligning Google Search’s operations with evolving web standards and user expectations. This project was integral to maintaining Google Search’s relevance and efficiency in the rapidly changing landscape of online search and user interface design.
My primary responsibility in this project was to ensure that Google Search remained aligned with the latest web standards, particularly in the context of user interface rendering and functionality. This involved updating and refining the underlying systems and frameworks that drive Google Search, ensuring they were not only compliant with current web standards but also adaptable to future changes.
A significant part of this project was the focus on enhancing user experience. This meant that any alignment or updates had to be implemented without disrupting the user experience. My approach was to ensure seamless integration of new standards and features, maintaining Google Search’s reputation for being intuitive and user-friendly.
Through the Search Web Alignment project, we successfully updated Google Search’s infrastructure to be more responsive and adaptive to new web technologies. This effort was crucial in keeping Google Search at the forefront of the search engine market, continuing to meet and exceed user expectations in an ever-evolving digital world.
Role: Software Engineer, Tech Lead
Technologies: Java, Google Web Server (GWS).
In the Search Design Systems project at Google, my role was pivotal in enhancing the user interface and experience for Google Search. This project focused on the standardization of rendering templates, a critical component in the overall infrastructure of Google Search. My efforts were directed towards the development and implementation of these templates, making them more adaptable and efficient for use across various search features.
A significant aspect of my work in this project was the exploration and potential implementation of client-side rendering using lit-html. This innovative approach aimed to streamline the process of creating and adapting user interface templates, thereby simplifying the development process and improving the efficiency of the Google Search platform.
The successful execution of the Search Design Systems project had a profound impact on the operational workflow at Google. It dramatically streamlined the process of making UI changes, which previously would have been a time-intensive and complex task for developers. The project significantly contributed to increasing the agility and responsiveness of Google Search to evolving user needs and web standards.
Role: Software Engineer, Tech Lead
Technologies: Java, Google Web Server (GWS).
The UIR Migrations project at Google was a significant initiative that I led, aiming to revolutionize the way Google Search evolved to accommodate the dynamic nature of the modern web. This project was part of a larger endeavor known as 'The Great Search Shift', which was essential for Google Search to support dynamic web content, including crucial features like real-time COVID alerts.
In this project, my role involved overseeing the migration of numerous complex features to new UI Renderers, a task pivotal for enhancing the agility and performance of Google Search. This effort was crucial in enabling Google Search to support a wide range of new features and content types that were becoming increasingly important for users.
One of the key achievements of this project was the dramatic improvement in engineering productivity and efficiency. We were able to enhance engineering productivity by 4 times, a significant metric in the context of Google's scale. Furthermore, the project contributed to an improvement in Google Search’s page-load times by 3%, enhancing the overall user experience.
The UIR Migrations project was not only a technical feat but also a testament to collaborative effort and strategic planning. Leading this project involved coordinating with multiple teams across various locations, managing stakeholder expectations, and ensuring the timely and efficient delivery of each migration phase.
Role: Software Engineer, Tech Lead
Technologies: Java, Google Web Server (GWS).
Tenant Automation Solution (TAS) is a Java EE application component of Oracle Cloud which automates all lifecycle operations related to tenant orders and service subscriptions during OnBoarding, ScaleUp and Termination on Cloud. I was part of the team which built the Autonomous ticketing tool that alerts the developers based on log anomaly detection using Support Vector Machines.
Role: Senior Software Developer.
Technologies: Java, PL/SQL, Python, NLTK, Bash, Oracle SOA suite, XML, SOAP, WSDL, BPEL, Oracle Weblogic.
Lighweight Pod Manager(LPM) is an application infrastructure management service that makes it easy to deploy and manage any cloud service using blueprint templates and a pod-specific plan. The whole application stack creation is automated. Oracle Load Balancer setup is completely automated by LPM. I developed a load prediction model based on LSTM that scales resources based on anticipated load.
Role: Senior Software Developer, Designer
Technologies: Nimbula, Java, Python, PL/SQL, Chef, Bash, JMS Queue, Jersey, JSON, Oracle Weblogic.
Scheduler Cloud Service(SCS) is a RESTful web serice on Oracle Cloud which allows users to invoke actions such as calling HTTP/S endpoints or posting a message to a storage queue on any schedule. With Scheduler, users can create jobs in the cloud that reliably call services. I have been a part of the team which developed the REST interface, Scheduler, and Database backend from the scratch.
Role: Software Developer.
Technologies: J2EE, PL/SQL, Quartz, RESTful WebServices, Jersey, JSON, XML, Oracle Weblogic.
This work highlights the importance of using a hybrid parallel programming model for capturing the application’s need for task as well as data parallelism. Modern GPUs and OpenCL don’t natively support hybrid parallelism. Programmers must understand the device architecture to extract maximum parallelism. This project presents results of platform-aware implementations in various parallel modes and results of hybrid parallel executions of Strassen’s algorithm on GPUs.
Tools used: OpenCL, CUDA, MPI, OpenMP, C
Programmatic tool for Cache study
This tool written in C uses pilot experiments to find the size, hierarchy and associativity of caches in any computer.
Detection of Silence and Voice frames in speech using Singular Value Decomposition (SVD) and Principal Component Analysis (PCA).
Dec. 2011This project classifies the silence and voice frames in a speech signal using SVD and PCA with an accuracy of more than 90% at normal conditions and atleast 65 % accuracy at noise prone conditions using MATLAB.
N-Body Simulation
Nov. 2012Written N-body simulation with N=1 million for t-cycles of 1 million. Brought down the execution time on a supercomputer from 2days+ to less than an hour using core High Performance Computing principles.