Software Engineer
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
Requirements
• Bachelor’s degree in computer science/related engineering field • 5+ years of hands-on experience developing performant modern C++, or high willingness to learn C++ which is our primary programming language for all development • Strong procedural and object-oriented programming experience that employs clean code principles and good OOP design patterns/principles • Experience developing in Docker and containerized development environments, and using Linux-based operating systems (e.g., RHEL, Ubuntu) • Understanding of Service-oriented Architecture and message broker vs data broker paradigms • General willingness to travel for company business between our offices, as well as to customer sites • Must have ability to hold UK Security Clearance (current or previous preferred) • Master’s degree in computer science/related engineering field. 7+ years of experience developing software in modern C++ and Python • Experience embedding C++ in Python and vice versa • Experience working on distributed systems • Experience with Bazel • Experience working projects related to national security for one or more government agencies • References who will describe them as low-ego, highly motivated, thoughtfully opinionated, strong communicators and curious listeners • Don’t meet every single requirement? If you’re excited about this role but your past experience doesn’t align perfectly with every qualification in the job description, we encourage you to apply anyway. You may be just the right candidate for this or other roles.
Responsibilities
• Lead the design, development, and optimization of high-performance libraries, modules, and products • Architect and implement scalable, reliable, and maintainable software solutions • Work in lockstep with our US engineering team. Collaborate with cross-functional teams, including product management, engineering, and DevOps • Ensure adherence to best coding practices, design patterns, and industry standards • Drive continuous improvement and innovation in software products • Write, test, and debug efficient modern C++ code for complex software solutions • Understand domain specific details when implementing generic or multi-domain code • Design robust software that meets performance, scalability, and security requirements • Identify and resolve performance bottlenecks in software applications • Work closely with product managers to understand requirements and translate them into technical solutions • Train and mentor junior engineers as we grow the UK team, fostering a culture of learning and improvement • Contribute to build automation, continuous integration, and deployment pipelines, as needed • Ensure software security, data protection, and compliance with industry regulations, as needed • We're looking for someone who has: • Bachelor’s degree in computer science/related engineering field • 5+ years of hands-on experience developing performant modern C++, or high willingness to learn C++ which is our primary programming language for all development • Strong procedural and object-oriented programming experience that employs clean code principles and good OOP design patterns/principles • Experience developing in Docker and containerized development environments, and using Linux-based operating systems (e.g., RHEL, Ubuntu) • Understanding of Service-oriented Architecture and message broker vs data broker paradigms