Senior Software Engineer
Role details
Job location
Tech stack
Job description
You'll play a key role, using your expertise to drive innovation and excellence across all aspects of software development. In addition to spearheading the design, development, and maintenance of sophisticated software solutions, you will take a lead role in mentorship, software design and architecture, and championing secure software development practices throughout the software development lifecycle. Drawing from your wealth of experience with multiple programming languages, advanced software development methodologies, and industry best practices, you will serve as a beacon of knowledge and inspiration, guiding and mentoring both seasoned and junior team members to unlock their full potential. Your strategic and technical guidance will help shape our software design decisions, ensuring scalability, reliability, and maintainability at every stage. Your influence will extend beyond individual projects as you champion software development best practices throughout the organisation., * Participate in and aid in the facilitation of Agile ceremonies, providing expert guidance and mentorship to ensure seamless execution of sprint planning, daily stand-ups, sprint reviews, and retrospectives.
- Drive cross-functional collaboration, leveraging your extensive experience to align and inspire product owners, designers, testers, and developers towards shared goals and objectives.
- Architect and deliver innovative solutions using a mastery of software design principles and patterns to address complex business challenges.
- Lead the design and implementation of transformative software features, driving architectural discussions and providing strategic direction to ensure scalability, maintainability, and alignment with organisational objectives.
- Define and implement comprehensive unit testing strategies and frameworks, emphasising code reliability, test coverage, and industry best practices, while mentoring team members in testing methodologies and quality assurance.
- Serve as a subject matter expert in diagnosing and resolving intricate technical issues, leveraging advanced debugging and troubleshooting techniques to uphold system integrity and optimise performance.
- Drive excellence in version control management, overseeing branching strategies, code reviews, and repository hygiene to maintain codebase integrity and foster collaboration efficiency.
- Mentor and coach team members in code craftsmanship and conduct rigorous code reviews, setting the highest standards for code quality, performance, and security within the organisation.
- Lead the design, implementation, and optimisation of CI/CD pipelines, utilising advanced automation techniques and deployment strategies to streamline software delivery and drive continuous improvement.
- Define and execute seamless integration strategies for code changes, ensuring smooth transitions and minimal disruption to the existing codebase while minimising technical debt.
- Create and maintain comprehensive technical documentation, sharing architectural insights, best practices, and references to facilitate knowledge transfer, onboarding, and organisational alignment.
- Cultivate a culture of continuous learning and knowledge sharing, actively contributing insights, best practices, and emerging technologies to inspire innovation, drive growth, and elevate the collective expertise of the team.
- Any additional duties as assigned.
Requirements
- Strong experience designing and building scalable full-stack web applications using TypeScript/React and C#/.NET (or equivalent technologies).
- Deep understanding of core software engineering principles, including design patterns, modular architecture, and maintainable, testable code.
- Proven ability to design, build, and evolve RESTful APIs and microservices, with a focus on performance, scalability, and reliability.
- Experience leading the architecture of end-to-end systems, spanning frontend, backend, and data layers, with clear separation of concerns.
- Strong experience working with distributed systems, managing complex data flows, integrations, and service-to-service communication.
- Hands-on experience with cloud platforms (Azure preferred; AWS or GCP acceptable), including compute, serverless, messaging, storage, and identity/access management.
- Familiarity with containerisation (Docker, Kubernetes) and modern deployment patterns, including microservices and serverless architectures.
- Experience implementing CI/CD pipelines, automated testing (unit and integration), and Infrastructure as Code (e.g., Terraform or equivalent).
- Strong understanding of database design and data access patterns, across both relational and NoSQL technologies.
- Proven experience working in Agile environments, contributing to engineering best practices, code reviews, and mentoring engineers.
- Experience leveraging AI-assisted development tools to enhance delivery while maintaining high standards of quality and engineering discipline.
- A degree in Computer Science, Software Engineering, or equivalent practical experience.
Skills and Abilities
- Problem-solving. The ability to analyse complex problems, break them down into smaller components, and develop effective solutions.
- Continuous Learning & Improvement. Have a growth mindset and actively seek opportunities to expand knowledge and skills within their practice. Seek feedback, reflect on past experiences and identify opportunities for development.
- Communication. Communicate clearly and concisely, both verbally and in writing, to technical and non-technical stakeholders.
- Time Management & Results Driven. Prioritise tasks effectively and manage time efficiently to meet sprint goals.
- Team Player. Build strong relationships within the team, participate actively in discussions, and work with others using empathy and compassion.
- Mentorship. Provide guidance and support to less-experienced engineers by sharing your expertise and experience through sessions, code reviews, and discussions.
- Leadership: Demonstrate leadership qualities by inspiring and motivating team members, setting a positive example, and guiding the team towards achieving common goals. Take initiative in challenging situations.
Benefits & conditions
We are an equal opportunity employer, and we are proud to share that 93% of our employees say they can be themselves at work. We aim to hire our industry's finest people because they drive the best outcomes. And we forever challenge the status quo because we know there are always ways to improve things. Because together, we're limitless.
We value applicants from all backgrounds and foster a culture of inclusivity. We understand the need for flexibility, so we work in a hybrid model. Please let us know if you require any reasonable adjustments during the recruitment process.