To thrive my career in a challenging and goal oriented environment.
I have twelve years of experience in software industry, developing Software applications, Embedded Systems comprising of Image Processing, Vision and Graphical systems.
The summary of my experience includes:
Android applications design and development.
Developing Robotics (airborne and ground) applications, hardware and sensors interfacing for different industry.
Design and development of 2D and 3D based graphical engines and applications for hardware accelerated embedded devices (OpenGL ES 1.1 and 2.0 standards, GLSL, COLLADA, etc.).
Experienced on Real Time Operating Systems, device drivers, hardware/sensors interfacing, boards bring - up and porting applications on different industrial hardware platforms.
Designing and implementation of Image Processing and Vision algorithms for variety of problems.
Hands on experience of fixed point algorithms, optimization on VLIW processors and implementation on high speed DSP based platforms.
Good understanding of GIS applications.
Practicing Agile/Scrum based Project Management methodologies while planning, design and implementation phases of projects.
Practicing Software Development Life Cycle (SDLC) and Object Oriented (OOP) paradigm for design and development of projects.
Ability to work within the strict time-line and deliver on time while quality of products remains intact.
Senior Software Engineer
I am working as Senior Software engineer. In that capacity, developing applications and providing consultancy for C/C++ based project.
I am primarily dealing with C/C++ components, threading, IPC and OpenGL ES rendering. The UI layer consists of Java.
My primary responsibility to spearheading design and development of embedded Systems and Android/iOS applications.
Design and developed application for android platform.
I have contributed in design activities for iOS platform.
Electronics Development Engineer
I worked as senior Electronics/Firmware Development Engineer in Confidential, primarily responsible for embedded systems used in inline pipeline inspections industry.
In that capacity, I worked on improved Above Ground Markers (AGM) system comprises of NXP Cortex-M based Microcontrollers, DSP algorithms, GPS, SD-Card, LCD, Geophone and Bluetooth sensor.
IMU integration with existing system and look for algorithms to remove drifts.
Prototype FreeRTOS to introduce better control in existing system.
I am working as a Technical Lead in Confidential and involved in R&D activities from the start of job.
The primary responsibility is to lead team by involving in the design and development activities of different projects.
The projects include device driver design and development on different hardware platforms, open source projects and graphics engine for embedded devices comprises of graphics hardware accelerators and porting applications on different OS(s).
In this task, the Inflexion engine becomes capable of rendering 3D graphics using OpenGL ES 2.0 standard. I have spearheading some of the modules and made significant contribution during the investigation, design and development of modules of this project.
Shader based implementation provides behavior equivalent to fixed-function functionality OpenGL ES 1.x plus lot of other effects like Cube mapping, Sphere mapping and reflections, Bump or Normal mapping, Multi-texturing, etc.
Implementation of generalized framework to handle any customized user effects through shaders whereas user have to focus on his effect not the details of shaders.
Implementation of shaders to run on x86 platform (Windows and Linux) in source mode and same shaders, without any modifications, run on embedded platforms in source as well as binary mode.
Optimization of shaders for variety of GPU families like Imagination’s PowerVR SGX, ARM’s MALI, AMD/Qualcomm’s Adreno etc. In some particular scenarios, OpenGL ES 2.0 shaders pass the performance of OpenGL ES 1.1 machine coded shaders.
Support for multiple texture compression formats like ETC1, PVRTC and ATC etc.
Inflexion UI Express (UIX) on Linux: UIX is available on Win32 platform and I am spearheading the work related to porting UIX on different Linux distributions.
Scaling of Inflexion Engine: In this task ported the Inflexion engine on different architecture other than ARM. The primary responsibility is to bring up board, platform layer changes, LCD driver and dealing with compiler tool-chain.
Developing EGL wrapper for Inflexion engine on Microsoft Windows platform.
This help in prototyping applications related to UI before porting it onto embedded devices.
Inflexion engine has a porting layer that makes it interact with the under-laying OS’s.
I worked on the porting layer for Nucleus RTOS, Windows Mobile, Linux OS, etc.
Assistant Manager (Embedded Software Development)
R&D activities for algorithm design for autonomous airborne vehicles.
Implementation of algorithms on x86 and target platform including the selection of target platform.
Building and leading the team in implementation on target platform.
Collaboration with other teams and mentoring the juniors.
Worked on “scene suitability analysis” algorithm and costing of Geo-referenced images using statistical approaches.
Worked on plotting data and path on Geo-reference satellite images.
ECW, ERMAPPER APIs are used for handling Digital Elevation Maps (USGS format).
I have contributed in OCR algorithm prototype and fingerprint sample enhancement module using Filter banks approach.