Company:
NauWork
Location: Portland
Closing Date: 23/10/2024
Salary: £100 - £125 Per Annum
Hours: Full Time
Type: Permanent
Job Requirements / Description
A NauWork client is seeking a Staff or Senior Software Engineer (C++ 23) to join their Portland, Oregon team. The role can be local or remote.
Key Responsibilities
- Develop high-quality, scalable C++ software (C++23) for efficient management and processing of large-scale data.
- Address complex database issues and boost performance for stream processing and multithreaded applications using innovative indexing techniques, advanced compression algorithms, and modern asynchronous programming practices.
- Build upon large-scale, well-maintained open-source projects, incorporating bleeding-edge optimizations.
- Participate in product and architecture discussions.
- Collaborate effectively within and across teams to solve challenging technical problems.
- Advocate for and implement industry best practices in software development to ensure high-quality, maintainable, and scalable code.
- Provide guidance and support to team members, fostering their growth through code reviews, regular mentorship, constructive feedback, and sharing expertise.
Qualifications and Skills
- Extensive hands-on experience in modern C++ programming, debugging, and performance tuning distributed and/or highly concurrent low-level software systems.
- Degree in Computer Science or similar field, or equivalent practical experience, with strong competencies in data structures, algorithms, and software design/architecture.
- Demonstrated ability to comprehend and work within large, complex codebases, making precise and impactful modifications.
- Experience in network/socket programming (eventloops, async callback handling) and multi-threaded programming.
- Experience with distributed systems - consistency, availability, scalability, and fault tolerance.
- Experience designing and developing database systems - query optimizers, query execution engine, storage engine, database indexing.
- Strong communication skills, with a bias towards collaboration, both within and across teams.
- Capability to thrive in small team environments, demonstrating self-motivation and independence in problem-solving.
Bonus Qualifications
- Designing and developing distributed data pipeline processors and flows.
- Database indexing and search techniques - inverted, ngram, full-text search, vector search.
- Compression algorithms and methods – dictionary/FOR/delta encoding.
- Performance optimization techniques, and familiarity with SIMD instructions.
- Familiarity with cloud storage solutions (Azure, GCP, AWS).
- Specific experience with modern OLAP databases like ClickHouse, DuckDB, etc.
- Proficiency with modern build tools (such as cmake, ninja, clang-18, llvm-18).
- Experience with sanitizers and other static analysis tooling.
- Experience in extending and enhancing codebases, including proficiency in forking and integrating changes.
Category: System Software
Position: Staff or Senior Software Engineer (C++)
Location: Portland, Oregon or Remote
Job Type: Direct-Hire, Full-Time
#J-18808-LjbffrShare this job
NauWork
Useful Links