About the position
About the Role
To play a key role in the design, development, and delivery of complex software solutions. As a Senior Software Engineer, you will apply deep technical expertise to build reliable, scalable products while collaborating closely with cross-functional teams. You will contribute to architectural decisions, mentor junior developers, and ensure software solutions are delivered to a high standard, on time and within budget.
Key Responsibilities
- Lead the design, development, and implementation of complex software modules and components
- Analyse business and technical requirements and translate them into effective software solutions
- Write clean, efficient, well-documented code in line with coding standards and best practices
- Participate in and contribute to code reviews, ensuring code quality, maintainability, and scalability
- Mentor and support junior developers, promoting best practices and technical excellence
- Troubleshoot, debug, and resolve software defects and performance issues
- Perform unit testing and support integration and system testing activities
- Develop and maintain technical documentation, including specifications, test plans, and user guides
- Participate in architectural discussions and contribute to continuous improvement of software architecture
- Collaborate with cross-functional teams including firmware engineers, designers, product managers, QA, and production
- Actively participate in Agile ceremonies such as stand-ups, sprint planning, retrospectives, and team discussions
- Develop and refine testing procedures for modules, components, and products
- Ensure designs are standardised where possible, using appropriate components to support reliability, maintainability, and manufacturability
- Apply high-level engineering principles to solve complex technical problems, seeking guidance only in the most challenging situations
- Deliver solutions that are reliable, cost-effective, and aligned with agreed timelines and budgets
- Work in a professional manner aligned with established development methodologies and standard operating procedures
Key Interfaces
- Software R&D team and management
- Quality assurance and production teams
- Suppliers and customers
Key Competencies & Behavioural Attributes
- Strong problem-solving and analytical skills
- High attention to detail and commitment to quality
- Self-motivated with the ability to work effectively in a dynamic environment
- Strong communication and collaboration skills
- Adaptable and comfortable with changing requirements and technologies
- Team-oriented with a positive, professional attitude
- Effective time management and prioritisation skills
- Proactive mindset with a passion for continuous learning and improvement
- Initiative to improve code quality, efficiency, and development processes
Technical Skills (Essential)
- Strong experience with modern software development environments
- Proficiency in:
- C#
- MAUI / Xamarin
- SQL (SQLite, MS SQL Server, PostgreSQL)
Beneficial (Nice to Have)
- Blazor
- JavaScript, jQuery, CSS, AJAX, JSON
- Figma
- Docker
- Flutter
Qualifications & Experience
- Bachelor’s degree in Computer Science, Software Engineering, or a related field
- Minimum of 5 years’ experience in a similar software development environment
- Proven experience in a Senior Software Engineer role with a track record of successful project delivery
- Strong understanding of Agile/Scrum methodologies and associated tools
- Experience with code reviews, quality assurance practices, and maintainable codebases
- Exposure to cloud platforms such as Azure or Google Cloud (advantageous)
- Strong communication and stakeholder engagement skills
- Ability to manage multiple priorities in a fast-paced, dynamic environment
Please note that only suitable candidates will be contacted.
Desired Skills:
- software
- engineer
- developer