* Role Details
* Salary: £55,000 negotiable +++
* Location: Leeds, LS11 5QG
* 4.5 day week
* Very strong team atmosphere
* On site subsidised facilities
* Free parking
* Fruit baskets
This role will offer the opportunity to work on ground breaking telephony and communications software for the entire group. You will pioneer change and be the lead developer/architect. Working alongside two other consultant architects, you will help roadmap the comms platform and move the org into a new age SIPS and VOIP environment. Having only one reporting line and complete ownership should help to deliver a role with complete scalability and autonomy and the freedom to enjoy your day to day as you develop the new platform.
Main purpose of the job: To design, develop and modify software applications and components based on business and customer requirements.
Principal accountabilities:
1. Code that is clean, testable and maintainable.
2. Code that is effective, succinct and promotes the maintainability of the software.
3. Support existing applications so that new features can be added and defects resolved.
4. Contribute ideas so that the product suite continues to evolve.
5. Maintain awareness of changes to the software technology landscape; participate in educational opportunities; maintain personal networks.
6. Participate in peer-review of code.
7. Maintain best practice and knowledge transfer.
Organisation chart: To work on Group Projects as directed by Programme Manager, Project Manager and/or Development Manager. The role is part of the Group R&D Software Team and will report through to a local Line Manager; however, Project Management could be from a Matrix Manager.
Context: The org delivers leading technology and services to meet the health and social care needs of over 2.5 million people worldwide. Their vision is a world where people have the freedom to live life to the full in a place of their choice, and that is just what their products and services can offer and do - on a global scale. They currently have an exciting opportunity for someone to work as part of the development team delivering the world market leading monitoring platform suite of applications and services.
Software Development is one of four key functional areas of R&D. The other three areas are Firmware Development, Hardware Development and Quality Assurance. The focus of these four areas is the development of care & health products to meet market needs. Software Development interacts with a number of other areas of the organisation including Training and Customer Support.
Qualifications
1. Demonstrable experience commensurate with the role.
2. Educated to degree level or have an equivalent business-related qualification.
3. AND/OR Professional Certification.
Responsibilities and skills
Minimum of 5 years commercial experience in software development.
Essential:
1. C++
2. Windows
3. IP basics (IPv4), sub-netting, routing
4. Windows Services
Desirable:
1. Linux
2. Asterisk exposure (installation and configuration)
3. Any exposure to telephony, especially VOIP.
Nice to have:
1. Windows OS internals knowledge, e.g. sessions, registry architecture, DLL design, security.
2. Exposure to parallelism, e.g. threading.
3. M2M comms/protocols, e.g. sockets programming, practical differences between TCP and UDP, effects of NAT etc.
4. Installer experience.
5. C# (any app architecture, e.g. winforms/WPF/console/UWP).
6. Experience working with TVisual Studio Online.
This role requires experience of working through the full application development lifecycle utilizing both traditional (e.g. Waterfall) and Agile (e.g. SCRUM, RUP) software development methodologies.
Specialist knowledge
1. Complete understanding of application development life cycle.
2. Ability to work with product owners, analysts and development colleagues to understand requirements, design the solution and estimate the efforts involved.
3. Knowledge and understanding of safety critical, reliable and performance critical systems.
4. Ability to create technical documentation.
5. Willingness to suggest alternative approaches to de facto solutions.
6. Ability to manage time effectively, to work under time pressure, to meet schedules and deadlines, to multi-task, to plan, organize and prioritize work assignments and pay close attention to detail.
7. Ability to rapidly learn new software and maintain competency with developing technologies.
8. Ability to troubleshoot.
9. Ability to work to tight deadlines.
Personal attributes
1. Highly motivated and pro-active.
2. Results oriented with good communication and interpersonal skills.
3. Keen interest in self-development.
4. Aptitude to learn and understand new architectures, skills, techniques & tools.
5. Creativity.
6. Driven by business requirements.
7. Adaptable and flexible.
8. Problem solving skills.
9. Willingness to take responsibility for the delivery of work to production quality.
10. Demonstrated ability to work effectively in a diverse workforce.
Working relationships
The developer role reports to the Development Team Leader with responsibilities to one or more projects as required. Routine collaborations will be:
1. Working with the Team Leader, Business Analyst and Product Owner to understand customer requirements.
2. Working with the Architecture Team to ensure architectural coherence and product quality.
3. Working with the Test Team throughout the development lifecycle to ensure product quality.
4. Working with Release and Support engineers to ensure smooth transitions from development into production.
5. Working with Support engineers to resolve defects.
Decision making authority
1. Designing and writing unit and integration tests that build reliability and maintainability into the code.
2. Choosing appropriate test harnesses, utility packages and frameworks in conjunction with the development, test and architecture teams.
3. Structuring code and variable naming (within standard guidelines).
4. Designing and implementing solutions in conjunction with the Development team and Product Owner.
5. Deciding the development approach and work breakdown structure for each development project in conjunction with the Product, Test and Architecture teams.
6. Identifying technical debt and proposing ways to remove it from the code-base.
Problems/key features
1. Working in a development environment delivering first class software to meet the needs of customers.
2. Working to coding standards and architectural guidelines.
3. Working with changing business priorities.
4. Working with the Product Owner to take imprecise customer requirements and turn them into deliverable product features.
#J-18808-Ljbffr