Senior Software Developer2015 - PRESENTStars Technologies
Technologies: C, C++ (14), STL, SQL, Windows, Python, NodeJS, GIT
- Created and supported the world leading PokerStars online poker platform. While working here I played a major role in the development of new poker games back-end software.
- Participated in the design and development of various system components including DB facing and game logic facing components. I worked with the DB team, Client software teams, QA and Business Analysts teams to accommodate and support all requirements.
- Contributed to an internal project based on Node.js with C++ server on the back-end side.
- Provided maintenance and improvements for existing legacy C systems.
- Developed an in-house regression test system for new gaming components which allowed for early identification of problems and significantly improved the quality of our code handed over to QA.
- Nominated for Employee of the Year in the international "Women in Gaming Industry" contest.
Team Lead, Senior C++ Server Developer2010 - 2015Questrade Brokerage
Technologies: C, C++, STL, Boost, TBB, multithreading, Linux, SVN, SQL, Shell Scripting
- Contributed to the design and development of an electronic trading platform for Questrade Online Brokerage. This includes exchange connectivity for Order-Trade routing, Order Management System and Smart Order Routing.
- Worked with multiple target groups - analyzing requirements and translating them into technical specifications for my team. I led and participated in the full cycle of software development.
- Set up and performed testing procedures for official certifications with various vendors and exchanges.
- Served as a member of the on-call 24/7 production technical support team. I investigated production issues being escalated to the development and provided immediate fixes where possible.
- Conducted training for internal staff on e-trading software and communication with exchanges.
Contractor Software Developer2013 - 2014LDA Technologies (owned by xCelor LLC)
Technologies: C++ under Linux, STL, SNMP protocol based application monitoring, Google Protocol Buffers, CLI Parser
- LDA Technologies develops ultra-low latency FPGA-based market feed handlers and ultra-fast hardware switches.
- Participated in the design and development of console user interface application (similar to CISCO switch configuration tools) for configuration and management of the new XPM products (high-performance switches).
- Contributed to the client-server design, sockets, and used google protocol buffers for communication protocol. I worked on development of both client and server applications for this utility. For the console interface development I used CLI Parser open-source library (http://sourceforge.net/projects/cliparser/).
Team Lead, Senior Software Developer2005 - 2010CQG Inc
Technologies: C++, STL, Boost, multithreading, Windows, CVS, SQL, FIX protocol, Network sockets, Perl
- Designed and implemented low latency order routing components for CQG Trading Gateway and CQG Spreader to connect to 20+ exchanges using FIX, OMEX, and proprietary network protocols to trade Futures, Options, Fixed Income and FX instruments (C++, multithreading, T-SQL, TCP/IP networking).
- Proposed, designed, and implemented a framework to facilitate the development of the above-mentioned modules. The project drastically reduced time-to-market and increased the quality of trade routing components, resulting in management award for the team.
- Participated in the design and implementation of an advanced trade routing redirection mechanism in the Distributed CQG Trading Gateway system that greatly improved system’s scalability and decreased exchange connectivity costs. Also, I implemented performance optimizations in existing codebase to lower order processing latencies.
- Performed the full cycle of software development – high-level architecture, requirements definition, high level and detailed design, implementation (including unit tests), integration testing, and handover to QA team. Later, I provided production support, defect fixes and improvements of the developed software.
- Managed a team of six software developers and was responsible for assigning tasks, monitoring progress, and assisting team members.
Teaching Assistant2003 - 2006Yerevan State University
Technologies: Discrete Mathematics, Combinatoric Algorithms
- Taught 1st and 3rd-year students subjects of discrete math and combinatorics.
- Participated in exams and helped the professor with grading and reviewing of written assignments.
Software Development Engineer (part-time as a student)2002 - 2005UniCAD (acquired by Mentor Graphics)
- Developed an internal Issue Tracking system. It provided abilities to store, track, and query issues as well as to notify parties involved in each issue.
- Created an automatic build environment and configuration/version maintenance utilities for Software Configuration Management (Windows/Linux platforms). These utilities were used by the development team for software integration, configuration and versioning.