Application Software Engineer
FULL DESCRIPTION
Summary
Application Engineer to create and develop applications and application programming interfaces (APIs) on Window and Linux operating systems.
Key Responsibilities:
- All aspects of the full software development life cycle, including requirements analysis, design, development, testing, documentation and training.
- Programming to deliver robust, clean, high quality software applications.
- Creation of functional designs and specifications.
- Rigorous approach to testing, including informal regression testing and writing unit tests.
- Support the creation of user documentation by technical authors.
- Reviewing code written by other programmers and providing constructive feedback to ensure it aligns with the required quality standards.
Core Requirements/Qualifications/Skills:
- Experience of programming and developing RESTful APIs for client-server architecture.
- Strong architectural skills and knowledge of C# and object orientated programming (OOP).
- Good understanding of software design patterns and data structures.
- Good understanding of the Agile Development cycle.
- Good analytical and problem-solving ability.
- Attention to detail and a passion for producing high quality software with clean code.
- Experience of maintaining, extending and amending existing software as well as creating new applications.
- Capable of working both in a team and independently.
- Excellent communication skills.
Duties and responsibilities
- All aspects of the full software development life cycle, including requirements analysis, design, development, testing, documentation and training.
- Programming to deliver robust, clean, high quality software applications.
- Creation of functional designs and specifications.
- Rigorous approach to testing, including informal regression testing and writing unit tests.
- Support the creation of user documentation by technical authors.
- Reviewing code written by other programmers and providing constructive feedback to ensure it aligns with the required quality standards.
Experience and Qualifications Required
- Experience of programming and developing RESTful APIs for client-server architecture.
- Strong architectural skills and knowledge of C# and object orientated programming (OOP).
- Good understanding of software design patterns and data structures.
- Good understanding of the Agile Development cycle.
- Good analytical and problem-solving ability.
- Attention to detail and a passion for producing high quality software with clean code.
- Experience of maintaining, extending and amending existing software as well as creating new applications.
- Capable of working both in a team and independently.
- Excellent communication skills.
Desirable
- A science or engineering degree in Computer Science or Electronics.
- Experience with writing algorithms.
- Experience in UI frameworks such as WPF.
- Experience with web application frameworks such as ASP.NET.
- Experience with Linux shell scripting.