We provide IT Staff Augmentation Services!

Senior Software Engineer Resume

Costa Mesa, CaliforniA

SUMMARY

  • 11+ years of experience in Software Application Development using C/C++ and Java .
  • Excellent hands on knowledge of OOA (Object Oriented Analysis) and OOD (Object Oriented Design), OOPS.
  • Experience with data structures, STL and algorithms as well as performance optimizations in a multithreaded environment.
  • Diligent and competent expertise in Microsoft ® Visual Studio, Eclipse and QT Cross - platform framework for GUI application development.
  • Extensive experience in developing applications using Singleton and Factory design patterns.
  • Experience in measuring CPU performance and Memory utilization of the applications running on multi-threaded platforms.
  • Extensive experience in telecom domain using Sockets, TCP/IP, HTTP, CAN, and RabbitMQ.
  • Extensive experience with Google Mock frame work for Unit Testing.
  • Hands-on experience with automated build tools such as SVN, CVS, Jenkins, GIT.
  • Hands-on proficiency with development methodologies like Agile and SCRUM model.
  • Excellent communication skills and ability to partner with clients and team members in planning and executing projects on time and within budget.

TECHNICAL SKILLS

Programming Languages: C, C++ (Object-Oriented Programming), C++ 11, C#, Java, JSP, Servlet, Java Script, QT, QML, Shell, STL, Python, VC++, SQL, HTML, XML

Operating Systems: Windows-32bit (XP), Windows-64bit (7), Linux (Ubuntu, Fedora, CentOS, RedHat), Unix, RTOS (WindRiver, RTLinux, VxWorks)

Databases: MySQL, MS SQL Server, Oracle, RDBMS, PL/SQL

Tools: QTCreator, Microsoft® Visual Studio (2009,2010,2013), JVM, MS Visual C++, Eclipse, GCC, MS Visio, UML, Jira

Methodologies: Agile, Scrum

Communication Protocols: TCP/IP, HTTP, RabbitMQ, CAN

Testing Levels: Unit Testing, ALM, TDD, Google Mocks and Integration Testing

Performance Profiling Tools: HPC Toolkit, Intel’s Vtune, Oprofile

Parallel Programming Languages: OpenMP, POSIX threads (PThreads)

Source Control: TortoiseHg, Mercurial, GIT, SVN, Perforce, Jenkins

PROFESSIONAL EXPERIENCE

Confidential, Costa Mesa, California

Senior Software Engineer

Responsibilities:

  • Implemented all the member methods, aggregation methods and filter methods for both TIPREC and 612 models using C/C++.
  • Implemented multithreading for evaluating the value of attributes and scores in parallel for both TIPREC and 612 models.
  • Resolved memory-related errors encountered during memory check validation in distributed environment using Valgrind tool.
  • Executed the benchmark in the distributed environment for performance check.
  • Generated the TB10.TIPREC and TB10.612 output by executing the source code with external data in mainframe using emulator job.
  • Implemented the unit test cases for all the member methods, aggregation methods and filter methods of both TIPREC and 612 models using CXX Unit Test Frame work.
  • Compared results from both mainframe and distributed environment using SAS compare job on mainframe for 100% match.
  • Created the SOW documentation for all the migrated models (25 in total) and uploaded the source code to bitbucket repository.
  • Performed biweekly deployments to development and production environments, keeping it as a biweekly agile release cycle.

Environment: C/C++, C++ 11, Java, GCC complier, Perl, STL, VS Code, Fedora (Linux), Python, Windows-64bit, Valgrind, Jenkins, Bitbucket (GIT), Agile Methodology, GDB Debugger, CXX Unit Test Framework, Mainframe.

Confidential, Denver, Colorado

Senior Software Developer

