Job Openings Full-Stack Software Engineer

About the job Full-Stack Software Engineer

Summary of Duties & Responsibilities

We're looking for several Senior Software Engineers to lead the design, development, testing and maintenance of software products that support the needs of architecture, engineering, and consulting (AEC) firms. 

You will collaborate with cross-functional teams to implement core product features, troubleshoot issues, and optimize application performance. 

This role requires advanced to expert level programming and problem-solving skills, along with a passion for learning new technologies in a dynamic, team-oriented environment. 

You are also expected to leverage AI-powered development tools to work more efficiently and to help the team explore new ways of applying AI within our products and engineering practices.

What You'll Do

As a Senior Software Engineer, you will:

  • Write, test, debug and optimize code that meets business requirements and conforms to established patterns and practices.
  • Author unit tests that adhere to code coverage guidelines.
  • Participate in Agile ceremonies including daily stand-ups, sprint planning, retrospectives and product demonstrations.
  • Contribute and enforce software engineering design and development standards.
  • Proactively solicit feedback from peers while mentoring and coaching other engineers.
  • Proactively communicate progress, issues, and risks to stakeholders.
  • Accurately estimate assignments.
  • Create and maintain technical documentation.
  • Leverage AI-powered development tools, such as coding assistants and code generation tools, to accelerate delivery and improve code quality, while critically reviewing and validating AI-generated output.

What We're Looking For

We're seeking someone with:

Technical Proficiency

Mandatory Skills

  • Advanced experience with programming languages such as C# and T-SQL.
  • Advanced knowledge of back-end development frameworks such as ASP.NET Core.
  • Advanced experience with databases (SQL, NoSQL) and version control tools like Git.
  • Advanced experience with APIs, Web APIs, Web Applications.
  • Advanced experience with Frameworks such as .NET Framework and .NET Core.
  • Exposure to cloud platforms (Azure) and Agile development methodologies. Azure products and tools that are relevant for our client are: Azure SQL, Azure Functions, Azure Service Bus, Azure API Management.
  • Familiarity with AI-assisted development tools (such as GitHub Copilot, Claude or similar coding assistants) and a working understanding of how to apply AI capabilities responsibly and effectively within the software development lifecycle.

Nice to Have Skills (Candidates Should Have at Least One or Two)

  • Advanced knowledge of JavaScript.
  • Advanced knowledge of front-end frameworks such as Blazor.
  • Advanced experience with style sheet languages such as CSS/SASS, unit testing concepts such as test fixtures, mocks and frameworks such as Karma, JUnit, Mocha, Jasmine or Cypress.
  • Experience with enterprise reporting systems, such as Microsoft's SQL Server Reporting Services or Power BI Report Server.

Passionate and Driven

  • Demonstrates a strong passion for software engineering, with a self-motivated and proactive approach to learning and growth. Continuously seeks to expand knowledge, improve skills, and stay up to date with emerging technologies. Learns and applies techniques that drive the creation of elegant, easy to maintain code.

AI-Fluent & Adaptive

  • Comfortable integrating AI-powered tools and coding assistants into everyday engineering work to boost productivity and quality. Understands the practical capabilities and limitations of AI, applies sound judgment when reviewing AI-generated code, and stays current with emerging AI tools and best practices relevant to software development.

Analytical Thinker & Problem-Solver

  • Possesses strong analytical skills with a natural ability to break down complex problems, identify patterns, and develop effective solutions in a logical and efficient manner. Demonstrates exceptional analytical and critical thinking skills

Strong Communicator & Team Player

  • Effectively articulates ideas, actively listens, and collaborates with cross-functional teams to deliver high-quality solutions. Thrives in a team-oriented environment, contributing to discussions, problem-solving, and knowledge sharing.

Technical Leadership & Mentorship

  • Leads by example, providing technical guidance, mentorship, and support to other engineers. Proactively drives best practices, code quality, and process improvements while fostering a collaborative and high-performing team environment.

Commitment to Continuous Improvement

  • Proactively identifies opportunities to enhance software performance, scalability, and reliability. Implements best practices, refines processes, aligns with policies, and optimizes systems to drive innovation, efficiency, and an improved experience for engineers.

Proactive Time Management

  • Effectively manages time, prioritizes tasks, and adheres to team, department and company-mandated deadlines. Takes ownership of responsibilities, maintains an organized calendar, and completes tasks proactively without the need for reminders.