Senior C++ Developer Resume
Chicago, IL
SUMMARY
- C/C++ Software Engineer with 7+ years of experience specializing in financial industry and embedded firmware development
- Extensive C/C++ programming skills including multi - threading, Network Programming, SOAP services, STL, Boost and other libraries.
- Extensive experience in Shell Scripting using awk, sed, grep commands
- Expertise in developing Macros in C/C++, templates.
- Worked on Client/Server, SQL Server and Web based applications with strong business understanding and knowledge of Order management systems.
- Experienced with Data flow diagrams, Data dictionary, Database normalization theory techniques, Entity relation modeling and design techniques.
- Good understanding and experience with I2C, SPI, CAN, PWM, UART in both firmware and RTOSs driver development.
- Proficient in static analysis tools like cppCheck and Coverity. Caught many severe bugs before production releases.
- Expertise in developing multithreaded network based client-server applications.
- Developed XML C++ SOAP web services on Unix and Linux platforms.
- Experienced with Programming Languages - Java and Prolog
- Served as Single Point of Responsibility for Software Development Life Cycle with accountability of requirement analysis, architectural design, technical design, creating POC, preparing/reviewing estimation, coding, holding technical discussion, implementation, defect fixing and tracking, maintenance and application enhancement
- Knowledge if voice/video application over wireless network. Development experience with XML, JSON, TCP/IP, UDP/IP and multithreaded application using IPC mechanism.
- Possess in-depth understanding of ITIL based Service Management including Change Management, Incident Management, memory management, Problem Resolution, Business Procedures and Workflows of various organizations.
- Act as a point of escalation for Data Center and IT related issues. Ensured technical and process architecture solutions are documented & designed to support business requirements
- Strong verbal and written communication skills used to successfully develop presentations, write reports and draft correspondence.
TECHNICAL SKILLS
- Programming Languages: C, C++, Python, Shell Scripting (ksh, bash)
- Operating Systems: RHE Linux, SUN Solaris, IBM AIX and Windows
- Languages: C, C++, Java
- Scripting: Python, UNIX Shell Scripting, Perl
- Databases: Oracle, PL/SQL, IBM DB2, SQLite
- Debugging Tools: gdb, dbx, pdb
- Code analysis Tools: Source Navigator, OpenGrok, cppCheck, Coverity
- Build Tools: Make, ANT
- Bug Tracking tools: Clear Quest, Jira
- Configuration Management tools: CVS, SVN, Git/Github
- Design Tools: Microsoft Visio, Eclipse Plugins
- Libraries: STL, threads, C++11, Sockets, smart pointers, numpy, matplotlib, Django.
PROFESSIONAL EXPERIENCE
Confidential, Chicago, IL
Senior C++ Developer
Responsibilities:
- Part of a development team to implement Equity Order Management system to accept orders from UI, FIX, send/route to Exchanges and other broker dealers and fill the trades in C++ on Unix and Linux platforms.
- Developed multithreaded cache offline program in C++ to support various UIs to deliver/process data for a scalable, high throughput, low latency applications.
- Wrote C++ programs for end of day operations (EOD) to close or roll the orders.
- Used STL extensively to store data on Order history, accounts, securities, etc. for fast retrieval/update.
- Worked with users, business and exchanges to gather new requirements/enhancements, testing and final delivery of sub systems.
- Developed SOAP web services for order and trade related information to display on UI. Used proprietary MQ to subscribe to order and trade updates.
- Used various data structures and design patterns in applications like Singleton, Observer, Factory methods etc.
- Handled corporate action events to reflect the order price and currently implementing the tick size changes.
- Developed/enhanced Visual C++ GUI applications dat gather and generate statistics on investments and loans.
- Used C/C++ interface to retrieve/update info from/to the DB.
- Developed/enhanced as part of team to compute commission calculations based on commission rules and generate pdf reports.
- Modified C++ programs to support compliance rule automation for many compliance rules for client accounts for both pre-and post-trade compliance purposes and manage leverage using many metrics like industry exposure, security type, long/short positions, currency / securities / options / futures, credit ratings etc.
- Wrote various SQL stored procedures to compute several metrics like realized/unrealized gain/loss, forex rate TEMPeffect and other data manipulation.
- Used Python scripts to generate various reports like OATS, P&L, transaction history, user privileges, limit rules and commission schedule reports.
- Used SVN and git/GitHub for source code control.
- Followed Agile and Scrum Methodologies
Environment: C, C++, Design Patterns, SQL, Python, bash, Linux, POSIX Threads, SVN, git, GitHub, BOOST libraries, gdb, pdb, dbx, OpenGrok, Jira.
Confidential, Dearborn, MI
Senior C++ Developer
Responsibilities:
- Wrote Firmware/Fcode drivers in C for various SCSI and Gigabit-Ethernet hardware products.
- Firmware for a bootable serial ATA device, which uses Sil 3112A chip.
- Wrote UNIX Shell test scripts for testing various Network parameters.
- Testing various network configurations e.g. point to point, server-router-client configuration.
- Worked and implemented several Arduino based embedded systems
- Worked with Python and tested several modules for the product development
- Tested and regulated several Arduino systems for the control design. Tested the code design using python
- Worked with machine controls for the development and designing of the module. Knowledgeable in automation controls
- Used hypervisor virtualization for different machines to capture the control panel design
- Wrote reusable, testable and efficient code using python. Implementation of security and data protection using python.
- Designed and implemented low latency, high availability, and performant applications using python.
- Develop/maintain Board Support packages in Embedded Linux, Boot Loaders, and monitor BSP performance
- Creating the models in MATLAB and Simulink for GCU and BPCU functionality and applying the MBD process on the models generated.
- Implemented logics to install/update/upgrade software packages in Reprogramming Application Manager using QT interface.
- Programming and Changing UI screens using C++/QT Used multi-threading and thread synchronization extensively.
- Work as team developer on a variety of platforms including Windows, Linux (RHEL) distribution using C++, QT4, Boost, libcurl.
- Wrote C modules for Device Testing, used MFC for application framework and network development.
- Ascertained various bottlenecks for PCI devices, including PCI bridges, Memory, Multiple-Processor based systems.
- Responsible for web logic administration, maintenance and performance tuning using Java
- Providing support for the production floor, engineering floor.
- Designed and Successfully Implemented a Software Platform to create, deploy and bill various telecommunication products and services in real-time
- Implemented and tested several modules with Java
- Responsible for web logic administration, maintenance and performance tuning using Java
- Wrote a Multi-Language-support, TCL - IVR (Interactive Voice Response) Scripts for Voice over IP applications for complete call control and completion, supporting 10 languages.th
Environment: C, C++, VXworks, PCI, SOAP, SQL, XML/JSON, Python, Java, QT, GTK+ Microcontroller, TCL-IVR, H323 VOIP, Python, Embedded C, Cisco, TCP/IP, LIN, RS 232, Zigbee, Windows, CPI, MFC.
Confidential, Norwalk, CT
C/C++ DEVELOPER
Responsibilities:
- Did programming in C on UNIX platform to contribute to the software project, which automated customized design process.
- Developed the initial version of the multi-threaded Object Oriented C++ management application using Boost threads and designed with UML.
- Did unit testing of programming projects.
- Wrote a program in C, which converted programmer's interface between two different types database.
- Supported the integration of the core technology libraries into other user-friendly front-end applications Wrote SQL statements in conjunction with embedded database library to use SYBASE relational database.
- Wrote a program in C, which parses computer logs and then displays the summary in automatically generated HTML files.
- Wrote a script in Perl, which in conjunction with version control system built a particular version of application.
- Contributed to make file project, which standardized all UNIX make files on the project.
- Wrote documentation for C programs written by myself and other programmers on the team.
- Worked on various Active Template Libraries (ATL) in various code optimization techniques.
- I was trained on the job in Agile software practices and I is familiar with fundamental ideas of Agile practice.
Environment: C, C++, SQL, PL/SQL, UNIX, Linux, Shell Scripting, Sybase, Perl Scripting, UML.
Software Engineer
Confidential - IN
Responsibilities:
- Involved in development and implementation of SW system using C&C++ code.
- Utilized shell/bash and Perl scripting to reduce hands-on administration by 70% for the production start and end of day procedures.
- Designed, implemented and maintained a multithreaded server dat received and processed acknowledgement messages from downstream applications regarding event data pushes using C++, STL, multithreading, shell scripting and UNIX.
- Participated in the development of a multithreaded publish/subscribe process which consisted of several subscriptions and push servers using C++, STL, multithreading, shell scripting and UNIX.
- Implemented additional rules and logic to provide indicative and corporate actions data to new subscribers by extracting all the required information from data base, generating and pushing messages using C++.
- Designed and implemented software drivers for body modules.
- Designed and developed a multithreaded process dat generated breaks on income events and notified the users when underlying indicative data changed using C++, STL and multithreading.
- Optimized design and code for high performance and fixed various bugs.
- Used various data structures/design patterns like Observer, Singleton, Facade in software design.
- Wrote Python scripts to manage end of day (EOD) tasks.
Environment: Embedded C, C++, STL, Linux, g++, gcc, gdb, multithreading, Python, pdb, Shell Scripting, Oracle, SVN, event handlers, Observer Pattern, thread pools.