We are seeking a Senior Engineer to join our team and contribute to the design and delivery of features within a large, long-standing .NET product. In this role, you will collaborate with fellow senior developers to take projects from initial briefs through to screens, application code, database modifications, and query optimization, ensuring timely delivery. You will have ownership of how features function, build them, and maintain responsibility for their performance in production. Leveraging AI tools like Cursor and Claude is integral to our development process, and every change merged is fully owned by its author.
Key Responsibilities
- Own feature development end-to-end, including interaction design, screen creation, business logic, data modeling, and query optimization to meet daily user needs.
- Write and maintain production-quality C# code, preserving existing behavior, aligning with current architecture, and improving code quality.
- Develop the integration between the .NET host and embedded web screens, managing communication between C# and JavaScript to ensure UI consistency.
- Design and implement database components for your features, including table and index creation, safe migration scripts, and query tuning to handle real data volumes effectively.
- Create and maintain operational reports and exports, such as grids, formatted documents, and spreadsheets.
- Support background processing tasks and manage releases across live customer environments.
- Utilize AI coding tools to accelerate development while carefully reviewing every code change to ensure quality and explainability.
- Introduce AI features thoughtfully, ensuring clear data boundaries and protecting customer and personal data from exposure in prompts, logs, or third-party services.
- Provide accurate estimates based on code review and prioritize work to deliver usable increments early. Communicate risks promptly, adjust scope when necessary, and still meet user requirements.
Required Qualifications
- Strong, current production experience with C# and .NET, including object-oriented design and writing maintainable code for senior developer teams.
- Proven problem-solving skills, capable of interpreting vague briefs, identifying constraints in code and data, and delivering functional solutions.
- Proficiency in frontend technologies such as HTML, CSS, and JavaScript sufficient to design and build embedded screens that are responsive and consistent with the .NET interface.
- Solid backend development experience using C# for business logic, data access, and hosting embedded web screens.
- Expertise in SQL Server, including schema and index design, query tuning, execution plan analysis, and writing safe migration scripts.
- Practical knowledge of Azure services relevant to .NET applications, with strong security practices to keep secrets and sensitive data out of code, logs, and AI prompts.
- Daily use of GitLab for branching, merge requests, and code reviews.
- Excellent communication skills to clearly explain designs, risks, and timelines both in writing and verbally, enabling timely team action.
Preferred Qualifications and Benefits
- Experience working on large Windows Forms applications and modernizing legacy .NET applications by integrating web screens alongside existing interfaces.
- Ability to analyze poor execution plans, add appropriate indexes, and rewrite report queries without altering results.
- Familiarity with AI-assisted coding tools, with disciplined review processes to ensure generated code aligns with product standards.
- A track record of delivering complete releases, including handling regressions, data fixes, and final user requirements before launch.
- Strong security awareness, ensuring credentials and sensitive data are handled according to best practices and regulations.
- Advantageous but not required: background in education, training, or student-information systems; experience with reporting, document generation, messaging, or file storage in .NET; performance tuning for large reporting databases and background jobs; and experience with automated testing for pure logic components.
How We Work
You will join a team of senior developers with significant autonomy over design and implementation decisions within your domain. New development follows established product patterns, while legacy areas receive incremental improvements. We prioritize early communication of risks and prefer scope adjustments over missed deadlines.
What You Get
Ownership of impactful features in a product with a real user base and long-term value. Collaboration with experienced senior colleagues for design, review, and learning. Access to modern AI-assisted development tools integrated into daily workflows.