Responsibilities:

  • Developed a Valve Node (PT0118) SIP2 driver interface for sending command and reading status from Node 6 production framework.
  • Implemented a two-position feedback sensor for Valve Node (PT0118) for determining if the valve is in the open or closed position.
  • Created a AC Pump Node (PT0122) SIP3 driver interface for sending command and reading status from Node1 production framework.
  • Integrated Position Sensor and Door Sensor into Return Pump (PT0117) SIP4 driver for input to pump raceway and pump door.
  • Developed two fluid line detector analog inputs for Return Pump to detect the presence of air or fluid in a disposable tube line.
  • Updated the configuration file with information about the busID, busType and address for all the Nodes to run on simulator or CAN bus.
  • Created an ability to control the fan speed in PT0119 Centrifuge by setting the fan motor intensity to a value from 0-100%.
  • Integrated Solenoid Power Hardware item to Draw Pump Node (PT0121) for opening and closing the pump raceway.
  • Added Biosonix Fluid Detector Hardware item to AC Pump Node (PT0122) for determining if fluid is present in the tubing.
  • Merged motorSpiError, LineSensorSpiError and CapErrorLog into SimConfig file for Error Checking while running on simulator.
  • Designed Test cases in ALM (Application Lifecycle Management) with all pre and post conditions and then creating protocol for testing over the DEO.
  • Implemented proper loading of disposable config XML when protocol is executed.
  • Implemented logging of algorithm execution start/stop/reset in the dlog to support System teams when troubleshooting protocols.

Environment: C/C++, C++ 11, Java, JSP, GCC complier, C#, Java Script, STL, PThreads, Eclipse, Fedora (Linux), Python, Windows-64bit, TFS, Socket Programming, GIT, Agile Methodology, ALM, DEO, GDB Debugger, CXX Unit Test Framework, SIP boards.

Confidential

Senior Software Engineer

Responsibilities:

  • Implemented BCH Encoder to append the BCH redundancy bits to Input data.
  • Implemented LDPC Encoder to append the LDPC redundancy bits to data generated by BCH.
  • Implemented QAM Modulation to map each subcarrier to QAM constellation and then generate the corresponding OFDM symbols.
  • Implemented NCP (Next CodeWord Pointer) for detecting where the next codeword begins in one OFDM symbol.
  • Implemented Time Interleaving to mitigate the impact of burst noise in each OFDM symbol.
  • Implemented Frequency Interleaving to mitigate the effects of ingress in each OFDM symbol.
  • Implemented Continuous Pilots for receiver synchronization and Scattered Pilots to enable channel estimation and equalization in receiver.
  • Implemented IDFT (Inverse Discrete Fourier Transform) in parallel to transform each pre-equalized symbol into time domain.
  • Implemented Cyclic Prefix to enable the receiver to overcome the effects of inter-symbol-interference.
  • Implemented Windowing to maximizes the channel capacity by sharpening the edges of the spectrum of the OFDM signal for 5MHZ WIFI signal.
  • Implemented PLC (Physical Layer Link Channel) for the CMTS (Cable Modem Termination System) to convey to the CM (cable modem) the physical properties of the WIFI OFDM channel.
  • Integrated the Downstream Data bits and PLC bits coming from Layer2(L2/Mac) and Layer3(L3/TCP/IP) into Softphy.
  • Developed Test Cases for Unit Testing and Integration Testing, by using Python Script.
  • Implement a mechanism for running all the above methods in parallel using PThreads, and also maintained the proper execution order of each OFDM symbol using Mutex and Semaphores.
  • Implemented Cyclic Buffer for writing and reading data into fixed size buffer, that will be used by DAC to show output on Spectrum analyzer.

Environment: C/C++, C++ 11, ICC complier, Java, JSP, STL, PThreads, Java Script,Ubuntu, Python, Windows-64bit, Jira, Socket Programming, GIT, XML, Agile Methodology, MATLAB, GDB, CXX Unit Test Framework, MS Visio, HPC Performance Toolkit.

Confidential

Software Engineer

