Harsha Ravikumar
Lawrenceville, GA
**.******@*****.*** www.linkedin.com/in/harshacr/
Technical Skills
Highest Degree: Bachelor of Engineering (Computer Science), 2006.
Visvesvaraya Technological University, Belgaum, India.
Total Experience: 8 years
Languages: C/C++ (7 Yrs), Core Java (2 Yrs), VC++/MFC (2 Yrs), SQL
(Basic)
Operating Systems: Linux (4.5 Yrs) and Microsoft Windows (3 Yrs)
IDEs: Eclipse (2.5 Yrs), Microsoft Visual Studio (3 Yrs)
Tools: Coverity, Sonar, Git, Clear Case, Mercurial, Visual Source
Safe, SQLite, MS Access, Orca, Bounds Checker, AQ Time,
Crystal reports, Code Collaborator.
Domain Experience: Set-top box (STB)/Embedded, Healthcare, Storage,
Automotive.
Summary
. C++ developer with 8 years of experience in object oriented analysis and
design (OOAD).
. Experience in STL, multithreading and design patterns.
. Expertize in developing middleware components for embedded and medium
scale software in C/C++.
. Expertize in debugging, defect fixing / maintenance.
. Experience in developing backend services in Core Java, based on service
oriented architecture (SOA), using OSGI framework, JMS, for large scale
software.
. Experience in writing JUNIT test cases.
. Experience in developing user interface in VC++, MFC.
. Experience in performance improvement, memory leak fixes.
. Basic knowledge on Perl scripting and authentication mechanisms of Linux.
. Experience in performing standard coding guidelines, static analysis
using Coverity tool.
. Experience in reviewing code written by team members.
. Experience in creating UML diagrams, creating, maintaining and reviewing
design documents.
. Comfortable with both Linux (Red Hat, Ubuntu) and Windows environment.
. Good experience in following Scrum/Agile methodologies using Rally
software.
. Experience in all phases of software development life cycle i.e.
requirement gathering, requirement analysis, design, define test cases,
development, unit test, maintenance.
International Work Experience
. Cisco Systems Inc, Georgia, USA. (March 2014 - Present)
Purpose: Requirement analysis, Design and Feature implementation for set-
top box (STB) software.
. EMC Corporation, Massachusetts, USA. (Dec 2009 - April 2010)
Purpose: Bug fixing and enhancements for Storage software.
. Nissan Motors, Japan (March 2009 - April 2009)
Purpose: Validate the new release of diagnostic application for a
particular automotive.
Awards / Recognitions
Team Excellence Award (2013), TCS GEMS - On the Spot Award (2009), EMC
Silver Star Award (2010).
Professional Experience
Project: Reference TV Navigator (RTN) 4.0
Sep 2012 - Present
Client: CISCO, USA.
Employer: L&T Technology Services Ltd, NJ, USA.
Role: Senior Software Engineer
Description:
A set-top box (STB) is a device attached to television for digitizing /
enhancing signals provided by cable operator or by a satellite dish. RTN is
the software stack which runs on CISCO STB hardware versions named G6 and
G8. The G8 hardware is the latest model providing eight tuners, more memory
capabilities and few enhancements on top of G6. The RTN 4.0 project is
mainly concentrated on porting from G6 to G8, support for eight tuners,
feature additions etc. This project follows agile and scrum methodologies.
Responsibilities:
. Develop the firewall module using C++, UNIX threads, for G8 STB.
. Integrate firewall module with other middleware components of STB.
. Implement security module for secured login & access of G8 from head-
end.
. Implement higher resolution (1080p) support for set-top boxes.
. Implement Current Video feature of G8 STB using multithreading and
design patterns, which supports live video streaming to DLNA clients.
. Developing the features for embedded middleware of STB.
. Porting middleware components of older version of STB to new hardware
platform.
. Fixing porting related issues related to sockets, endian-ness in
following components - STB init module, signal database, pay per view
(PPV).
. Learning DVB-T, ISDB and ATSC standards.
. Working on defects related to Embedded middleware of G6 & G8.
. Follow agile methodologies in development.
Platform and Language: UNIX, C, C++, Perl (Basic), SQLite (Basic).
Tools: Code Collaborator (Code reviews), GIT (Version control), Make
(Build), Coverity (Static Code Analyzers).
Project: CT (Computed Tomography) Host
Jul 2010 - Sep 2012
Employer: GE Healthcare (GE Medical Systems Ltd)
Role: Senior Design Engineer
Description:
A computed tomography (CT) scan is an imaging method that uses x-rays to
create cross-sectional pictures of the body. Three-dimensional image of an
object is created from a large series of two-dimensional X-ray images taken
around a single axis of rotation. GE is pioneer in low dose and high
quality images.
Responsibilities:
> Designing and developing Recon Request Generation Module
Recon Request Generation Module is developed to create inputs for the
image reconstruction module based on the prescription data. The
prescription data is the details about the type of scan to be performed
on a patient, prescribed by the radiologist on CT scanner's console.
. Design and develop recon request generation in Java for new product
which had to be easily extensible.
. Implementation using OSGI, JMS, Adaptive Object Model (AOM) frameworks
and design patterns such as singleton, factory, and producer-consumer.
. Developing and maintaining Proxy for Scan Recon Library
> The scan recon library is a utility implemented in C, used by various
components in the CT Host software.
. A proxy service was implemented by me in Java for the Scan Recon C
library, using JNA.
. Proxy and factory design patterns are used in the implementation.
> Other Responsibilities
. Sprint planning, code reviews, training team members.
Platform and Language: UNIX, Windows XP, Core Java, C, C++, JNA, STL,
multithreading, design patterns, data structures, Service Oriented
Architecture (OSGI), Java Message Service (JMS), Agile (Scrum).
Tools: Eclipse (IDE), Code Collaborator (Code reviews), Mercurial &
Clear Case (Version control), Ant & Maven (Build Tools), Coverity, Sonar,
PMD, Find Bugs (Code quality, Static Code Analyzers).
Project: OEM Diagnostics
Sep 2006 - Sep 2009
Client: Top automotive company, Japan.
Employer: Tata Consultancy Services, Pune, India.
Role: Software Developer
Description:
The OEM diagnostic application is a dialog based application developed
using MFC, used to perform diagnosis of a vehicle by communicating with
ECUs (Electronic Control Unit) inside vehicle (car), with the help of pass-
thru devices. The pass-thru devices are interface between vehicle and OEM
diagnostic application, communicates using various protocols used mainly
for vehicle diagnosis in automotive domain.
Responsibilities:
> Designing and developing features for OEM Diagnostic Application
. Majorly worked on user interface module (GUI) of dialog based
diagnostic application developed using MFC.
. Continuous conversation with client to understand requirements and
develop the application to support the diagnosis of a wide range of
vehicles.
. Design and development of diagnostic application was my major work in
this project.
. Major design patterns used - singleton, factory, abstract factory, and
builder. Linked list data structure was used to store dialogues / UI
screen flow.
. The OEM diagnostic application was released to the client through the
MSI installer. I have worked on preparing / updating the MSI installer
using ORCA tool.
. Fixing memory leaks and performance improvement.
. Prepare SRS based on client's requirements.
Platform and Languages: C++, VC++, MFC, Windows Programming, STL,
multithreading, data structures and windows.
Tools: Microsoft Visual Studio 2003, Orca, AQ Time, Bounds Checker, Crystal
reports.