The Software Engineer role plays an important part in our company’s product development process. The engineer will be responsible for enhancing and evolving the software solutions to meet the requirements of organisation.
Working within an Agile framework, the role requires a hands-on software engineer who cares deeply about both the technological and social aspects of developing and testing highly functional, solution-based software systems to a high standard.
ESSENTIAL DUTIES AND RESPONSIBILITES:
Software Enginner responsible for performing the software engineering functions, including the design, development, testing, troubleshooting, and debugging of software programs for enhancements and new software products.
Applies appropriate principles, standards, processes, procedures and tools throughout the software development life cycle.
Duties include software requirements analysis, analysis of hardware compatibility, development of software products and tools used for design, development and maintenance of infrastructure, and platforms.
Works to achieve day-to-day objectives with moderate impact on the project team.
Communicates with colleagues across multiple areas (project managers, other technical resources, etc.).
Explains technical solutions, practices and procedures to others within the organization.
Work with multiple teams based in different locations and time zones.
Collaborate closely with software developers and product engineers to ensure security principles are applied consistently throughout
Willingness to learn and share knowledge with peers
Cross Functional Working
Continually build relationships with internal stakeholders to achieve the successful completion of projects
Health & Safety
Always follow and promote Group and Company policies and procedures
Ensure all Company equipment and personal PPE properly used
Fully Understand and always adhere to the Company’s Equality Policy at all times
All employees must conduct themselves in accordance with our Corporate Company Values and Business Ethics at all times
Skills & Attributes
Must have a strong understanding of sound software development principles and practices using C#
Self motivated to learn new skills
Experience in developing on Windows
Good understanding of Object Oriented Programming (Abstraction, Inheritance, Polymorphism, etc.)
Experience in one or more of the following XAML, JSON, Message Queues, Micro Services, REST services, Windows Services
Data modelling and data queries (SQL and NoSQL)
Knowledge of SOA and bus architectures
Demonstratable knowledge of hardware interfaces, SDKs and communication protocols
Knowledge of Kubernetes and Docker
Experience of Linux
C++ Programming Skills
Knowledge of IoT and MQTT protocol
Minimum 3 years developing enterprise level software solutions
Wide ranging technical background
Exposure to people screening processes and solutions
Degree in Computer Science/Engineering or additional experience