Progress Software is the trusted provider of software that enables customers to develop, deploy, and manage responsible, AI-powered applications. They are seeking a Principal Software Engineer to lead the design and development of core features for the MarkLogic multi-model database, focusing on scalability and performance.
Responsibilities:
- Lead the design, architecture, and implementation of high-quality core features for the MarkLogic database, including search, language support, Javascript engine integration, scalability, reliability, and performance
- Design and implement high-performance, scalable, and fault-tolerant systems using C++
- Collaborate closely with the Product Owner, and Development teams to define product vision and ensure functional and non-functional requirements are met
- Mentor and guide junior engineers, promoting best practices in distributed systems and secure software development
- Design and implement proof-of-concept projects for the MarkLogic Database and Server Product
- Lead technical discussions ensuring project engagements are collaborative and effective
Requirements:
- 8+ years of hands-on experience in database internals or building core components for data processing systems
- 5+ years of experience in distributed and multi-threaded systems
- Advanced C++ coding skills; familiarity with XQuery, JavaScript (Google V8) is a plus
- Strong understanding of Linux/Unix systems; Windows experience is a bonus
- Knowledge of MarkLogic Server or similar database systems is a significant plus
- Working knowledge of all aspects of the software development lifecycle
- Proven ability to debug complex server-side issues (e.g., using GDB)
- Familiarity with cloud platforms (AWS, Azure) and containerized environments
- Experience with version control systems (SVN, Git)
- Bachelor's or master's degree in Computer Science or equivalent experience
- Experience with high-performance distributed systems, fault-tolerant software architecture, and performance optimization
- Experience with MarkLogic Server or similar NoSQL/SQL hybrid databases
- Experience integrating and maintaining JavaScript engines (Google V8) within database systems
- Knowledge of web and network protocols, as well as document formats like JSON and XML