Our client is looking for an Application Software Engineer who is passionate about building high-quality software and working across the full development life cycle. The position requires a strong foundation in C#, RESTful APIs, and object-oriented principles, along with the ability to collaborate in Agile environments and maintain existing software. A background in algorithm development and UI frameworks like WPF would be a great addition. Duties and Responsibilities : Full Software Development Life Cycle : Handle all aspects, including requirements analysis, design, development, testing, documentation, and training. Programming : Write clean, robust, and high-quality software applications. Create functional designs and specifications to guide development. Implement rigorous testing practices, including informal regression testing and writing unit tests to ensure code quality and functionality. User Documentation : Support the creation of user documentation, collaborating with technical authors. Code Reviews : Review code written by others and provide constructive feedback to ensure adherence to quality standards. Experience and Qualifications Required : RESTful API Development : Experience programming and developing RESTful APIs for client-server architectures. C# and OOP : Strong architectural skills with knowledge of C# and object-oriented programming (OOP) principles. Software Design Patterns : Good understanding of software design patterns and data structures to create efficient and scalable solutions. Agile Development : Familiarity with the Agile Development cycle, working in sprints, and adapting to changing requirements. Analytical and Problem-Solving : Strong analytical and problem-solving skills for debugging and optimising software solutions. Attention to Detail : Passion for producing high-quality, clean code with great attention to detail. Desirable : Educational Background : A degree in Computer Science, Electronics, or a related science/engineering field. Algorithm Development UI Frameworks : Experience with WPF (Windows Presentation Foundation) for creating rich desktop applications. Web Application Frameworks : Familiarity with ASP.NET for developing web applications. Linux Shell Scripting If this role is of interest to you, please click apply.