
Staff Software Engineer, Code Modernization
- Canada
- Permanent
- Full-time
- 8+ years of professional software development experience, with a demonstrated ability to take on more profound technical challenges and provide thought leadership in the domain
- Extensive experience in Java or another primary programming language, with a deep understanding of the language's intricacies and best practices
- Knowledge of software engineering principles, system design, data engineering, and cloud architecture
- Previous experience in comprehensive code modernisation strategy that aligns transitioned code with cutting-edge practices
- Hands-on experience with sophisticated text processing engines like ANTLR and understanding its underlying principles
- Hands-on experience in AST and control flow graph to analyse and traverse code structures programmatically
- Comprehensive knowledge of compiler design, code parsing, or related disciplines. Familiarity with core concepts such as lexical analysis and syntax analysis
- Curiosity, a positive attitude, and a drive to continue learning
- Actively engages in emerging trends and research relevant to product features
- Excellent verbal and written communication skills.
- Execute a comprehensive code modernisation strategy that aligns transitioned code with cutting-edge practices
- Design and optimise sophisticated code parsers to transform legacy code structures using techniques such as AST, into standardised formats
- Empower the engineering team with unparalleled thought leadership on emerging technologies and best practices
- Proactively engage with product leaders and senior management to align technical solutions with overarching business strategies
- Collaborate closely with product managers and other engineers to understand business priorities and propose new solutions
- Stay at the forefront of technological advancements, incorporating relevant trends into the code modernisation roadmap
- Contribute and maintain the high quality of the codebase with tests that provide a high level of functional coverage and non-functional aspects with load testing, unit testing, integration testing, etc
- Share your knowledge by giving brown bags, tech talks, and evangelising appropriate tech and engineering best practices
- Evaluate and refine metrics to optimise usage for both quality and cost-effectiveness
- Serve as a mentor, guiding engineers through technical challenges and fostering their professional growth
- Familiarise yourself with the MongoDB database and aggregation language
- Familiarise yourself with the problem space and the domain
- Set up software development infrastructure (tech stack, build tools, etc) to enable development using the relevant tech stacks
- Started collaborating with your peers and contributed to code reviews
- Worked on and delivered a large-scale code analysis feature in the product
- Contributed to and helped deliver a few releases of the product
- Reviewed and contributed to scope and technical design documents
- Delivered large-scale features across our entire tech stack
- Helped recruit and interview new members of the team
- Collaborated with other teams at MongoDB