Software Design Engineer

Schneider Electric ,
Milton Keynes, Buckinghamshire

Overview

Job Description

**IMServ, ****the power behind energy efficiency** At IMServ, we help our customers use energy better. Our people retrieve energy data from some of the UK's largest energy consuming organisations. The industry relies on the information our people produce to trade, bill and understand billions of pounds of energy each year. Our specialist services, operated by our experts, deliver tangible energy, carbon and cost savings to our customers by giving access to data intelligence on 'how', 'when' and 'where' energy is used. We need great people to help us do this. We care about the things you do: being open and trustworthy, delivering our promises, positive customer engagement, being trusted experts and taking ownership. IMServ makes a real investment in people, offering a challenging but supportive environment, allowing employees to stretch, grow and develop. In terms of career progression, the availability of a comprehensive training programme ensures the only limits are your own drive to succeed. We currently have vacancy for a Software Design Engineer based at our office in Milton Keynes. Role The Development Lead role is the most hands on role in the software development process. They are involved in the design of the process and specifications to ensure that the solution is designed with development in mind and that they have full knowledge of the solution in order to minimise any subsequent misunderstandings. They then transition into a very hands role where they define the Work Breakdown Structure for how the solution will be built, they build it (along with any additional developers) and unit test it. Throughout this period the Dev Lead is responsible for ensuring issues are raised in a timely manner through stand-ups and for demonstrating the functionality through the Show and Consult mechanisms. They are also responsible for ensuring feedback from Show & Consults is acted upon and that prioritised defects are rectified. In the later stages of the project, they support the handover process by completing the service transition documentation and by conducting any Early Life Support that has been defined __ Key areas of responsibility include: * Process understanding - Developers need to have an ability to understand process documentation and to be able to visualise how these are then broken down into requirement and deliverable based activities. At its best, this includes a true understanding of how the process works in practise (i.e. business knowledge). (Responsible for Defining the Work Breakdown Structure). * Data modelling - As the Developer is responsible for translating the logical data model into a physical data model, they need to be able to understand how data modelling is performed and how to translate it into deliverables conducted during the development process. * Use Case Understanding - The functional specification is now illustrated through a series of use cases. The developer is involved in their definition and should be able to work with the BA and business lead to translate the use case into a series of functional requirements that can then be developed. * Estimation - At numerous point in the process, the Dev Lead is asked to estimate the scale of the work needed based on what is known at that point. The dev lead needs to be able visualise what is required to be done and to estimate the scale and cost of the work accordingly. * Work definition and management - As the FS is released, the Dev Lead needs to determine how the overall task can be split into smaller scale deliverables. The deliverables are then split into 2 week sprints where functionality is provided in line with the company standard delivery process. * Programming - The core competency of a develop is to well.....develop. This competency includes the ability to take a series of functional requirements and to code the system to fulfil those requirements through defect free code that is easy for others to reuse and is efficient to produce and test. (Responsible for Development). * Testing (Unit Testing) - In order to ensure base functionality works and to minimise defects, the development is tested to ensure that it drives the intended outcomes of the requirement set. (Responsible for Unit Testing) * Technologies - Due to the diverse IT architecture, there is a requirement for Developers to be knowledgeable in a number of systems. Rather than using a straight number of systems view (some are more important/complex than others), this skill is a subjective view on their overall Technology base exposure Person Spec: Essential Key Languages (A number of) * Oracle including * Forms * PLSQL ProC * Apex * MSSQL server 2012 and above * SSIS * SSRS * Silverlight * C# * VB.Net * Java including: * Javascript * Ajax * Struts * JSP * HTML 5.0 * CSS 3 * Angular JS * JQuery * Javascript * Typescript * CRM dynamics * API development * Webservices * Visual Studio * TFS * SharePoint * .net framework 4.5 * IIS Server knowledge * WSO2 Desirable