Responsibilities:

  • Implemented the Internal DDF (Data Definition File) Interfaces for HPSM Proxy Driver, for Controlling and Monitoring of LC11 using C/C++.
  • Implemented the Internal DDFInterfaces for PLC Driver to communicate with PLC component.
  • Implemented the Internal DDFInterface for TruCoax Driver to communicate with Safety Handling PLC.
  • Implemented the Internal DDFInterfaces for PLC Driver to aid communication with TwinCAT ADS library for PLC.
  • Used XMLWeb Services using REST to transfer the amount to transfer application that is remote and global to different financial institutions.
  • Implemented the External DDFInterface to communicate to System Function Controller (SFC).
  • Implemented the External DDFInterface to communicate toActive Diagnostic Tool (ADT).
  • Implemented all the Interface Screens and Diagnostic Tools Screen using QT and QML.
  • Generated the Parameter to be passed to different states of state machine using MATLAB.
  • Implemented Transitions and Events for Specific States (Ideal, PrepareToFire, Firing, Error) and Generic States (Terminating and Initializing) for HPSM Driver State Machine.
  • Implemented FHA Read/Write facility to Retrieve, Update and Add data to Database facility.
  • Implemented the Unit Test Cases for all the internal, external interfaces and State Machine methods using CXX Unit Test Frame work and Python Script.
  • Developed TPS Document for the review of Test Scenarios and a TAR Document that contained the results from bench testing.

Environment: C/C++, C++ 11, QT, Windows 64bit, Java, Servlets, JSP, MFC, Python, C#, Visual Studio 2013, QNX, Red Hat (Linux), WindRiver (RTOS), STL, Jenkins, Eclipse, Jira-Project tracking software, GIT, Agile Methodology, CXX Unit Test Framework, Sockets, TCP/IP, MS Visio.

Confidential

Software Engineer

Responsibilities:

  • Created a DLL library as part of SDKClient, consisting of 20 methods like Register, Call Release, Location Update, Queue Update etc. using C/C++.
  • Created a Simulator for Sending Requests and Receiving responses, Synchronously and Asynchronously from SDK Client using suitable Call Flows.
  • Implemented RabbitServer (for Simulator) and RabbitClient(for SDKClient) using RabbitMQ, for communication between SDK client and Simulator.
  • Defined Google Protocol Buffers for Serializing and Deserializing data of all the DLL methods, between SDKClient and Simulator.
  • Created Web Services using SOAP, WSDL to provide services to other systems within the company.
  • Integrated Multimedia framework with Android middleware and implemented Audio/Video decoder & renderer component for Motorola Device Layer.
  • Worked with Motorola team to integrate their 3rd party platform with our SDKClient and providing them with support, for getting appropriate responses from Simulator.
  • Created Hooks for Location Update, Call release, Queue Update etc, as part of AMS (ApplicationModule Service), which interacts with VESTA 911 & VESTA SMS Servers.
  • Integrated SDKClient with AMS using RabbitMQ communication protocol and also structured the data between them using Decorator Design Pattern.
  • Successfully Evaluated and Tested all the cases of Requests and Responses from SDKClient to VESTA 911 & VESTA SMS Servers.

Environment: C/C++, Windows 64bit (7), C#, VC++, MFC, Visual Studio 2013, Java Script, STL, Python, QNX, RabbitMQ, Google Protocol Buffer, Jenkins, GIT, Ubuntu (Linux), Sockets, TCP/IP, HTTP, Agile Methodology, Perforce, Google Mocks, Jira-Project tracking software.

Confidential, Dallas, Texas

Software Developer

Responsibilities:

  • Analyzed and Designed the Machine Life Cycle for each of the CPS components that needed to respond to Error Handler and Fatal Error Handler, using MS Visio.
  • Implemented the Mechanism for receiving the Hardware Incident message from CAN (BUS protocol) and reporting the incident to GUI subsystem using C/C++.
  • Designed and Implemented a CPS Client Interface, for the user to interact with the system, when the Error occurs, and provide him with the options to take appropriate action.
  • Contributed to Cash Processing System (CPS) maintainability and extensibility by identifying opportunities to incorporate Factory Design Pattern.
  • Added and Modified parameters to XML scripts for providing the initial configuration to already existing CPS builder.
  • Developed Test Cases for Unit Testing and Integration Testing, by using Python Script, which included CAN messages for generating Incidents.
  • Contributed to the design of databases, as per the Machine Life Cycle and developed Stored Procedures, triggers to be used by the components.
  • Performed biweekly deployments to development and production environments, keeping it as a biweekly agile release cycle.

Environment: C/C++, Windows 32bit (XP), Python, MFC, CentOS (Linux), VxWorks (RTOS), UNIX, Shell Scripting, VC++, MS Visual Studio 2010, MySQL, XML, MS Visio, Agile Methodology, SVN, MS SQL Server, ClearQuest, CAN (BUS Protocol).

Hire Now