About The Position

The Senior Software Engineer is a key technical contributor and team leader who designs, builds, and maintains applications across the full stack—including .NET/C# applications, and our data services platform. Working on an Agile team, the Senior Software Engineer consistently delivers well-engineered, maintainable, and tested solutions on time, while championing user-centered design, sound architecture, and engineering best practices.

Requirements

  • 8+ years in software engineering or a related field
  • 5+ years with dynamic and/or compiled languages
  • 5+ years in front-end web development
  • Strong understanding of distributed messaging — Azure Service Bus or similar, queue-based workers, idempotency, retry and dead-letter strategies.
  • Demonstrated experience mentoring engineers, leading code reviews, contributing to architectural decisions, and working with APIs from concept to completion.
  • Strong portfolio including mobile web, desktop, and app experiences; comfortable working on multiple teams and projects simultaneously.
  • Proficient in C#, .NET, MVC, jQuery, HTML, CSS, AJAX, JavaScript, XML, and PHP.
  • Very strong proficiency with relational databases, including modeling and performance optimization (MySQL, PostgreSQL, Aurora); familiarity with SQL Server preferred.
  • ORM’s (Dapper, EF Core)
  • Familiarity with SaaS models and cloud services, preferably AWS; Microsoft Azure a plus.
  • Functional expertise with browser debugging tools and clean, maintainable coding practices.
  • Believer in Lean and Agile values; strong understanding of user-centered design.
  • Strong communication, adaptability, attention to detail, and a collaborative mindset; comfortable with remote and in-office engineering teams.
  • Detail-oriented, self-motivated, and willing to learn new technologies.

Responsibilities

  • Develop features for the compliance management platform on an Agile team, consistently delivering well-engineered, maintainable, and tested solutions within agreed-upon timeframes.
  • Build and maintain efficient, reusable code across the stack: message handlers, ASP.NET Core APIs, SQL Server stored procedures and migrations, and Blazor UI.
  • Support critical business logic across a suite of robust services and scalable data processing jobs.
  • Diagnose production issues in distributed systems: trace requests across services, reason about dependency injection lifetimes in long-running hosted processes, understand retry and dead-letter behavior.
  • Practice and promote Test-Driven Development (TDD), participate in sprint planning and code reviews, and adapt to new languages, tools, and frameworks as needed.
  • Lead architectural discussions for mid-to-large systems, designing modular, extensible, well documented components that scale and minimize rework.
  • Apply UI principles, cross-browser compatibility, and web standards; advocate for security, reliability, and operational excellence, including e-commerce security principles and current website security patches.
  • Model business problems in C#. Clean domain types, well-chosen abstractions, code that reads like intent rather than plumbing. Strong object-oriented design instincts. SOLID is a starting point, not a religion. You know when to compose, when to inherit, when to keep things procedural.
  • Solid understanding of dependency injection, including lifetimes, scope boundaries, captive dependencies, how DI behaves across long-running hosted services.
  • Integrate with external services and SDKs as the business needs them. Ex. Azure Storage, Key Vault, Microsoft Graph, third-party APIs.
  • Champion user-centered design processes that address real user needs.
  • Build and maintain scalable, reusable Razor/MVC components, layouts, and forms.
  • Develop site architecture and wireframes; optimize SEO and functionality to meet web standards and major-browser compatibility.
  • Analyze, test, and troubleshoot website performance and coding issues; stay current on web technologies, browsers, and mobile platforms.
  • Perform detailed code reviews to uphold engineering standards and grow peers through constructive feedback; champion consistent coding standards and maintainability.
  • Mentor and guide other software engineers through coaching, pairing, and knowledge sharing; take ownership of team delivery quality and unblock teammates.
  • Lead by example in resilience, collaboration, and a growth mindset, and contribute to peer evaluations and growth planning.
  • Collaborate with the product team, designers, QA, and stakeholders to understand business requirements and to scope, estimate, and deliver features.
  • Communicate user needs through storytelling and data, demonstrating how proposed designs solve those needs for internal teams and senior partners.
  • Work comfortably across multiple teams and projects, including remote and local collaboration.
  • Identify inefficiencies and lead small to mid-sized engineering efforts (e.g., migrations, tech debt cleanup, platform upgrades); contribute to hiring, onboarding, and engineering culture.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service