We are looking for a Lead .NET Engineer who can become a part of our enthusiastic team and contribute new ideas to product development. Our client is a leading digital health company delivering a range of evidence-based digital psychological therapy programs to those affected by mental health-related issues. It is a friendly, driven, and ambitious company that blends science, therapy, and creativity, and provides great variety and challenge in a collaborative environment. Reaching more people and treating more patients is central to their vision. In order to help achieve this, we need great minds with a drive to succeed and a willingness to think outside the norm and try new things.
Our team uses cutting-edge technology and data science to make best-in-class mental health treatment available to everyone, anywhere, and at times convenient to each of our patients.
Tech stack: C#, .NET Core 3.x, Functions, Azure Services, Event Grid, DevOps pipelines, MS SQL Server & CosmosDB, React
Description of the role
- Work with Design, Product and Engineering teams to define technical solutions to product challenges in an outcome-focused approach
- Design and document new services
- Identify and develop system-wide improvements in security, performance and efficiency
- Coach and mentor members of the team
- Implement, document and improve standards and practices that drive outstanding software development across the team
- Make tactical and strategic technical decisions
- Take responsibility for all aspects of software engineering, from design to implementation, QA and maintenance
- Amplify your impact by proactively sharing your knowledge and experience levelling-up others
Responsibilities
- Designs solutions to high complexity problems, with high-availability and high-reliability in mind
- You have a deep understanding of the landscape of our codebases, components, and services
- You are up to date with the landscape of technologies and techniques and able to evaluate their impact on the organization and its products and services
- Typically at least 6 years of experience as a professional programmer in the specific domain
- You have a mastery of your primary languages and frameworks
- You will be the primary driver of resolving production issues, holding post-mortems, and owning long-term fixes
- Shapes broad architecture; ships multiple large services, complex libraries or major pieces of infrastructure
- Produces documentation to a very high standard
- Exhibits a deep understanding of our products, how customers use them, and how they fit into the larger business
- Takes on initiatives that address performance issues and work with the QA team on initiatives that would simplify life for our developers and contributors
- Has a deep understanding of the importance of non-functional aspects of software engineering
- Provides guidance to others regarding how to properly address security issues and vulnerabilities.
Approach and Impact
- Understands the business and makes decisions based on its direction
- Actively addresses cross-team challenges related to customers, quality and security
- Continually works with others across the organisation to help team members grow their understanding of their team’s domain and technology stack
- Maintains consistently high standards in technical work
- You will own large components, systems, or projects, coordinating and communicating with teams and leads across the organisation
- You play a key role in hiring and promoting the organisation as an employer
- You understand and drive techniques for improving engineering productivity
- You are actively pushing back on over-engineered solutions. Conversely, you are advocating for improving under-implemented solutions
- You will instigate design discussions and facilitate engineering-wide learning
- A record of creating sweeping improvements in stability, performance, and scalability across major business-critical systems
- Able to take on complex requirements and decompose them into a proposal of small deliverables
- Makes sound judgements about when to diverge from the immediate goal to achieve something important
Communication and Leadership
- Communicates maturely, professionally, clearly and effectively when working with others
- Can explain our application architecture, infrastructure, and codebase to others
- Sought out by colleagues across the business for technical guidance
- Sought out for technical guidance; anticipates technical issues at the product level and makes architectural and design decisions to avoid them
- You are actively seeking out opportunities to teach and mentor fellow team members
- You are a picture of responsibility and accountability
- Listens and guides debates to help reach a consensus; once a decision is made, clearly communicates and backs that decision
- Helps set and maintain professional standards for the entire organisation
- You will represent engineering across the organisation
- Amplifies the effectiveness of others by facilitating cross-team work
- Leads incident resolutions
- Makes sound decisions on appropriately facilitated & managed delegation tasks
- Represents ieso at conferences/events
Requirements
Essential:
- Considerable experience of developing stable, performant, accessible cloud-native applications
- Significant working experience with C#, .NET and common data-stores (e.g. MS SQL, CosmosDB)
- Significant working experience with commercial Service-oriented architecture (SOA)
- Practical understanding of industry standard development principles and practices (SOLID, CI/CD, unit testing, secure development (OWASP) etc.)
- A UX design-led sympathetic approach to developing applications
- Systems thinking
- User or developer experience mindset (UX / DX)
- Comfort and experience working in cross-functional teams in fast-paced environments
- At least ten years’ experience of commercial software development
- Willingness and ability to take on new technologies
- Strong analytical skills and desire to write clean, testable and efficient code
- Ability to break down complex problems into simple solutions
- Demonstrated ability to influence technical direction through verbal and written communication skills
- Sense of ownership, urgency and pride in your work
Desired:
- Line management experience of a small number of software engineers
- Working experience of UK and US healthcare systems
- Experience or knowledge of UK or US regulations in the Healthcare sector
We offer:
- Flexible working format - remote, office-based or flexible
- A competitive salary and good compensation package
- Personalized career growth
- Professional development tools (mentorship program, tech talks and trainings, centers of excellence, and more)
- Active tech communities with regular knowledge sharing
- Education reimbursement
- Memorable anniversary presents
- Corporate events and team buildings
- Other location-specific benefits