This role involves the design and development of new software solutions within the engineering function. It's an autonomous position requiring strong communication skills within and across teams in different countries. Responsibilities include software design, development, peer review, unit testing, and ensuring code quality within the GIT repository. The role also requires collaboration with testers to resolve design issues, adherence to company procedures, tracking software revisions, and meeting project requirements. Effective communication with peers, management, and customers is crucial, along with planning and managing work priorities within a dynamic team environment. Experience with C#.Net, WPF, object-oriented programming, design patterns, reactive programming, UI design, communication protocols (RS232, TCP), and cybersecurity is essential.
Unlock the secrets to a successful job application and accelerate your journey to your next opportunity.
About the job
This role is within the engineering function, with specific responsibility for the design and development of new software solutions. This position is generally autonomous and requires effective communication within the team and with other teams across different countries. Required Skills:
Strong C#.Net, WPF skills
Object-oriented programming concepts
Design patterns
Reactive programming concepts
User Interface Design
Communication protocols (RS232, TCP)
Understanding of Cyber Security and their application to software development
Peer review experience
Unit testing
Tools: GIT and JIRA
Excellent problem-solving & communication skills
Nice to have requirements:
Experience working in Agile Scrum teams
Exposure to hardware device interfaces
Client-server software architecture
REST API
Qualifications
Degree in Software Engineering or equivalent
8 years or more developing complex software as part of a small team, on a variety of systems
Interaction with internal and external customers, liaison across multiple functional areas
Participation in the development of systems for management of large complex software
Develop a good working environment that ensures excellent communication amongst team members.
Perform software design in accordance with company procedures and standards
Ensure software revisions are tracked from concept to market release
Ensure all the code is in GIT
Identify and resolve design issues through collaboration with testers
Participate in cross functional team design reviews
Ensure work has been completed accurately and that the requirements have been met
Communicate - Effective written and spoken communication with peers, management and customers
Planning - Including control and management of priorities and schedules of work within a dynamic team environment.