Software Engineer
Role details
Job location
Tech stack
Job description
To provide hands-on software engineering expertise to support the Software team to bring new products to market whilst improving the design and performance of all existing products., * To develop maintainable, well-structured software in line with coding standards
- To work collaboratively with colleagues in the Software team, Technology department, other departments and international offices
- To be actively involved in the formal product development process, from idea generation and screening, through concept and prototype development, to final design verification and validation
- To identify new areas of research and work closely with other product development team members to deliver product solutions that fulfil the needs of the customer
- To generate requirements documentation to ensure objectives and technical specifications are clearly defined
- To provide guidance and support during the seamless transition of new projects from development into mainstream production
- To always act in a professional manner to develop products which are aligned with the principles, strategy and goals of the business and expectations of the customer
- CONTEXT
There is a requirement within the Technology team for a Software Engineer-end, to accelerate development of new and existing products.
Requirements
The Job Holder must have:
-
Minimum 1-2 years' C# software development experience in a commercial environment.
-
A keen eye for detail and identifying problems at an early stage
-
An innovative and self-motivated approach, good all-round engineering knowledge, a flexible attitude and be able to work in a multi-disciplinary team to meet time and budget deadlines The Job Holder may also have:
-
3 years' commercial software development experience for industrial products
-
Qualified to HND / Degree standard in software engineering or similar discipline
-
Interested in building DevOps skills and experience (TeamCity or similar e.g. Azure Devops)
-
Have experience of a variety of database technologies and platforms, such as MS SQL (T-SQL), PostgreSQL and SQLite
-
Have experience of version control systems such as Git
-
Good understanding of applying advanced domain driven design and development principles to industry best practices
-
Awareness of standard design pattern (and anti-patterns)
-
Ability to translate technical terminology and produce similar standard documentation for peers
-
Experience of developing intranet-based browser applications
-
Experience of developing GUI front ends (XAML/Blazor/Razor)
-
Experience of implementing REST web services
-
Have embedded software development experience using C++ or C (for Linux)
-
Willingness to travel internationally on an occasional basis
-
Able to demonstrate an ability to communicate effectively with customers and suppliers Skills Matrix, based on our tech stack (ordered by desirability) Primary Skill Including C# ASP.Net Core EF Core Blazor / Razor JSInterop WPF (legacy) SQL T-SQL PostgresSQL Message Queue MQTT RabbitMQ Data Analysis / Visualization Python Jupyter Notebook R/RStudio Plotly M2M (Industrial Control) OPCUA Modbus/TCP C++ Embedded Linux Microcontroller (Platform IO) SQLite DevOps TeamCity ESXI/Hypervisor Docker/PodMan