Senior C++ Developer Resume
CaliforniA
PROFESSIONAL SUMMARY:
- Around 8 years of experience in data science and coding with analytical programming languages like C++, python and Mathematica.
- Experienced in complete software development life cycle and major aspects of technological projects including development, testing, debugging and requirement analysis
- Expertise in designing, developing middleware components for software in C/C++ using STL, multithreading, data structures, IPC (TCP/IP socket programming), and design patterns.
- Strong ability and skills in design, coding, debugging, problem - solving, integration and maintenance.
- Experience with working on Databases, SQL Server, Oracle.
- Fully conversant with Systems Development Life Cycle (SDLC).
- Used Agile, Scrum and Waterfall methodologies.
- Experience with various source control tools like CVS, SVN and git/GitHub.
- Have integrated user facing elements with server-side logic
- Have strong background in python multi-threading, multi-processing and their limitations
- Worked on relational databases like MySQL, PostgreSQL, and non- relational MongoDB. Also used python to interact with these databases using libraries like MySQL, MySQL-connector, pymongo
- Experienced in STL concepts of C++ and used C++ 11 features like shared ptr, weak ptr, lambda functions, auto, atomic operations.
- Sound Proficiency in CPP (Virtual functions, UML, Abstraction, Encapsulation, Inheritance, etc.).
- Good at interpersonal skills, very hands-on and result oriented attitude, self-determined to learn and improve.
- Worked on authentication and authorization between multiple systems, servers and environments.
- Developed REST Services in Django Python Framework and have developed many unit test cases in Python.
- Proficient at debugging code. Acted as second and third level support at various positions. Handled late night production issues. Dispatched hot fixes.
- Applied knowledge of machine-learning, data science, algorithms and associated tools.
- Demonstrated ability to learn quickly and work efficiently on multiple assignments in either self-directed or cross-functional and team-oriented environment.
- Skilled in motivating and leading peers, and scheduling project activities
TECHNICAL SKILLS:
Programming Languages: Python (2.7, 3.x), Core Java, C, C++, HTML, R
Operating Systems: Red Hat Enterprise Linux, Fedora, CentOS, Ubuntu, Sun Solaris, IBM AIX, Windows Server
Database: Oracle, Microsoft SQL Server, IBM DB2, MySQL, SQLite, MongoDB
Library & Framework: STL, Boost, BDE, IPC, multithreading, sockets, heap allocators, signals/event handling, SOAP webservices, REST Services, Python Unit test, numpy, matplotlib, django
Software Design: Singleton, Observer, Fa ade, Abstract Factory Design Patterns UML diagrams and other OOP/OOD concepts
Tools: pdb, dbx, gdb, CVS, SVN, git/github, Redis, Google Test, Google Mock, cppcheck, Coverity, Jenkins, emacs, eclipse, UML tools, MS-Office, splunk, Kibana
PROFESSIONAL EXPERIENCE:
Senior C++ Developer
Confidential, CALIFORNIA
Responsibilities:
- Worked in a team to develop/enhance software to compute income projections, various yields using cash flows for all type of fixed income securities like Treasuries/MUNIs/Corps based off of various characteristics of securities in a portfolio for client accounts.
- 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.
- Modified multi-threaded C++ programs to process position / tax lot / transaction data stored in Oracle DB, compute income projections and yields and persist data into DB for current and historical s.
- Used STL containers, algorithms, various data structures and design patterns in software design like Singleton for caches, db connections & Observer pattern for processing events.
- Wrote Oracle stored procedures to compute several metrics like realized/unrealized gain/loss, forex rate effect etc. from historical data considering forex rate effect
- Developed various Python scripts for reports, maintenance tasks and unit test cases.
- Migrated from SVN for source control to git, local github.
- Generated various reports ranging from Custom to regulatory reports using Python. Delivered using FTP/email to vendors, regulatory agencies.
- Used gpg to encrypt the files. Generated public/private keyshas good knowledge on security protocols.
Environment: C, C++, Fortran, Design Patterns, Oracle, MySQL, Python, bash, ksh, Linux, Threads, complex SQL queries, stored procedures, SVN, git, GitHub, OOAD, BOOST libraries, gdb, Coverity, Jenkins, FIX protocol, Redis, Rabbit MQ.
Senior C++ Developer
Confidential, Texas
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 hybrid 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 webservices for order and trade related information to display on UI. Used proprietary MQ to subscribe to order and trade updates.
- Designed UI screens using Bloomberg UI toolkit. Coded, tested business logic for UI in JavaScript, to validate user inputs, calling various web services for information retrieval and 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.
- 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 a large number of compliance rules for client accounts for both pre and post trade compliance purposes and manage leverage using a large number of 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 effect etc and other data manipulation.
- Used Python scripts to generate various reports like OATS, P&L, transaction history, user privilages, 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, ksh, Linux, POSIX Threads, SVN, git, github, OOAD, BOOST libraries, ThreadX, gdb, pdb, dbx, OpenGrok, Jira
C++ Developer
Confidential, Texas
Responsibilities:
- As a part of research team, I was involved in gathering information, data and samples in order to test them and find the best data structure, algorithm or library to use for the requirement.
- Developed (Proof of Concept) POC's for various requirements from clients as initial phase of project for various teams in the company.
- Developed code that runs in the device for scheduling the threads and running the job as specified in xml. ARM microprocessor to enhance cost effective robots.
- Developed Application that would allow transfer of log files from Linux (Debian) computer to Linux server using C++ multithreading environment. These log files are served using web interface to any computer locally using C++.
- Implemented Image processing algorithms that would run on graphic cards using Libraries namely OpenCL (for Nvidia and other graphic cards) and CUDA (for Nvidia) using C++
- Successfully developed Application that would detect PH strip color by processing an image of PH strip and identifies PH levels in water (Typically swimming pool) using C++ and OpenCV.
Environment: Embedded C, C++, STL, Linux, g++, gcc, gdb, multithreading, LAMP, ROS, OpenCV, OpenCL, CUDA, research
Programmer/Analyst
Confidential, Michigan
Responsibilities:
- Modified C++ programs to add security features for credit card transactions.
- Worked with users from requirement gathering to the final delivery of the product, support and rollout.
- Analyzed, Designed and modified multithreaded applications to support guest loyalty program, seapass cards and revenue management.
- Enhanced C++ code to manage revenue information onboard for both crew and guests.
- Used STL components like containers, iterators, function objects and algorithms in applications.
- Used sockets for communication with vendor API for POS systems
- Used SVN for source code control.
- Modified & tested scalable, multithreaded, high throughput C++ programs.
- Modified existing multithreaded server infrastructure to push additional indicative information to downstream subscribers.
- Implemented additional validation logic for a rule engine server that checked for logical inconsistencies in indicative data and reported them in a user workflow 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.
- Used C++ interface/SQL to update/retrieve information from MySql DB.
- Wrote Python scripts to manage end of day (EOD) tasks
Environment: C, C++, STL, Unix, AIX, Linux, g++, gcc, Python, pdb, Shell Scripting, IBM DB2, Oracle, SVN, event handlers, Observer Pattern, multithreading, thread pools, IPC, gpg encryption, gdb, dbx.
Confidential
Software Engineer
Responsibilities:
- Responsible to develop an implementation of 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 a multithreaded cache offline program in C++, supporting various user interfaces to deliver/process data for scalable, low latency applications.
- To store data on order history, accounts, securities, etc. have extensively used STL for fast retrieval and update.
- Worked with users, business and exchanges to gather new requirements/enhancements, testing and final delivery of sub systems.
- Developed the code on Ubuntu operating system.
- Developed SOAP web services for order and trade related information to display on UI. Used proprietary MQ to subscribe to order and trade updates.
- Using Bloomberg UI toolkit, designed UI screens. Have coded and tested business logic for UI in java script to validate user inputs, calling various web services for information retrieval and updates.
- Used various data structures and design patterns in applications like Singleton, Observer, Factory methods etc.
- Used streaming protocols like RTP and RTSP to enable controlled, on-demand delivery of real-time data, like audio and video.
- Worked extensively on multimedia framework used skills like multimedia usage, video, sound and graphics, networking. Corporate action events are handled reflecting the order price and currently implementing the tick size changes.
- Used a C++ interface to retrieve data from the data base or to update data in the data base.
- Modified C++ programs to support compliance rule automation for many compliance rules for various client accounts for both pre-and post-trade compliance purposes and managed leverage using many metrics like industry exposure, security type, long or short positions, currency etc.
- Experience working with device drivers and middle layer embedded application development.
- Have written many SQL stored procedures for data manipulation and to compute several metrics like gain or loss, realized or unrealized etc.
- 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, ksh, Ubuntu, Linux, POSIX Threads, SVN, git, GitHub, OOAD, BOOST libraries, gdb, pdb, dbx, OpenGrok, Jira.
