Lead Software Engineer (C++)
About this position
We are building a new team in Bangkok focused on developing low-latency, high-throughput network-based solutions for LSEG's real-time ecosystem called 'Elektron'. As a Lead Software Engineer (C++), you will be one of the initial founding members, shaping the team's culture and contributing to system-level programming and Linux community.
Responsibilities
• Design and implements software modules in C++ included build system scripting, unit testing, integration testing, performance testing along with software packaging and configuration management.
• Participates in code/design reviews.
• Contributes toward product and internal documentation, technical specifications, software documentation and unit test plans.
• Assists in resolution of field problems as needed.
• Partners with QA (Quality Assurance) to ensure high quality software.
• Partners with owner, and collaborators of projects to deliver, support, and maintaining products.
• Opportunity to mentor junior-to-mid level engineers while the team is growing.
Requirements
• 3+ years experience of professional software development.
• Have awareness in performance implication of various libraries in use included C++ STL to make decision whether to use 3rd party library or implement our own.
• Experience developing in C++ in a multi-threaded environment.
• Strong experience of application or backend development on Linux with comfortability in using Linux command lines & various tools.
• Experience in using Makefile, and CMake build system.
• Knowledge and experience in at least one of several kinds of real-time project development using C++ such as uses multi-threaded code in business application, embedded systems / IoT delivering real-world products, game development, network-based application striving for either low-latency or high-throughput such as web server, packet filtering, or trading related application.
• Good understanding of operating system concepts included memory management, caching system, etc.
• Hands-on experience with network programming (e.g., sockets, TCP/IP, UDP, multicast) using directly platform API e.g. socket API.
• Strong English writing & verbal communication skills.
• Ability to work partially in US hours.
• Experience developing on Windows.
• Experience in developing with either one of Rust, Go, C#, or Python, or other system-programming languages.
• Not afraid to be dealing with legacy code base (C