Senior Software Engineer

SGS
ON, Canada
$107K-$110K a year (estimated)
Full-time

Job Description

The Senior Software Engineer is responsible for the design, delivery, and improvement of complex in-house software applications in a variety of languages (primarily C# and some JavaScript), including integration with Microsoft platforms.

Performs coding, debugging, testing, and troubleshooting throughout the software development life cycle.

  • Leads development projects to provide new or enhanced functionality for internal and external customers external customers.
  • Designs, codes, tests and documents new systems or enhancements to existing systems and prepares the appropriate documentation.
  • Applies the principles of software engineering to the design (SOLID principles), development, maintenance, testing, and evaluation of computer software.
  • Executes full software development life cycle (SDLC).
  • Develops flowcharts, layouts, and documentation to identify requirements and solutions.
  • Writes well-designed, testable code.
  • Provides implementation and post-implementation triage and support of business software solutions by programming and / or configuring enhancements to new or packaged-based systems and applications.
  • Produces specifications and determines operational feasibility.
  • Integrates software components into a fully functional software system.
  • Develops software verification plans and quality assurance procedures.
  • Oversees development of test data, system testing, and documentation for all phases of the software development life cycle.
  • Performs quality assurance on applicable functionality.
  • Documents and maintains software functionality. Reviews and makes changes to technical specifications and documentation.
  • Troubleshoots, debugs, and upgrades existing systems.
  • Deploys programs and evaluates user feedback.
  • Ensures software is updated with latest features.
  • May oversee the training of users in operating procedures for application.
  • Complies with project plans and industry standards.
  • Adheres to internal standards, policies, and procedures.
  • Performs other duties as assigned.
  • May assume a team lead role for the work group and may lead projects.

Qualifications

  • Bachelor's degree in Information Technology, Computer Science, Computer Engineering, or related discipline
  • 7+ years of experience, including 3+ years’ experience as a senior software engineer
  • 3-5 years of experience with web technologies (including HTML, JavaScript, CSS, Single Page Frameworks)
  • 3-5 years of experience with design, maintenance, and development with SQL / relational databases
  • 3-5 years of experience building web applications, back-end services, and APIs in ASP.NET
  • Expertise in at least one compiled language (Java, C, C#, etc.)
  • Expertise in at least one interpreted language (JavaScript, Python, PowerShell, etc.)
  • Solid understanding of software engineering principles, frameworks, and technologies
  • Data warehousing experience
  • Predictive analytics experience OR equivalent combination of education and experience
  • Experience creating automated scripts and software
  • Prior experience directly gathering and analyzing end user requirements is a plus

Licenses & Certifications (One or Multiple)

  • IT Architect Certification
  • The Open Group Architecture Framework (TOGAF)
  • Certified Technical Architect (CTA)
  • Microsoft Certified Solutions Developer (MCSD)
  • Certified Application Developer
  • Oracle Application Express Developer Certified Expert (Oracle APEX)
  • Oracle Certified Professional (OCP)
  • Project Management professional (PMP) certification

Knowledge, Skills & Abilities

Software development, specifically using one or more of the following Microsoft .NET 8.0 development tools : C#, Service Development (REST, gRPC etc.

ASP.NET WebForms / MVC, Entity Framework, DAPR, TPL, LINQ, Transact SQL, Angular JS, React JS, .NET MAUI

  • Software development in a team environment using Azure DevOps
  • Internal / external client support
  • Troubleshoot problems and solving bugs
  • Software design patterns
  • Data encapsulation
  • Object Oriented Design
  • Functional programming
  • Unit Testing
  • Interconnect hardware and software (e.g. PLC’s, using actuators and scales)
  • Data structures and operating systems internals
  • Unix and Windows operating systems

Travel

Occasional travel required (5-33%)

Additional Information

SGS Canada is an equal opportunity employer, and we are committed to achieving greater accessibility by providing accommodation for people with disabilities during our hiring process.

Accommodations are available on request for qualified candidates during each stage of the recruitment process.

Please note that candidates applying for Canadian job openings should be authorized to work in Canada.

21 days ago
Related jobs
Promoted
Capgemini Engineering
Toronto, Ontario

Job Description:The role of Network Specialist requires knowledge and experience in network analytics, network automation, software defined network design for the LAN, WAN, Data Center, and Cloud!Key Responsibilities:. Will design, configure, and use advanced software defined networking techno. ...

Promoted
AutoSync
Greater Toronto Area, Ontario

We are looking for a Senior Software Engineer for the largest automotive product suite in Canada. Strong understanding of software architecture and design patterns. ...

Humanetics
Canada

Senior Software Engineer (Full Stack). As a Full Stack Software Engineer, you’ll be working as part of a scrum team to build cloud micro-services that are resilient, fault-tolerant and performant, while working with other teams to determine how the features and functionality that you add can make ou...

Leica Geosystems
Canada

Senior C++ Software Engineer, Geomatics. ...

Affirm, Inc.
Canada
Remote

We are looking for a Senior Staff Software Engineer to lead impactful projects and initiatives on the Fraud team within the Trust and Safety Department. Effectively communicate with engineering and non-engineering stakeholders to create a common understanding and enable effective decision-making. Le...

Lyft
Toronto, Ontario

Our Infrastructure team is passionate about building software to solve problems at massive scale. As a Infrastructure Engineer at Lyft, you will run our Production Infrastructure by monitoring system availability and take a holistic view of our platform health. You will build software and platforms ...

Roche
Ontario, Ontario, Canada

As a Senior Backend Software Engineer, you are joining a passionate software engineering team to build sequencing products to change patients’ lives. Our software teams are laying the groundwork for the future by developing powerful bioinformatics algorithms, data analysis tools, and software/system...

Okta, Inc.
Canada

Senior Software Engineer (Front-end) - Federated Authentication. We are looking for a software engineer to join the Federated Authentication team. You will share our passion and great pride in elegant solutions and will join an engineering team that strongly believes in designing for scale, rigorous...

Ring
Toronto, Ontario

Ring is looking for a Senior Software Development Engineer to join and help grow the Ring Authentication Services team. Provide technical expertise and leadership throughout product life cycles, influence software engineers best practices for your team and own operational excellence of large scale p...

Raise
Oakville, Ontario

Senior Software Engineer (C#/C++/Java). You are a seasoned Software Engineer with a proven track record of technical experience for various projects at the bleeding edge of technology development and helping solve the toughest problems that meet customer needs. Now, they are expending their team and...