We provide IT Staff Augmentation Services!

Software Developer Resume

4.00/5 (Submit Your Rating)

Los Angeles, CA

SUMMARY:

  • 7 years of experience in Software Application Development using C++/C#.
  • Excellent hands on knowledge of OOA(Object Oriented Analysis) and OOD(Object Oriented Design)
  • Experience with data structures and algorithms as well as performance optimizations in a multithreaded environment.
  • Diligent and competent expertise in Microsoft® Visual Studio and QT Cross - platform framework for GUI application development.
  • Extensive experience in using SQL and PL/SQL to write Stored Procedures, Functions, Packages and Triggers.
  • Experience in measuring CPU performance and Memory utilization of the applications running on multi-threaded platforms.
  • Extensive experience with Google Mock frame work for Unit Testing.
  • Hands-on proficiency with development methodologies like Agile and Waterfall 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), QT (GUI Programming) Shell, Visual Basic, SQL, HTML, XML

Operating Systems: Windows 98/XP/7,UNIX, Linux(Fedora)

Databases: MySQL, MS SQL Server

App. Skills: QTCreator, Vim, Microsoft Visual Studio (2009,2010,2013), GCC, MS Visio, Jira

Methodologies: Agile, Srum, Waterfall

Communication Protocols: TCP/IP, RabbitMQ-AMQP, Google Protocol Buffer

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

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

Parallel Programming Languages: OpenMP, Pthreads

Source Control: TortoiseHg, Mercurial, SVN, Perforce

PROFESSIONAL EXPERIENCE:

Confidential, Los Angeles, CA

Software Developer

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.
  • 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 Google Protocol Buffers.
  • Successfully Evaluated and Tested all the cases of Requests and Responses from SDKClient to VESTA 911 & VESTA SMS Servers.

Environment: C#/C++, Windows7, VisualStudio 2013, RabbitMQ, Google Protocol Buffer, Agile Methodology, Doxygen, Perforce, Google Mocks, Jira-Project tracking software.

Confidential, Dallas, Texas

Software Engineer

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.
  • 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 Shell Scripts, 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 XP, VXWorks, UNIX, Shell Scripting, MS VisualStudio 2010, MySQL, XML, MS Visio, Agile Methodology, SVN, MS SQL Server, ClearQuest, CAN (BUS Protocol).

Confidential, Urbandale, Iowa

Software Developer

Responsibilities:

  • Developed a GPS Accuracy Indicator for 10 inch and 7 inch GSix Display using QTWidgets QTStateMachine and QThreads for multithreading, which consisted of all possible correction modes (RTK, RTK-X, SF1, SF2,EGNOS,WAAS), Satellite status and Accuracy Indicator.
  • Designed and Developed a Dual Display Manager Application that will integrate GSix Display with GS 2600/2630 using Win32 API and CAN protocol, and correspondingly manage the logic of adding, removing and restoring information to database using QTSql module.
  • Developed a File Manger App that would be able to export and import data from USB stick to the GSix Display using QTMobility API.
  • Developed an Application Manger App to get the latest installation updates of GSix software, along with Activations of some limited duration apps (ex: AutoTrac).
  • Implemented EULA - Display License Agreement prompt, for users to accept the license agreement from Confidential in order to use GSix Display.
  • Modified and translated the code of VTApp, ServiceCenterApp, and EquipmentSetupApp for both 10 inch and 7 inch GSix Display, from English to German Language as part of Multiple Language Infrastructure.
  • Measured the Processor and Memory utilization of the Value Server and Premium Server on GSix Display, using CANcaseXL connected to the target and running all the applications using OProfile Analyzer.
  • Integrated and tested the monitor screen transition times of the Value Server and Premium Server by running Wind River Windows manager with OProfile Analyzer on the GSix Display.

Environment: C#/C++, Windows 7, UNIX, QT (GUI Programming), RTLinux, Win32, Shell Scripting, Visual Studio 2009, XML, MS Visio, Agile Methodology, CAN (Bus Network), TortoiseHg, Oprofile.

Confidential, San Marcos, Texas

C++ Engineer / Grad Assistant

Responsibilities:

  • Developed a test model to estimate performance of cache sharing by mapping the reuse patterns within multithreaded programs using static and dynamic workloads of HPCC & SPEC2000 benchmarks.
  • Implemented a reuse distance algorithm to measure locality and miss rates of multithreaded application on Intel x86, based on memory trace produced from Pin tool.
  • Designed a multithreaded algorithm to analyze the influence of intra-core and inter-core cache sharing on Intel x86 and AMD x64 platforms using OpenMP with C/C++.
  • Assisted in teaching C/C++, Computer Architecture and Linux kernel to undergraduate students. Duties also included troubleshooting software/hardware problems and setting up labs.
  • Implemented a parallel and sequential version of matrix multiplication kernel for loop blocking optimization on x86 using OpenMP with C/C++.
  • The project also consisted of evaluating the performance for both versions of matrix multiplication kernel using HPCtoolkit.
  • Analyzed the performance difference between AMD’s direct connect cache and Intel’s front side bus cache architecture for both quad and dual core configurations by using Intel’s Vtune analyzer.
  • The projects required running PARSEC benchmark’s multithreaded programs and use of Oprofile hardware counters.

Environment: C/C++, Linux (Fedora 8), Perl, Shell, OpenMP, Pthreads, Pin (A Dynamic Binary Instrumentation Tool), HPCToolkit, PAPI, Intel x86 Processor, IntelVTune, PARSEC Benchmark.

We'd love your feedback!