Senior Software Engineer, C++
Flow Traders seeks seasoned C++ Software Engineers to join the expanding Development team at the Cluj office. We are looking for individuals who are inquisitive, systematic, and adept at managing multiple tasks. This role presents a unique opportunity to become part of a leading proprietary trading firm that fosters an entrepreneurial and innovative environment embedded in its core operations. We cherish quick-thinking, inventive minds and push them to leverage their full potential. If you aspire for greatness, the possibilities are boundless.
At Flow Traders, you will participate in crafting low-latency systems critical for trading various asset classes (including equities, derivatives, and cryptocurrencies) across numerous global markets. We seek motivated software engineers capable of taking charge of the complete software development process. Your responsibilities will involve collaborating closely with product owners and traders to gather, analyze, and clarify requirements; working with quality assurance engineers to establish acceptance criteria, conduct testing, and guarantee the quality of your implementations; as well as assisting in the production deployment and collaborating with operations engineers and traders for post-deployment support and validation.
Technologies Utilized in the Development Process:
Note: Prior experience with all the technologies mentioned below is not expected.
- C++ (Standard utilized: upgrading from C++17 to C++20)
- Compilers: gcc 10 / clang 13
- Python
- Build system: CMake
- Version control: Git
- Testing frameworks: Google Test, Pytest, and Nosetest
- Version control/code review system: Bitbucket
- Operating system: Debian Linux
- Continuous integration system: Bamboo
- Deployment automation: Ansible
Key Responsibilities:
Primary technical duties encompass:
- Exchange Connectivity: Your main task involves developing software to interact with exchanges via their APIs, obtaining market data, and executing orders over networks using diverse protocols such as TCP, UDP, and Websocket. The software's integrity is guaranteed through a comprehensive set of testing suites that you will be responsible for utilizing, maintaining, and expanding.
- Trading Strategies: Your primary role is to design and implement trading algorithms based on requirements furnished by traders. You will acquire domain expertise and leverage it to effectively translate requirements into tangible software solutions.
Qualifications for Success:
- Possess a minimum of 4 years of experience in C++
- Solid knowledge of data structures and algorithms
- Familiarity with Cryptocurrency/Blockchain technologies is advantageous
- Comprehensive understanding of the full software development lifecycle
- Capable of crafting clean and concise code
- Proficient in unit and regression testing
- Well-versed in computer architecture and memory subsystems
- Experience working with various Linux distributions
- Strong interpersonal skills and teamwork capabilities
- Effective communication skills with stakeholders from diverse backgrounds
Flow Traders does not accept unsolicited resumes from any professional staffing or search firms. All candidate submissions without a valid and signed search agreement will be treated as the sole property of Flow Traders.