Job Search and Career Advice Platform

Enable job alerts via email!

Software Engineer

ECI Software Solutions

Remote

CAD 80,000 - 100,000

Full time

2 days ago
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading software company based in Canada is seeking a Software Engineer for a critical role in transforming their legacy applications to a cloud-native architecture. You will collaborate closely with cross-functional teams to design and implement features that enhance service delivery. The ideal candidate should have a Bachelor's degree in a relevant field and at least 2 years of experience in software engineering, particularly with AWS and SaaS products. Opportunities for remote work and professional growth are available.

Qualifications

  • Bachelor’s degree in relevant field is required.
  • 2+ years software engineering experience is necessary.
  • Proficient in AWS services is expected.

Responsibilities

  • Design and develop high quality software features.
  • Collaborate with team on implementation of software components.
  • Participate in code reviews and technical discussions.

Skills

Software engineering
Distributed applications
.Net or .Net Core
Python
CI/CD pipelines
Micro-services architecture
AWS infrastructure

Education

Bachelor’s degree in Computer Information Systems, Computer Science, or related field

Tools

GitHub
Azure DevOps
Docker
Job description

Career Opportunities with ECI Software Solutions

A great place to work.

Careers At ECI Software Solutions

Share with friends or Subscribe!

Are you ready for new challenges and new opportunities?

Join our team!

Current job opportunities are posted here as they become available.

Subscribe to our RSS feeds to receive instant updates as new positions become available.

Location: Canada - Remote (EST/CST Business Hours)

We are seeking a Software Engineer who is ready to play a crucial role in designing, planning, and executing our product modernization plans, going from a monolithic desktop application to a SaaS-based cloud-native architecture leveraging microservices and hosted in AWS.

A Software Engineer is expected to work closely with Product Management, Architecture and their team to translate overall system architecture and product requirements into well-designed and implemented software components. You will take ownership of the implementation of individual software components, with high emphasis on quality, test-driven development, behavior-driven development, sound software engineering practices, and operational excellence. You will act as an individual contributor while closely collaborating with the software engineering team and provide technical solutions, coaching, and mentoring to the rest of the team.

ECI’s home and building supply software suite Spruce is a fully integrated business management solution for small to medium sized businesses. It streamlines operations and drives growth. The software is cloud-based and completely integrated, from purchasing through to delivery.

What you’ll do
  • Aspire and actively work towards becoming a high-performing engineer.
  • Design and develop high quality features which delight our customers.
  • Support and promote the practices and culture needed to transform our organization to a successful DevOps “you build it, you run it” organization.
  • Perform on-call duties for all modernized components, user interfaces, or services that your team owns.
  • Be a champion and example for quality, engineering, and operational excellence.
  • Plan and deliver the technical evolution of our products to cloud-native SaaS products and services.
  • Improve the design of legacy applications to improve testability, maintainability and enable modernization.
  • Support and promote a Generative organizational culture.
  • Participate in planning complex initiatives by breaking them into manageable chunks.
  • Participate in test-first development t(BDD/TDD) activities.
  • Implement automated testing of software capabilities, including unit, integration, component, system (E2E), regression, compatibility, performance tests, resiliency tests, etc.
  • Collaborate effectively with Engineering leadership, Architects, UX Designers, Product Managers, SDETs, SREs, and other Software Engineers.
  • Work within a small, agile team leveraging Scrum / Kanban.
  • Refactor code, as needed, to improve testability.
  • Document key technical decisions, code design specifications and test outcomes.
  • Participate actively in code reviews and contribute to technical discussions.
  • Effectively communicate technical challenges and help resolve them.
  • Continuous learning within an evolving set of tools, technologies and practices.
Skills or experience you need
  • Bachelor’s degree in Computer Information Systems, Computer Science, or related field of study.
  • 2+ years software engineering experience with distributed applications in production environments and automated testing hands on experience.
  • 2+ years of experience designing/developing/maintaining SaaS products in public cloud environments.
  • 2+ years of recent experience with .Net or .Net Core (C#).
  • Experience with Python, Bash, PowerShell, GO or equivalent
  • Experience with Cl/CD pipelines using tools such as GitHub, Azure DevOps, Jenkins, Nunit/XUnit, Selenium/Appium, Specflow/Cucumber/ReqnRoll, etc.
  • Proficient in design patterns and modern software design principles (e.g. SOLID, Twelve Factor, etc.).
  • Familiarity with micro-services architecture, RESTful APIs and defining test automation strategies for Services.
  • Prior experience with modern monitoring solutions (e.g. DataDog, Dynatrace, AppDynamics, Splunk, Prometheus, Grafana, Open Telemetry)
  • Experience with popular IaC languages (Terraform/HCL, CloudFormation, etc.)
  • Hands-on experience with TSQL and NoSQL Data stores.
  • Thorough understanding of AWS infrastructure and services including but not limited to EKS, ECS, EC2, EBS, S3, CloudWatch, Cloud Trail, API Gateway, ALB, Route 53, Transit Gateway, IAM, AWS Config, etc.
  • Proficient with Infrastructure as Code, Configuration as Code, GitOps, Continuous Integration, Delivery and Deployment (CI/CD) practices and tools (Azure DevOps, GitHub, Jenkins, Atlantis, Ansible, Packer, CloudFormation/Terraform, etc.).
Skills that will set you apart
  • AWS – Developer or Solutions Architect Certification
  • Thorough understanding of AWS infrastructure and services
  • Hands-on experience with any of the following:
    • Blazor and Webassembly.
    • Azure Dev Ops
    • Observability Platforms like CoraLogix.
    • Building, orchestrating, and managing containerized workloads (AWS ECS/EKS, Docker, etc.)
    • Cross-platform mobile development frameworks (e.g. Blazor, Xamarin, etc.)
    • Payment platforms and devices
    • Decomposing a large, monolithic codebase into a modular and well-designed solution.
  • Familiarity with compliance frameworks (SOCII, PCI, etc.)
  • Experience with test-driven (TDD) and behavior-driven (BDD) development techniques.
  • A sense of urgency and a strong bias for action.
  • Strong communication skills and a natural inclination to collaborate.
  • Strong problem solving skills and technical acumen
  • Exhibits sound judgement and can make wise decisions despite ambiguity.
  • Identifies and resolves root causes rather than only treating symptoms.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.