Senior Software Engineer, App Analysis & Modelling
Job description
About the role
The App Analysis & Modelling team creates tools that help customers transition from legacy relational databases to MongoDB. You will build code analysis engines and schema recommendation systems that provide deep insights into existing application structures. This role involves working across the full stack to deliver features that simplify the modernization journey for our users. You will design and implement high-performance analytical engines that process complex application codebases and translate findings into actionable guidance. You will play a key role in shaping the architecture of services that power critical insights for database migration workflows. Collaboration with cross-functional partners will ensure that technical solutions align with evolving product strategies. Your work will directly influence how customers perceive and adopt MongoDB as a modern data platform. You will contribute to a culture of quality by writing maintainable, well-tested code that sets standards for the organization.
Key facts
What you'll do
- Architect and implement scalable backend services that ingest and process database schema and application code metadata.
- Build high-throughput data pipelines to analyze relational structures and generate migration recommendations.
- Develop a frontend analysis dashboard using React and TypeScript to visualize schema complexity and migration risk.
- Design and expose RESTful and GraphQL APIs that enable seamless integration with MongoDB tooling.
- Implement static analysis algorithms to traverse codebases and extract meaningful structural patterns.
- Optimize query performance and resource utilization for analysis engines handling large enterprise workloads.
- Conduct in-depth code reviews to ensure adherence to best practices and maintain high code quality across the stack.
- Collaborate with product managers to translate business requirements into technical specifications and implementation plans.
- Define and monitor key service-level indicators to ensure reliability and performance of deployed features.
- Troubleshoot intricate production issues by correlating logs, metrics, and traces across distributed components.
- Partner with the design team to refine user workflows and improve the overall experience of the modernization journey.
- Mentor junior engineers by providing guidance on architecture decisions, coding standards, and debugging techniques.
- Participate in on-call rotations to support critical incidents and ensure timely resolution of service disruptions.
- Contribute to technical documentation that supports both internal developers and external stakeholders.
Requirements
- Hold a Bachelor of Science degree in Computer Science or a related field, or possess equivalent practical experience that demonstrates the required knowledge.
- Bring a minimum of five years of professional software development experience in roles involving full-stack or backend responsibilities.
- Demonstrate advanced proficiency in Python and Java, including the ability to write clean, efficient, and well-tested code.
- Show a strong background in designing and implementing high-performance backend services that scale under load.
- Exhibit deep understanding of relational data modelling concepts and mastery of SQL across major database systems such as Oracle, PostgreSQL, and MySQL.
- Prove competence in algorithms and data structures, with the ability to analyze complexity and make informed design trade-offs.
- Have hands-on experience with React and TypeScript, or show a clear willingness to work effectively across both frontend and backend domains.
- Communicate ideas clearly in verbal discussions and produce well-structured written documentation for technical audiences.
- Thrive in a hybrid work environment based in Sydney, balancing independent work with collaborative team contributions.
- Navigate ambiguity by making sound technical decisions with limited guidance when addressing complex problems.
- Take ownership of end-to-end features, from initial design through deployment, monitoring, and iterative improvement.
- Collaborate respectfully with colleagues from diverse backgrounds and varying levels of experience.
- Maintain a strong sense of quality by writing tests, performing code reviews, and incorporating feedback into iterations.
- Adhere to security and compliance standards relevant to handling customer data during analysis and migration processes.
Nice to have
- Build AI-powered features that leverage large language models to enhance code analysis and recommendation accuracy.
- Apply background in static analysis, code analysis, or programmatic code traversal to improve detection of schema patterns.
- Bring familiarity with MongoDB concepts, drivers, and tooling to better align analysis outputs with target platform needs.
- Contribute experience with cloud-native distributed systems, especially in environments orchestrated by Kubernetes.
- Show a track record of open-source contributions that demonstrate technical excellence and collaboration skills.
Practical notes
- This position requires candidates to be based in Sydney for a hybrid working model.
- Requisition ID: 4263333173.
- MongoDB provides accommodations for individuals with disabilities during the application and interview process.