We are seeking an accomplished and passionate Software Development Engineer with substantial experience in architecting and developing distributed real-time systems using C++ on Ubuntu Linux. The ideal candidate will be a hands-on technologist, eager to tackle complex challenges in scalable, performant computing environments, and will thrive in a collaborative, fast-paced setting.
Required Qualifications
- Bachelor s or master s degree in computer science, Engineering, or a related technical field.
- 8+ years of hands-on software development experience, with a focus on distributed and/or real-time systems.
- Expert-level proficiency in C++ (preferably C++11 and above), with a deep understanding of object-oriented programming and modern language features.
- Strong experience with the Ubuntu/Linux operating system, including system-level programming, scripting, and performance tuning.
- Proven track record designing and deploying robust, scalable, and fault-tolerant distributed architectures.
- Solid grasp of networking concepts (TCP/IP, UDP, multicast, sockets) and inter-process communication.
- Hands-on experience with multi-threaded programming, concurrency, and synchronization primitives.
- Strong analytical and problem-solving skills, with the ability to diagnose and fix complex software issues in real-time scenarios.
- Excellent written and verbal communication skills.
Preferred Qualifications
- Experience with real-time middleware or messaging platforms (e. g. , ZeroMQ, DDS).
- Familiarity with containerization technologies (Docker, Kubernetes).
- Exposure to CI/CD pipelines and DevOps practices on Ubuntu environments.
- Open source contributions or involvement in relevant technical communities.
What We Offer
- Opportunity to work on challenging and impactful technology projects with a talented, passionate team.
- Flexible work arrangements and a supportive, inclusive work culture.
- Competitive compensation and comprehensive benefits package.
- Personal and professional growth opportunities.
If you are driven by innovation and ready to shape the future of distributed real-time computing, we would love to hear from you. Apply now to join our dynamic engineering team
Required Qualifications
- Bachelor s or master s degree in computer science, Engineering, or a related technical field.
- 8+ years of hands-on software development experience, with a focus on distributed and/or real-time systems.
- Expert-level proficiency in C++ (preferably C++11 and above), with a deep understanding of object-oriented programming and modern language features.
- Strong experience with the Ubuntu/Linux operating system, including system-level programming, scripting, and performance tuning.
- Proven track record designing and deploying robust, scalable, and fault-tolerant distributed architectures.
- Solid grasp of networking concepts (TCP/IP, UDP, multicast, sockets) and inter-process communication.
- Hands-on experience with multi-threaded programming, concurrency, and synchronization primitives.
- Strong analytical and problem-solving skills, with the ability to diagnose and fix complex software issues in real-time scenarios.
- Excellent written and verbal communication skills.
Preferred Qualifications
- Experience with real-time middleware or messaging platforms (e. g. , ZeroMQ, DDS).
- Familiarity with containerization technologies (Docker, Kubernetes).
- Exposure to CI/CD pipelines and DevOps practices on Ubuntu environments.
- Open source contributions or involvement in relevant technical communities.
What We Offer
- Opportunity to work on challenging and impactful technology projects with a talented, passionate team.
- Flexible work arrangements and a supportive, inclusive work culture.
- Competitive compensation and comprehensive benefits package.
- Personal and professional growth opportunities.
If you are driven by innovation and ready to shape the future of distributed real-time computing, we would love to hear from you. Apply now to join our dynamic engineering team
Key Responsibilities
- Design, develop, and maintain high-performance distributed real-time systems in C++ running on Ubuntu/Linux environments.
- Collaborate with cross-functional teams to define, architect, and deliver scalable software solutions that meet stringent latency and reliability requirements.
- Optimize system performance, resource utilization, and network protocols to ensure real-time responsiveness and reliability.
- Implement and enforce robust software engineering practices, including automated testing, code reviews, and continuous integration/deployment.
- Troubleshoot, debug, and resolve complex issues in large-scale distributed systems.
- Develop and maintain documentation for software designs, ICDs, and deployment procedures.
- Mentor junior engineers, review code, and contribute to overall team improvement.
- Stay current with emerging technologies and industry trends relevant to distributed systems, C++, and real-time computing.
Key Responsibilities
- Design, develop, and maintain high-performance distributed real-time systems in C++ running on Ubuntu/Linux environments.
- Collaborate with cross-functional teams to define, architect, and deliver scalable software solutions that meet stringent latency and reliability requirements.
- Optimize system performance, resource utilization, and network protocols to ensure real-time responsiveness and reliability.
- Implement and enforce robust software engineering practices, including automated testing, code reviews, and continuous integration/deployment.
- Troubleshoot, debug, and resolve complex issues in large-scale distributed systems.
- Develop and maintain documentation for software designs, ICDs, and deployment procedures.
- Mentor junior engineers, review code, and contribute to overall team improvement.
- Stay current with emerging technologies and industry trends relevant to distributed systems, C++, and real-time computing.