The Software Developer is responsible for identifying opportunities to improve business and engineering workflows through practical software solutions and automation. Working closely with stakeholders and end users, this role translates operational processes into scalable, maintainable software applications that reduce manual effort, improve efficiency, minimize risk, and support business objectives. The position contributes across the full software development lifecycle, including requirements gathering, solution design, development, deployment, and ongoing support of applications operating within CAD, web, and cloud environments.
Key Responsibilities
- Collaborate with users and stakeholders to analyse and document end-to-end workflows, identify process inefficiencies, and define software requirements.
- Evaluate and prioritise automation opportunities based on business value, operational impact, risk reduction, technical feasibility, and long-term maintainability.
- Design, develop, maintain, and enhance CAD plugins using C#, .NET, WPF, and relevant APIs to deliver reliable functionality across supported software versions.
- Develop and maintain web-based applications, backend APIs, dashboards, reporting tools, authentication frameworks, and system integrations using modern development technologies.
- Build secure and resilient integrations between desktop applications, web platforms, and cloud services with appropriate validation, logging, monitoring, and recovery mechanisms.
- Deploy, administer, and support production environments hosted on AWS, including the implementation of security controls, monitoring, backup processes, and disaster recovery procedures.
- Manage software delivery processes, including source control, code reviews, testing, continuous integration and deployment, release management, version control, and deployment packaging.
- Troubleshoot and resolve application issues, ensuring software reliability, performance, and operational continuity.
- Prepare and maintain technical documentation covering system architecture, deployment procedures, support requirements, and operational processes.
- Support continuous improvement initiatives by identifying opportunities to enhance business systems, workflows, and software performance.
- Work collaboratively with internal teams to ensure software solutions align with organisational objectives and operational requirements.
- Maintain compliance with organisational standards, security requirements, and software development best practices.
Additional Duties
- Participate in project planning, design reviews, testing activities, and implementation initiatives as required.
- Provide technical support and guidance to users and stakeholders regarding developed solutions.
- Contribute to knowledge sharing, process improvement, and ongoing development of software engineering practices within the organisation.
- Perform other duties reasonably required to support business operations and project delivery.