Senior Software Development Engineer (Vocalize) (January 2017 - Present)
Software Development Engineer (Microsoft Azure) (September 2012 - January 2017)
Software used - C++, C#
Software Development Engineer (Windows Live Mesh) (July 2009 - August 2012)
Software used - C++, C#
Responsible for the Peer-to-Peer layer for Windows Live Mesh.
Developed Windows client APIs for the SkyDrive client allowing it to talk to the Storage cloud.
Graduate Research Intern (Media Architecture and Driver Group) (September 2008 - December 2008)
Software used - C, Nvidia CUDA
Working on implementing motion estimation algorithm on Nvidia CUDA Architecture
Making comparative studies regarding factors like performance, usability, etc with Intel Larrabee.
Graduate Intern (May 2008 - August 2008)
Software used - Java, J2EE, JMX, Websphere
Worked on developing a monitoring framework using Java Management Extensions using Websphere and J2EE.
Microsoft India R&D Private Limited
Software Development Engineer (July 2006 - July 2007)
Microsoft Grava CTP 1
Software used - C#, .NET 3.0, Windows Presentation Foundation (WPF)
Grava is a set of tools created by the Microsoft Education Products Group using WPF. It provides modules for Authoring and Playback interactive non-linear presentations by students and educators.
I worked towards designing and creating User Interface elements for Grava. Apart from the development work on the product, I explored ways to add more value to the product and improve the architecture of the software. I also investigated the use of 3D for visualizations and content presentation using WPF in Grava.
Microsoft Windows MultiPoint SDK CTP 2
Software used - C#, .NET 3.0, Windows Presentation Foundation (WPF), Win32
The MultiPoint SDK allows the use of multiple input devices on a single PC. It allows users to get over the basic limitation in Windows programming that disallows the use of multiple mice or cursors on a single PC.
I worked towards writing filters for the Keyboard and sample applications for the SDK. Apart from the development work on the project, I was also involved with performance optimization for the product.
Trilogy E-Business Solutions, Bangalore, India
Intern (June 2005-August 2005)
Software used - C++, Java, lex, yacc
Worked on a configuration engine called SalesBuilder.
I used lex and yacc as tools to build a compiler for organization's proprietary business rules language called Configuration Modeling Language (CML). The idea was to gain a performance boost by compiling to native code instead of interpreting it.