Take a free self-guided product tour to see our solutions in action Take a tour

Senior Software Developer

Role Summary

As an experienced Senior Software Developer, you will play a key role in the design, development and delivery of Notify’s product suite – a multi-tenant SaaS platform used by organisations worldwide to manage health, safety and compliance.

This is a hands-on technical role spanning the full stack: a .NET 8.0 / C# backend, an Angular front-end, and React Native mobile applications. You will work closely with product, design and engineering colleagues to ship high-quality features, improve platform reliability, and contribute to the technical direction of the product.

We expect our engineers to be AI-first in their approach – actively using AI coding tools (such as GitHub Copilot, Claude Code, or similar) to accelerate development, improve code quality, and explore solutions faster. This isn’t about replacing engineering judgment; it’s about amplifying it. We’re looking for someone who sees AI as a core part of their workflow, not an optional add-on.

Beyond writing code, we are looking for someone who brings energy and ideas to the team – someone who naturally mentors colleagues, challenges the status quo constructively, and cares about the end-user experience. A flair for design and UX thinking will set you apart.

Job Purpose

To design, develop, test and maintain features across Notify’s web and mobile applications, ensuring high standards of code quality, performance, security and user experience. You will contribute across the full software development lifecycle and help raise the technical bar across the team.

Key Responsibilities

1) Full-Stack Development

  • Design and implement features across the full stack: .NET 8.0 / C# APIs, Angular front-end, and Microsoft SQL Server database.
  • Write clean, maintainable, well-tested code that follows established architectural patterns (Repository + Unit of Work, manager/helper pattern, claims-based authorisation).
  • Work with Entity Framework Core for data access, including writing and reviewing migrations.
  • Build responsive, accessible front-end interfaces using Angular, TypeScript, Bootstrap and Angular Material.
  • Contribute to API design and ensure RESTful endpoints are consistent, secure and well-documented.

2) AI-Augmented Development

  • Use AI coding assistants and agentic workflows as a core part of your daily workflow – for code generation, refactoring, test writing, code review preparation, and debugging.
  • Apply strong engineering judgment to AI-generated output: reviewing, verifying, and ensuring it meets the team’s quality, security, and architectural standards.
  • Help establish and evolve the team’s AI-first development practices – identifying which tools work, where guardrails are needed, and how to get the best results.
  • Contribute to prompt engineering and context-setting practices that improve AI tool effectiveness across the codebase.
  • Stay current with the rapidly evolving AI tooling landscape and share learnings with the team.

3) Mobile Development

  • Contribute to Notify’s React Native mobile applications (iOS and Android), built with TypeScript, Redux Toolkit and Realm.
  • Work within the existing monorepo structure, maintaining shared code across apps.
  • Ensure mobile features maintain offline-first capabilities and perform well on a range of devices.

4) Quality & Testing

  • Write unit, integration and where appropriate, end-to-end tests to validate your work.
  • Leverage AI tools to increase test coverage and scenario breadth, while applying human judgment to ensure tests are meaningful and not just passing CI checks.
  • Develop a critical eye for AI-generated code – understanding common failure patterns, hallucinations, and edge cases that AI tools tend to miss.
  • Participate in code reviews – both giving and receiving constructive feedback.
  • Proactively identify and address technical debt, performance bottlenecks and potential security vulnerabilities.
  • Ensure your work meets the quality standards and acceptance criteria agreed by the team.

5) Collaboration & Mentoring

  • Work closely with the Head of Product, product owners and designers to understand requirements and translate them into well-considered technical solutions.
  • Mentor and support junior and mid-level developers – sharing knowledge, helping unblock colleagues, and raising standards through example.
  • Contribute to sprint ceremonies, technical discussions, architecture decisions and retrospectives.
  • Communicate clearly and proactively, keeping stakeholders informed of progress, risks and trade-offs.

6) User Experience & Design Thinking

  • Champion a user-first mindset in technical decisions – considering usability, accessibility and design quality alongside functional requirements.
  • Help refine UI/UX, offering practical input on what can be built efficiently without compromising the user experience.
  • Identify opportunities to improve the look, feel and usability of existing features.

7) Continuous Improvement

  • Stay current with relevant technologies and frameworks across the .NET, Angular and React Native ecosystems.
  • Explore and evaluate emerging AI development tools and practices, helping the team adopt those that genuinely improve productivity and quality.
  • Identify and propose improvements to development processes, tooling and architecture.
  • Contribute to internal documentation, coding standards and best practices.

