Senior Software Engineer
ActeonUTEC, Acteon’s Geo-services business line, harnesses data to optimize designs, save time, and maximize your project’s economic value by providing a holistic understanding of the marine environment. Our insights underpin customers’ decision-making from design to asset life extension, ensuring every decision delivers.
We are sourcing a Senior Software Engineer on a full time, permanent basis. Based at our facility in Wokingham, the Senior Software Engineer is to develop and maintain application software for UTEC leading line of products in line with the Software Manager. To ensure that the delivery team is supported during project delivery. These applications provide support for our in-house developed Renewable and Oil-Gas structural monitoring systems and services globally.
UTEC develops wide range of .net applications of which may be standalone or web based. These applications are used to implement a software stack to ultimately transmit time-series data from acquisition devices over a range of network protocols securely to the internet or to direct to customer networks and servers. We also develop applications for data processing and analysis of data. User interfaces and data visualisations are also often required and developed.
The role requires a competent .net developer who has proven competence C# application development in .net environment using WPF framework. Equally we require same developer to have skills in asp.net core Web-page front and back-end development using Razor, Blazor or related UI frameworks. Our applications are deployed on range of operating systems and often as containers running in cloud, hence some knowledge or familiarisation of Docker is required. We require at least basic network knowledge of TCP/IP networking concepts and client server interfacing. Further, supporting the network nature of our product line, knowledge of implementing REST API client and server interfaces for our clients is a must have.
Our client’s requirement often differs so we provide data interfaces presented via a range of protocols for example MQTT, OPC-UA and Modbus. Knowledge of one of more of these would be an advantage but not essential.
Duties & Main Responsibilities
- To form a core part of the Technology Agile Development Team, ensuring software development and bug fixing during each sprint.
- Working with the Senior Software Manager, Commercial IT engineers and Data scientists implementing the solution.
- To assist and support the Senior Software Manager to plan and deliver software scopes on time.
- To identify key bottle necks and escalate to Senior Software Manager, including providing support and solutions to remediate identified bottle necks/issues.
- To take ownership of resolving software deficiencies and supporting the delivery team in achieving their goals.
- Working closely with the Software test and System engineering teams to debug software and be accountable for their problem resolution
- Taking ownership with Software department to build and maintain the software platform.
- To mentor and support other developers as needed.
- To maintain and help develop s/w implementation and delivery process
- Utilising Azure Dev Ops and executing Epics, Users stories, bugs, and work items as part of sprint or backlog.
- To document the Software implementation and maintain change logs, keeping Azure work items status up to date
- Working with the Software/Firmware and Commercial IT teams to develop test strategies and platforms. Including Automated Software unit testing.
- Able to think long term implications of changes to software
- Able to work within a framework and utilize the Agile development process
- Able to write software in C# for ,net and asp .net core.
- Ability to support the software design team providing guidance in respect to software testing and reliability.
- Ability to develop testing approaches for software.
- Skills in web development technologies such as ASP.NET is essential with Visual Studio.
- Understanding of deployment and containerisation technologies such as Docker.
- Data interface and protocol knowledge e.g. MQTT, Modbus, REST API, OPC-UA Experience.
- Experienced in developing software for Windows systems (3-5+ years min) specifically in the Visual Studio Environment.
- Agile Development and Testing
- In-depth knowledge of Bug tracking using tools such as Azure DevOps or GIT.
- Understand modular design patterns.
- Have worked with Docker Containers and .NET core ecosystems.
- Excellent communications skills both written and verbal.
- Ability to work as part of a team
- Eager to develop new skills and learn new technologies as the business requires it.
- Attention to detail
- Passion for solving problems
- Practical approach in thinking