← Back to all jobs
Jonas Software

Software Engineer II / Mid-Level Software Engineer

Jonas Software

3h ago

0$110k - $130kDevCanadahimalayas
Software-EngineeringBackend-EngineeringSaaS-DevelopmentCloud-EngineeringSoftware-Engineer-IIMid-Level-Software-EngineerSoftware-Engineer-Level-IIIntermediate-Software-Development-EngineerMid-Level-Software-Engineer-JobsRemote-Mid-Level-Software-EngineerFullstack-DevelopmentMid-level

Job Description

Job Description: Software Engineer II / Mid-Level Software EngineerAI-First, Agentic AI Remote CanadaCompensation & Role DetailsExpected Salary Range: $110,000 - $130,000 CAD, depending on experience and qualifications Role Type: New Role AI Disclosure: AI is used to screen, assess, or select applicants for this roleOverviewWe’re a software company at the start of building a brand-new, highly visible SaaS application. This is an exciting opportunity to join early and contribute to the technical foundation of a new product while learning from experienced engineers and helping deliver core product capabilities.We’re looking for a motivated mid-level engineer who is comfortable building production software and is excited to work with an AI-first mindset. You should be curious about agentic AI workflows, automation, and modern AI development tools, and eager to use them responsibly to improve productivity, testing, documentation, and software quality.This project will use an AI-Development Life Cycle, or AI-DLC, to help drive the creation, testing, and deployment of the application. You’ll be fully supported in using AI-assisted development practices as part of your day-to-day engineering workflow.In this role, you’ll help design, build, test, and maintain backend systems using .NET/C# and modern architectural patterns such as Event Sourcing, CQRS, Domain-Driven Design, and Vertical Slice architecture. You’ll work in a cloud-native environment using AWS, PostgreSQL, RabbitMQ, and Docker, contributing to a platform built for scale, reliability, and rapid iteration.This is a strong fit for an engineer who has solid professional experience, can work independently on well-defined features, collaborates well with senior engineers, and is ready to grow into deeper technical ownership over time.ResponsibilitiesBuild and maintain backend services for a new SaaS platform using C#/.NETContribute to event-sourced and CQRS-based application featuresApply Domain-Driven Design principles with guidance from senior engineersImplement clean, maintainable domain logic, APIs, message handlers, and integrationsWork with PostgreSQL, RabbitMQ, Docker, and AWS-based servicesWrite automated tests and use AI-assisted tools to help generate, review, and improve test coverageUse AI-first engineering practices, including code assistance, documentation support, workflow automation, and productivity toolingParticipate in code reviews and provide thoughtful, constructive feedbackCollaborate with product, design, QA, and engineering teammates to deliver reliable featuresTroubleshoot issues in development and production environments with support from the teamContribute to engineering standards, documentation, and team best practicesTake ownership of assigned features from development through deploymentMust HaveProfessional experience building production software with C#/.NETSolid understanding of backend development, APIs, data persistence, and service designWorking knowledge of Event Sourcing and CQRS, or strong interest with some hands-on exposureFamiliarity with Domain-Driven Design concepts such as aggregates, entities, value objects, and bounded contextsExperience building modular applications using Vertical Slice architecture or similar patternsExperience working with PostgreSQL or another relational databaseFamiliarity with asynchronous messaging or event-driven systems; RabbitMQ experience is a plusExperience using Docker for local development or service containerizationExposure to cloud-hosted applications, ideally AWSPractical experience using AI development tools to support coding, testing, documentation, debugging, or code reviewInterest in agentic AI concepts such as tool-using agents, automated workflows, orchestration, evaluation, and guardrailsAbility to work independently on defined tasks while asking good questions when neededStrong communication skills and a collaborative engineering mindsetCommitment to writing clean, tested, maintainable codeNice to HaveExperience with MartenDBExperience with WolverineExperience contributing to multi-tenant SaaS systemsFamiliarity with authentication, authorization, billing, tenant isolation, scaling, or observabilityExperience with modern DevOps or Infrastructure as Code tools such as Terraform or AWS CDKExperience with CI/CD pipelinesFamiliarity with distributed tracing, structured logging, and production monitoringExperience working in a startup, greenfield product, or early-stage SaaS environmentWhat Success Looks LikeIn this role, a successful mid-level engineer will be able to take well-defined features or technical tasks, clarify requirements, implement reliable solutions, write appropriate tests, and collaborate effectively with senior engineers on design decisions. Over time, you’ll grow into owning larger areas of the system, making stronger architectural contributions, and helping improve how the team uses AI-assisted development practices.Ideal CandidateThe ideal candidate is a