Skip to content
Search jobs inside your AI agent. Claude, ChatGPT, Gemini, Cursor and Grok
Connect

天鏡科技股份有限公司

[台中] Senior C++ Engineer

Posted Updated 1 view
Discussion

Description

# Primary Responsibilities

  • Accurately comprehend and execute the architect's designs, with the ability to independently design detailed software components without requiring extensive intervention. Developing software in C++ often involves independently designing components that the architect may not directly oversee, making strong software design skills a core value for senior C++ engineers.
  • Transform proof-of-concept designs or minimum viable products into complete software solutions.
  • Maintain existing codebases and continuously refactor them to ensure compatibility with various futures trading APIs.
  • Review C++ code written by team members, provide guidance, and help them produce high-quality C++ code.
  • Stay updated on the latest C++ advancements, share insights with team members, and guide the team in effectively leveraging advanced C++ language features.

# Required Skills

  • Educational Background: Master's degree or higher in Computer Science. As a senior C++ engineer, you are expected to have taken advanced courses such as Advanced Computer Architecture, Advanced Operating Systems, and Software Engineering to ensure you possess the skills to develop high-performance parallel programs while maintaining clean, testable, and maintainable architectures.
  • Modern C++ Expertise: Familiarity with C++20 or later and a deep understanding of the design principles behind C++ language mechanisms, beyond their surface-level usage.
  • C++ Core Guidelines: Comprehensive knowledge of the guidelines, including their underlying principles. A senior engineer should understand when and how to apply or deviate from these guidelines based on project requirements.
  • C++ Idioms: Proficiency in widely used idioms like NVI, PImpl, RAII, and Copy-and-Swap to minimize errors, optimize performance, and reduce compile times.
  • Cross-Language Design Concepts: Understanding design patterns in Modern C++ and their trade-offs. A senior engineer must have strong analytical and design skills to adapt and refactor software iteratively based on evolving business needs.
  • Debugging and Diagnostic Tools: Proficient in using debuggers and tools for memory and multithreading debugging.
  • Clang Tools: Experience integrating tools like clang-format and clang-tidy into your workflow.
  • Linux Proficiency: Advanced Linux system operations, including CMake and GNU make.
  • System Programming: Familiarity with Linux system programming and system calls.
  • Testing Frameworks: Knowledge of unit testing frameworks like GoogleTest.
  • Cross-Platform Network Programming: Expertise in developing cross-platform networked applications.
  • Database Programming: Proficiency in SQL syntax and database programming.
  • Git Mastery: Advanced Git command-line operations.
  • AI Tools: Skilled in using modern AI tools to enhance productivity and learning efficiency, enabling problem-solving in new and challenging domains.

# Bonus Skills

  • Advanced English reading and listening skills, enabling efficient learning from English books and YouTube channels. While AI tools can help overcome language barriers, direct comprehension remains an advantage.
  • Deep understanding of differences across C++ language standards and ability to resolve ABI issues.
  • Expertise in performance analysis tools such as gprof, perf, valgrind, KCachegrind, or Intel vTune to identify and resolve performance bottlenecks.
  • Experience in developing low-latency trading systems.
  • Knowledge of other programming languages.
  • Familiarity with Clean Architecture and Domain-Driven Design.
  • Advanced algorithmic skills for performance optimization.
  • Experience in developing, modifying, and optimizing Linux drivers.
  • Advanced skills in Docker, Podman, and Kubernetes.
  • Proficiency in advanced Linux system administration.
  • Experience in financial product trading (stocks, futures) or related system development.

Skills

What Senior Software Engineering jobs ask for — and how much of it you have →
Apply

See also

Software Engineering jobs by country — openings, pay and top skills →