22 years of experience in the Software industry. Looking for consulting opportunity as Solution Architect / Sr. Software Developer / Technical Lead
- 20 plus years of experience in Software Design and development
- Experienced in several technology areas and verticals – (Mobility Solutions, Application Development, Graphical User Interfaces, Performance Engineering, 3D Graphics, Databases, Device Drivers and Cloud Computing)
- Experience of customer requirements gathering and analysis, scoping and defining solutions and driving end-to-end technical solutions.
- In-depth knowledge of SDLC, Quality Assurance and Configuration Management
- Hands on software development on various platforms – Windows, Linux, Mac OS and Android
- Strong coding experience in C/C++ and Java
- Experience with Hadoop, HDFS, Hive and related technologies
- Performance Analysis and tuning of desktop and server applications
- Project Management, Project Planning, Delivery, Client Engagement. Experience in creating, reviewing and approval of RFP for service procurement.
- Experience with pre-sales, technical evangelism and client relations
- Have US Citizenship. USA Visa sponsorship not required.
Chief Solutions Architect / C++ Architect
- Created a roadmap for development of e-learning Applications and Platforms
- Designed a learning solution for primary schools, consisting of LMS Portal, Testing back-end and Mobile Apps.
- Built a team for Mobile Apps development (Android and iOS)
- Developed several e-Learning Android Apps for preschool and kindergarten kids.
- Designed a framework for developing Quiz Apps.
- Implementation of online learning portal using the Moodle platform for LMS and Kaltura platform for video streaming.
General Manager & Architect, R&D Center
- Built a mobility development center for Android Tablets and Apps development. Mentored a team of senior engineers and project managers.
- Worked closely with business leaders on defining product roadmap and project execution. Managed budgeting and financial monitoring of R&D projects.
- Designed and managed the following solutions.
- HCL Tablets – UI & Apps Development
- Development and release of software stack for HCL ME Tablets, working closely with China based ODMs (Tablet HW suppliers). This work was done by a team of 20 engineers based in Noida and China. The team developed an HCL version of Android UI Launcher and customized other elements of the user interface. It also developed a PC –Sync application for synchronizing contacts and files between the PC and HCL Tablet. A number of 3rd party Apps were also integrated into the Android OS. The entire Tablet OS was validated for beta and then for final release to market.
- The Tablet development and validation cycle is a continuous activity performed for every new HCL Tablet launch.
- Android based Learning Management Solution
- Development of a framework for organizing and viewing education al content on Tablets. It consists of
- A native GUI framework for displaying contents in different formats – PDFs, A/V files and flash based content.
- A content protection framework for encrypting the content and authentication based on device ID and a private key.
- A backend system that implements authentication logic.
- Service Force Automation Client
An Android client that gives field engineers access to service tickets on the tablet. This client connects to a Computer Associates backend system for field support. Online and offline modes are supported. In the online mode, field engineer can download tickets assigned to him/her and make updates.
- Queue Busting Solution for retail / hospitality
An Android based solution for managing queues and improving customer service. The client runs on a tablet which can be used by customer service personnel inside restaurants, movie theaters and retail stores. It can be used to take customer orders and send them to back-end system which for processing. Customer receipts can be printed from the tablet on a Bluetooth printer.
- Automation of post-surgery patient care
Proposed a technical solution for automated patient care in a post-surgery ward of a hospital. The proposed system was for replacing paper and chart based patient monitoring with a system consisting of Cloud based patient data, a Monitoring station portal for centralized control by doctors and Tablet based patient monitoring App to be used by nursing staff at patients’ bedside.
- PC Manager Tool for Windows
This is a Windows tool for monitoring and tuning health of any PC. It scans the users’s system for issues related to security, disk clutter, internet malware and registry settings. After scanning , it gives the user a visual dial that indicates the PC’s health. The user can fix the issues to improve system performance and make the PC secure. The tool also gives additional features such as encrypting files, locking ports and applications, un-deleting files, splitting huge files etc. (The software was developed using .Net for HCL’s PC Services division).
- Web Beacon Server Performance: Analyzed performance of a Web Beacon server for Confidential ’s display ads. The goal of the project was to characterize system utilization of the beacon server and to make recommendations for improving performance and deciding the optimal number of server machines. After benchmarking and performance analysis using vtune, we found that CPU utilization was very low (~ 20%). Based on this, one of the recommendations was that number of production servers could be reduced. Over time view of performance revealed that there were periodic stalls in response time which was traced to network latency. Also analyzed the Apache server code for performance bottlenecks.
- Benchmarking of Malloc Libraries: Measured performance of several variants of Malloc libraries (glibc, TCMalloc, jemalloc) for allocation of various chunk sizes. Wrote perl scripts for creating performance and benchmarking reports.
Confidential, Santa Clara, USA
Sr. Software Engineer
- DirectX Driver Development :
As part of Windows Direct3D development team, maintained production releases for several OEMs and for supporting Confidential ’s existing platforms. This involved day-to-day maintenance and resolution of issues reported by customers and internal quality teams. These issues ranged from Windows crashes, 3D rendering issues specific to gaming titles and issues related to specific hardware platforms. Some issues also related to performance of the driver against 3DMark benchmark. Some crashes were caused by issues in the GPU hardware and we reproduced them on HW simulators so that the generated traces could be analyzed by HW architects. (Development using C/C++)
- DirectX Compute Enhancements:
Developed enhancements to support DirectX Compute extensions. These extensions make use of Confidential ’s CUDA technology for writing highly parallel programs that run on the GPU.
Confidential, Santa Clara
Sr. Software Engineer (Software Solutions Group)
- Performance analysis of Final Cut Pro, a video editing application for Macs: The goal of this work was to analyze workflows on a 8-way (2 Quad Core processors) Mac Pro system and find causes for lack of scaling. We benchmarked the application running under various threading configurations and by varying hardware parameters (cache size, bus and processor frequency). We also analyzed specific segments of code and made recommendations to improve performance and achieve better scaling on the 8-core system.
- Optimization of QuickTime Codecs : Worked with Apple’s QuickTime software team and analyzed their H.264 decoder running on Intel based Macs. Re-implemented key areas of code that used Intel SSE instructions and utilized compiler intrinsics for better performance. Achieved around 15-20% of speed up on various workloads being used by the Apple teams.
- Pre-sales & Technology Disclosure: Gave presales support on Intel’s products including Intel compiler, VTune, Threading tools. Also, organized and delivered technology disclosure sessions on new Intel platforms. These sessions gave technical details on the features of new microarchitecture and instruction set enhancements. Conducted workshops at Apple’s worldwide developer conference.
- Intel Software College: Delivered a course on “Multi-core programming” for Intel Software College. This course teaches techniques for writing multi-threaded code, analyzing performance of parallel software and use of tools in achieving the same.
- VTune Development : Developed key features of VTune, a performance tuning application. Led a cross-site team of developers and contributed to several VTune releases on Windows and Linux. This development was done using C/C++ and COM. Some of the key contributions were:
- An “over time” view for showing application performance on the time scale.
- An API for collecting performance data programmatically from within application code.
- A lightweight command line version of the tool that could be used inside shell scripts.
- Streamlining of the cross-site build and release process using a components based model.
Senior Software Engineer (Design Technology)
- Platform Independent GUI Framework: Served as key member of team developing a platform independent application & GUI framework for CAD Applications. The framework was developed using C/ C++ and ILog libraries for HPUX and Linux and used by around 100 developers for developing EDA applications. The framework provided C++ libraries for creating interactive canvas, and modeling/rendering of cell primitives.
- Developed algorithms and library for strokes based user interface for fast editing operations.
Confidential, Houston, TX, USA
Sr. Software Engineer
Architect and lead developer for MFC & COM-based Application Framework. The framework was used by app developers writing integrated suite of applications for oil exploration visualization and analysis.
- Developed controls for standard GUI widgets, e.g., tree views and tab sheets. Created COM wrappers around these widgets.
- Developed a Graphics toolkit layer built using OpenGL and OpenInventor
- Developed an OpenGL based 3D Viewer Active X Control.
- Contributed to Resolution3D, a reservoir drilling application based on this framework.
Confidential, Richardson, TX, USA
Worked on development teams for two commercial drawing and illustration packages, Confidential Designer and Confidential Windows Draw. These packages ran on Windows 95/NT, and were developed using Visual C++. Was responsible for maintaining the Graphics library for geometry manipulation and bitmap rendering.
- Maintained and enhanced core Graphics libraries for rendering 2D geometric primitives.
- Developed a library for performing boolean operations on 2D primitives.
- MFC based UI development for various product features.
- Contributed to 4 commercial product releases during this period.
- Developed business graphics software for character generators used in TV production. This software was developed for a 68000 based embedded platform running Os-9.
- Designed and implemented a database for storing and reporting election results. Implemented using SQL queries running on an Oracle DBMS.
Developed interface programs that parse SQL queries and translate them into native languages supported by mainframe database systems on NEC S-1000.
KEY TECHNOLOGY SKILLS
HARDWARE: Intel Architecture, GPGPUs, ARM based SoCs, NEC S-1000
OPERATING SYSTEMS: Windows, Mac OS, Linux, HPUX, Android, OS-9
MARKUP LANGUAGES: HTML/HTML5, XML, XSL/XSLT, JQuery, JSON
RDBMS: SQL Server, SQLite, Oracle
Web and e-Commerce Related Technologies: Apache, Drupal, Kaltura, Wowza, Moodle, MySQL, PHP
Development Environments & Tools: Eclipse, XCode, Visual Studio 2013, gdb, Windbg, VTune, Shark
Build and Configuration Tools: CVS, Perforce, SVN, Bitbucket, Git
APIs / Frameworks: OpenGL, Direct3D, MFC, COM, Win32, Ilog Views, .Net
Cloud Computing: AWS EC2, AWS RDS
Big Data Technologies: Hadoop, Map Reduce, HDFS, HBASE, HIVE