Senior Software Engineer

We are looking for an experienced and talented Senior Software Engineer to join the growing Engineering team of a company based in Royston, Hertfordshire. You will have a strong background in developing .NET based software solutions and demonstrate proven competence in implementing complex functional software for machinery or capital equipment.

You will have the support of a strong team but will need to be able to take responsibility for driving projects ranging from bug fixes to new-feature development through to completion.

Responsibilities

Your contribution will be immediate, involving a mixture of hands-on development with machines and systems, product improvement programmes and ground-up design work, which will include:

* Develop high-quality system architecture and product applications using .NET framework and C#
* Develop clean and simple User-interfaces for complex electro-mechanical machinery, ensuring software is up-to-date with latest technologies
* Identify, prioritise and execute tasks in the software development life-cycle, working alongside the Engineering Manager
* Develop processes to maintain and implement coding standards to produce clean and efficient code for applications
* Automate unit / scripted testing through appropriate tools for continuous improvement of software reliability
* Provide Peer-review and mentoring for other software engineers within the engineering team
* Perform validation and verification testing for software deployment

Requirements

* First or upper second-class degree (2:1) in Computer Science or Software Engineering from a reputed university
* Proven experience as a Senior Software Engineer for a product-development company
* Solid experience in the following areas of software development:
- UI/UX design and implementation for complex machines or equipment, using WPF / XAML
- Writing drivers to interface with low-level Hardware like PLCs / Sensors / embedded systems / networked devices
- Robust architecture design for software solutions, demonstrating modularity and loosely coupled interactions between sub-systems
- Strong understanding of the MVVM architectural pattern
- Unit Testing / Scripted Testing for improved software testing and robustness
- TCP/IP based network communications between applications and systems
- Asynchronous programming for C#
* Planning sprints and projects for deploying new features / improvements to software
* Experience in creating coding standards and processes to maintain code quality and re-factoring of code between multiple developers
* Using and setting up Continuous Integration / Continuous Deployment processes and systems like Jenkins or Cruise-Control
* Able to switch between different software development methodologies such as Scrum, Agile, Kanban, Waterfall
* Experience of using version-control and bug-reporting software such as Subversion, Trac, GIT, TortoiseSVN
* Willingness to lead medium-to-large scale projects and work with a wide range of technical and non-technical people
* Ability to use own initiative
* Good communication skills
* Attention to detail
* An analytical and innovative approach
* Ability to thrive under pressure.

The following would be an advantage:

* Relevant certifications in C#, .NET framework or Windows based development
* Some experience or knowledge of image processing and manipulation for industry formats

[ Royston, Hertfordshire, Salary £neg. | vacancy reference : 31801 ]

For more information or to apply for this job, please complete the details below.
Attach CV
Essential before we can supply further job information:

submit

Tel: +44 (0) 1223 423267

Fax: +44 (0) 1223 420268