SUMMARY:
-
POSITION INFO:
As a Senior Software Engineer, you will be a technical leader within the development team, responsible not only for delivering high-quality software but also for shaping technical direction, architectural decisions, and engineering standards. You will work with a high degree of autonomy, own complex problem spaces end-to-end, and play a key role in mentoring engineers and driving continuous improvement across the engineering function. This role bridges deep hands-on development with technical leadership and strategic influence, ensuring that solutions are scalable, secure, maintainable, and aligned with business objectives.
Minimum Requirements:
- Tertiary qualification (Diploma/Degree) in IT Software Development, Computer Science or equivalent
- 6+ years experience as a Software Engineer
Technical Expertise (Hard Skills)
• Advanced proficiency in C# with a strong track record of delivering production-grade systems.
• Strong expertise in relational databases (SQL), data modelling, and ORM technologies, including performance optimisation.
• Deep, practical understanding of data structures, algorithms, and system design principles.
• Proven experience designing and maintaining distributed systems, APIs, and service-oriented or microservices architectures.
• Strong hands-on experience with Agile development methodologies (Scrum, Kanban) and modern DevOps practices (CI/CD).
• Expert-level use of Git and collaborative development workflows (code reviews, branching strategies).
• Solid experience with cloud platforms (AWS, Azure, or GCP) and containerisation/orchestration technologies (Docker, Kubernetes).
• Working knowledge of application security principles, secure coding practices, and system hardening.
• Exposure to or practical experience integrating AI/ML capabilities is advantageous.
Professional Attributes (Soft Skills)
• Exceptional problem-solving ability, with a structured and analytical approach to complex technical challenges.
• Strong technical judgement and decision-making skills, able to operate effectively with ambiguity and incomplete information.
• Excellent communication skills, with the ability to influence, align, and build trust across technical and non-technical stakeholders.
• Demonstrated leadership presence, accountability, and ownership mindset.
• High adaptability and commitment to continuous learning in a fast-changing technical environment.
• Strong time management and prioritisation skills, balancing hands-on delivery with leadership responsibilities.
• High emotional intelligence, empathy, and professionalism, contributing to a healthy, collaborative team culture.
Key Responsibilities
- Software Development & Architecture
- Lead the design, development, testing, deployment, and ongoing evolution of complex, scalable software systems across the full software development lifecycle.
- Own and drive architectural decisions for new systems and significant enhancements, including back-end services, APIs, and distributed/microservices-based solutions.
- Produce high-quality, performant, secure, and maintainable code, setting the benchmark for engineering best practices and coding standards.
- Evaluate trade-offs between technical approaches, balancing scalability, performance, cost, and delivery timelines.
- Proactively identify and address technical debt, performance bottlenecks, and reliability concerns before they impact users or delivery.
- Perform deep root-cause analysis of complex production issues, leading resolution efforts and implementing preventative improvements.
- Ensure robust automated testing strategies are in place, including unit, integration, and end-to-end testing, to support long-term system quality.
- Create and maintain clear, high-quality technical documentation covering architecture, design decisions, and operational considerations.
2. Technical Leadership & Collaboration
- Act as a trusted technical partner to product managers, architects, and stakeholders, helping translate business requirements into well-designed technical solutions.
- Lead technical discussions, design reviews, and solution walkthroughs, clearly articulating complex concepts to both technical and non-technical audiences.
- Influence and contribute to engineering standards, tooling, and development processes across teams.
- Collaborate closely with users and stakeholders to deeply understand system behaviour, workflows, and problem areas, ensuring solutions deliver real business value.
3. Mentorship & Team Enablement
- Mentor and coach mid-level and junior engineers, providing technical guidance, constructive feedback, and career development support.
- Lead by example through strong engineering practices, code quality, and professional conduct.
- Assist in breaking down complex initiatives into well-defined, achievable tasks, improving team predictability and delivery confidence.
- Support onboarding and upskilling of team members, contributing to a culture of learning and engineering excellence.
4. Operational Excellence & Continuous Improvement
- Champion continuous improvement in system reliability, security, performance, and developer experience.
- Stay current with industry trends, emerging technologies, and evolving best practices, assessing their relevance and practical application to the organisation.
- Contribute to DevOps maturity, including CI/CD pipelines, observability, monitoring, and operational readiness.