Software engineer developing and maintaining UBS' low-latency market data feed servers.
• C++-based feed server development featuring multithreaded architecture and concurrency support, including POSIX access control (mutexes, condition variables and signals) and lock-free programming algorithms.
• Extensive range of exchanges supported, including NYSE and NYSE AMEX, NASDAQ, Arca, CME, ICE, BATS and OPRA. Handled TCP/IP- and multicast-based proprietary exchange protocols, decoding messages and maintaining market state to support in-house client application access with low latency.
• Code analysis and optimization to improve performance and reduce resource utilization, lowering latency through implementation of lock-free algorithms and atomic/compare-and-swap data usage.
• Java feed server development, implementing feeds on UBS' fault tolerant multicast-based data framework.
• Created numerous tools and utilities to facilitate development and support: Unix command line-based feed dumping and stream analysis utilities, text and data analysis tools, support scripts.