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 groundbreaking 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 organization into a new age SIPS and VOIP environment.
Having only one reporting line and complete ownership should help deliver a role with complete scalability and autonomy and the freedom to enjoy your day-to-day as you develop the new platform.
What the client offers are technology solutions that change and save people’s lives for the better. So if you wish to work in a morally rewarding environment and get to see and develop everything you touch, then please apply.
Main Purpose of the Job
To design, develop and modify software applications and components based on business and customer requirements.
Principal Accountabilities:
* Code that is clean, testable and maintainable.
* Code that is effective, succinct and promotes the maintainability of the software.
* Support existing applications so that new features can be added and defects resolved.
* Contribute ideas so that the product suite continues to evolve.
* Maintain awareness of changes to the software technology landscape; participate in educational opportunities; maintain personal networks.
* Participate in peer-review of code; maintain best practice and knowledge transfer.
Qualifications
* Demonstrable experience commensurate with the role.
* Educated to degree level or have an equivalent business-related qualification.
* AND/OR Professional Certification.
Responsibilities and Skills
Minimum of 5 years commercial experience in software development.
Essential:
* C++
* Windows
* IP basics (IPv4), sub-netting, routing Windows Services
Desirable:
* Linux
* Asterisk exposure (installation and configuration)
* Any exposure to telephony, especially VOIP.
Nice to have:
* Windows OS internals knowledge, e.g. sessions, registry architecture, DLL design, security.
* Exposure to parallelism, e.g. threading.
* M2M comms/protocols, e.g. sockets programming, practical differences between TCP and UDP, effects of NAT etc.
* Installer experience.
* C# (any app architecture, e.g. winforms/WPF/console/UWP).
* 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
* Complete understanding of application development lifecycle.
* Ability to work with product owners, analysts and development colleagues to understand requirements, design the solution and estimate the efforts involved.
* Knowledge and understanding of safety-critical, reliable and performance-critical systems.
* Ability to create technical documentation.
* Willingness to suggest alternative approaches to de facto solutions.
* Ability to manage time effectively, work under time pressure, meet schedules and deadlines, multi-task, plan, organize and prioritize work assignments and pay close attention to detail.
* Ability to rapidly learn new software and maintain competency with developing technologies.
* Ability to troubleshoot.
* Ability to work to tight deadlines.
Personal Attributes
* Highly motivated and pro-active.
* Results-oriented with good communication and interpersonal skills.
* Keen interest in self-development.
* Aptitude to learn and understand new architectures, skills, techniques & tools.
* Creativity.
* Driven by business requirements. Adaptable and flexible.
* Problem-solving skills.
* Willingness to take responsibility for the delivery of work to production quality.
* 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:
* Working with the Team Leader, Business Analyst and Product Owner to understand customer requirements.
* Working with the Architecture Team to ensure architectural coherence and product quality.
* Working with the Test Team throughout the development lifecycle to ensure product quality.
* Working with Release and Support engineers to ensure smooth transitions from development into production.
* Working with Support engineers to resolve defects.
Decision Making Authority
* Designing and writing unit and integration tests that build reliability and maintainability into the code.
* Choosing appropriate test harnesses, utility packages and frameworks in conjunction with the development, test and architecture teams.
* Structuring code and variable naming (within standard guidelines).
* Designing and implementing solutions in conjunction with the Development team and Product Owner.
* Deciding the development approach and work breakdown structure for each development project in conjunction with the Product, Test and Architecture teams.
* Identifying technical debt and proposing ways to remove it from the codebase.
Problems/Key Features
* Working in a development environment delivering first-class software to meet the needs of customers.
* Working to coding standards and architectural guidelines.
* Working with changing business priorities.
* Working with the Product Owner to take imprecise customer requirements and turn them into deliverable product features.
#J-18808-Ljbffr