Key Deliverables / Success Measures

Within the role, success will typically include:

  • Consistent delivery of high-quality features across web and mobile, on time and to specification
  • Measurable improvement in code quality, test coverage and platform reliability in areas you work on
  • Demonstrable adoption of AI tools in your workflow, contributing to improvements in development velocity and code quality
  • Positive feedback from colleagues on mentoring, collaboration and knowledge sharing
  • Proactive identification and resolution of technical debt and UX improvements
  • Effective contribution to sprint planning, estimation and technical decision-making

Knowledge, Skills, Experience & Behaviours

Your Qualifications

  • Bachelor’s degree in Computer Science, Software Engineering or a related field (or equivalent demonstrable experience).

Essential Skills & Experience

  • Minimum 5 years’ professional experience as a software developer, with demonstrable full-stack capability.
  • C# / .NET: Strong proficiency in C# / .NET (ideally .NET 6+), including ASP.NET Core Web APIs.
  • Strong proficiency in Angular version 15+ (preferably 16-18) and TypeScript.
  • Solid experience with SQL Server and Entity Framework Core (or a comparable ORM).
  • Experience building and consuming RESTful APIs.
  • Active use of, or strong demonstrated enthusiasm for, AI coding tools (e.g. GitHub Copilot, Cursor, Claude Code, or similar) as part of your development workflow.
  • Ability to critically evaluate AI-generated code for correctness, security, performance, and adherence to architectural patterns.
  • Familiarity with Git-based source control workflows (branching, pull requests, code review).
  • Experience writing unit and integration tests (e.g. MSTest, xUnit, Jasmine, Jest or similar).
  • Good understanding of software design principles.
  • Strong communication skills – able to explain technical concepts clearly to both technical and non-technical colleagues.
  • A collaborative, team-oriented approach with a genuine interest in mentoring others.

Desirable Skills & Experience

  • Experience with React Native mobile development (iOS and Android).
  • Experience integrating AI/LLM capabilities into product features (e.g. using OpenAI, Anthropic, or similar APIs).
  • Familiarity with concepts such as RAG, embeddings, prompt engineering, or AI agent orchestration.
  • Experience with AI-assisted code review, automated test generation, or AI-driven development workflows.
  • Experience with AWS services (S3, CloudWatch, SNS, Secrets Manager or similar).
  • A genuine interest in UI/UX design – an eye for detail, layout, typography and usability.
  • Experience working in a multi-tenant SaaS environment.
  • Experience with CI/CD pipelines and automated deployment processes.
  • Exposure to agile/Scrum methodologies in a product development setting.
  • Experience with internationalisation (i18n) in web or mobile applications.

Behaviours

  • Energetic and motivated – brings enthusiasm and a positive attitude that lifts the team.
  • User-focused – naturally thinks about the end user when making technical decisions.
  • AI-first mindset – instinctively reaches for AI tools to accelerate work but maintains the engineering judgment to know when human expertise is essential. Curious about new tools and willing to experiment.
  • Proactive – spots problems and opportunities without waiting to be asked.
  • Collaborative – works effectively across disciplines (product, design, QA, engineering).
  • High standards – takes pride in the quality of their work and encourages the same in others.
  • Adaptable – comfortable working across the full stack and switching context between web and mobile.

Professional Development

You have a duty to continually develop your skills and expertise. Notify will invest in training, and you are expected to be proactive in identifying learning needs – particularly as the platform and technology landscape evolve.
The AI tooling landscape is evolving rapidly – we expect you to actively experiment with new tools and share what works with the team.

Your behaviours: all Notifiers are expected to display

Courage to think for themselves and make decisions based on available information

We all commit to making decisions based on data, and we have the courage to accept that we’ll still get some decisions wrong some of the time – that’s life!

Support other members of the team, and our clients

Our clients are helping keep people safe, they are often unsung heroes. Our first loyalty is to them and to each other because we share a common goal.

Constructive dissatisfaction

Every time a job is ‘done’ we’ll stand back and ask: ‘could we do it a bit better next time?’. We produce great work, but we’re humble enough to go looking for the next improvement. We celebrate success but seek more.

Continuous personal development

None of us think we’re the finished article. We have a lifelong love of learning. We read books, watch TED talks, attend conferences and generally enjoy finding out about things we didn’t know.

Apply