software engineer

AnvilOttawa, Canada
Full TimeOn-siteMidCA$64,480 - CA$170,560 / YearLimited info disclosed
8 views0 applications

Description

Senior Backend EngineerAbout ANVILANVIL is a trusted partner in the defence industry, delivering cutting-edge solutions that enhance military capabilities and operational effectiveness. We extend our expertise to public safety, law enforcement, and national security organizations, accelerating mission-critical decision making through analytical tools, automations, and game-changing machine learning capabilities. ANVIL helps organizations discover, manage, enrich, fuse, and exploit the information available to them in support of Information Dominance and Decision Advantage.Job Type: Full Time (Ottawa)Total Compensation: CAD $140,000 - $170,000 annual salary - Placement within range based on experience and qualificationsRole (Description)As a Senior Backend Engineer, you will play a pivotal role in designing, developing, and maintaining robust backend systems that power our analytical tools and data processing pipelines. You will architect scalable APIs, optimize database performance, and ensure our backend infrastructure can handle mission-critical workloads reliably and efficiently. Furthermore, you will use your knowledge of industry best practices to provide strategic guidance to engineering leadership on how to most effectively design backend architectures that scale with our growing customer base and evolving product requirements.We value people who have an ingrained sense of accountability to the team around them. As an ideal candidate you are not only technically qualified, but you demonstrate a strong work ethic and take pride in your craft. You also collaborate and communicate effectively with the other talented and motivated members of our organization.ResponsibilitiesDesign and develop scalable backend systems to support high-volume data processing and real-time analytics.Build robust APIs using REST, WebSockets, and other web protocols for both frontend applications and external integrations.Develop asynchronous task processing systems to handle complex and long-running computational workloads efficiently.Design and optimize relational database schemas (e.g., PostgreSQL) for high performance, scalability, and reliability.Architect and maintain efficient data models and implement optimized queries to support application needs.Implement data integrity mechanisms, backup and recovery strategies, and caching solutions using technologies like Redis.Apply security best practices across the development lifecycleEnsure robust, secure, and auditable system designs with a focus on data protection and operational resilience.Build and maintain containerized applications using Docker, including efficient multi-stage builds for production deployments.Ensure secure container configurations and contribute to orchestration strategies in collaboration with DevOps teams.Advise engineering leadership on backend architectural decisions with a focus on scalability, maintainability, and performance.Mentor junior developers, participate in code reviews, and contribute to internal engineering standards and documentation.Collaborate with cross-functional teams?including frontend developers, data scientists, and DevOps engineers?to deliver integrated, end-to-end solutions.PrerequisitesA degree in Software Engineering, Computer Science, or 10+ years of professional experience in backend system design and implementation.Eligible for Government of Canada Secret or Top Secret security clearance.Mandatory SkillsExpert knowledge of Python and web frameworks (Django/DRF, Flask, FastAPI, Sanic etc).Expert knowledge of relational databases, particularly PostgreSQL, including query optimization and schema design.Expert knowledge of NoSQL databases (Elasticsearch).Proficiency with containerization technologies such as Docker.Experience with API design and development, including REST, WebSockets, and authentication/authorization mechanisms.Strong knowledge of caching strategies and experience with Redis or similar in-memory data stores.Experience with m