Job Title: Senior Software Engineer Reporting to: Lead Engineer Role Purpose: As a Senior Software Engineer, you will enhance and support both new and existing products within the Software Engineering group. In addition to contributing to feature development, you will play a role in shaping the technology and process strategies, and occasionally lead innovation or software design initiatives. Key Responsibilities: Develop new features with a strong focus on high-quality code. Conduct peer code reviews to ensure quality and adherence to best practices. Participate in daily stand-ups, change analysis sessions, and technical presentations. Provide guidance on tool and environment adoption where necessary. Continuously develop knowledge of the business domain and gain a deeper understanding of the organization's objectives. Work closely with tech leads, engineers, testers, and other personnel to deliver high-quality products. Take ownership of initiatives related to innovation or addressing technical debt. Design, document, and communicate system solutions with a balanced focus on time, quality, cost, and performance. Collaborate with colleagues across the organization to gain buy-in and feedback on proposals and designs. Required Knowledge & Experience: Essential: Strong proficiency in C# at a commercial level. Solid experience with .NET Core and related open-source technologies. Knowledge of Object Orientation, SOA, and relevant design patterns. Experience with modern software development practices, including agile methodologies, version control, code reviews, and continuous integration. Understanding of concurrency, asynchrony, and parallelism. Experience with Test Driven Development (TDD), unit testing frameworks, mocking frameworks, and patterns for testability. Proficiency in relational database concepts, Microsoft SQL Server, and SQL. Familiarity with front-end technologies such as HTML, CSS, and JavaScript. Experience in Web API design and implementation. Desirable: Commercial experience with Typescript. Experience with containerization (e.g., Docker) and container orchestration (e.g., Kubernetes). Experience in SPAs and responsive web development, particularly with Angular. Familiarity with enterprise messaging systems (e.g., NServiceBus, Azure Service Bus)