Senior Software Engineer

Biggin Hill
Engineering & Technical
Research & Development
About The Role
The Software Development Team are seeking a Senior Software Engineer to analyse, design, develop and lead the development of high quality, reliable software systems (including comprehensive supporting documentation).  Researching and evaluating developments in technology, making suitable proposals to manager.

Main Responsibilities and Duties

  • Design, plan and implement optimal software solutions which are consistent and aligned with the overall Research and Development Group objectives and strategy
  • Perform full cycle project/task work, through Conception, Analysis, Technical Design, Prototyping, Development, Unit Testing, Go-Live and Handover stages.Produce high quality, reliable products/systems including comprehensive documentation, which require the minimal of maintenance and support.Deliver these to scope, with the benefits identified in the business case, adhered to.
  • Support, modify and maintain all FOM software systems (in the UK and abroad), including rapid fault finding, evaluation and diagnosing of problems that occur (system and code level) in an accurate and timely manner.
  • Produce appropriate and complete documentation for all designs/enhancements/projects and assist with any necessary communication/distribution/publication of this documentation.Archive documentation for decommissioned applications
  • Support the Change Management Process. Challenge and question proposed changes, if the need is not understood or justified.
  • Analyse new requirements and identify options for both commercial off the shelf software (COTS) and in-house development, making relevant proposals to manager.This may include liaising with suppliers to understand existing interfaces (if any) are compatible.
  • Ensure regular, ongoing visibility of project/task process, by updating relevant JIRA/Confluence channels.
  • Professionally perform the role of R&D (Software) support representative at meetings and events abroad, when required.
  • Liaise and provide reports to the R&D management on a regular basis, to keep them informed of matters arising from assigned projects / activities.
  • Liaise with Technical Project Managers, Product Owners, Technical Business Analysts and wider project stakeholders (which may include 3rd party consultants/suppliers), establishing and maintaining effective and efficient relations.
  •  Hand over completed projects & system modifications to operationally responsible departments for UAT Testing/Go-Live, with relevant supporting documentation to support each stage. This may include training the user community.Assist operational departments regarding any post-live issues that arise, ensuring any consequent/significant work required is logged and visible in JIRA.
  • Decompose complex problems and produce simple and effective solutions; whilst maintaining an ability to design innovative cutting edge solutions, for other projects.Streamline/optimise/retire existing product suite, alongside development of new software.
  • Research and evaluate current and future development techniques, products, processes, systems and technologies in technology, by considering how they may be incorporated into FOM systems to increase efficiencies of working practices.Make consequent proposals to manager in terms of current-state and recommended future-state.
  • Actively participate in knowledge distribution, by supporting/training and advising colleagues and more junior members of the team in terms of best practice, for developing systems according to the requirement of the department.
About You
 Knowledge and Skills Required
  • 1st or 2nd class honours degree in Computer Science or related technical discipline or minimum 4 years’ experience in the Software Development environment.
  • Experience of Object Oriented Design and knowledge of SOLID Design Principles and industry best practices
  • Experience developing Windows Applications using C#. NET, WPF & MVVM
  • Experience in Test-driven development, writing unit tests and utilising mocking frameworks.
  • Experience in XML/XSLT/XSD, Relational Databases & SQL.
  • Experience with messaging / communication of data via TCP/IP, UDP, ACTIVEMQ.
  • Proficient use of Microsoft Office/JIRA/Confluence or similar applications.
  • Experienced and competent in writing technical reports and user documentation.
  • Ability to multi-task and prioritise tasks, being capable of working on large projects and small tasks in parallel.
  • Working effectively/ efficiently in a team as well as individually.
  • Ability to adapt effectively to changing targets and objectives and ensure tight deadlines are achieved.
  • Proven communication, analytical and problem solving skills, the ability to evaluate, report and converse effectively.
  • Ability to work with the minimal of supervision.
  • Prepared to occasionally travel internationally

Desirable Knowledge and Skills

  • Experience in developing Web Applications using ASP.Net MVC, Angular, Bootstrap & SignalR
  • Experience developing applications using C++, Delphi & Java
  • Experience using Agile/Scrum development methodology.
  • EU driving licence.