Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
JOB ADVERT Job Reference Job Title Contact Email Mobile Platforms, Developer-in-Test (Ruby, Cucumber, BDD) Job Advert Details Job Description Developer-in-Test – POD TEST, Mobile Platforms, Programmes and On-demand, Future Media Role: Developer-in-Test Division: POD, Future Media Department: Mobile Platforms Grade: 7D Based in: MediCityUK, Salford Reports to: Test Manager Aim of Role Developers-in-Test are expected to perform a developer role, with a focus on testability. Applying a variety of techniques and their unique experience to review designs, analyse code quality and assess risk. They refactor code to make it more testable, write test frameworks and automated tests. They are a champion for behaviour driven development and the automated testing of code. They collaborate with developers and other stakeholders to define and achieve successful delivery of high quality software for our major products. Context of Role BBC Future Media’s ambition is to create the most valued open digital media services in the world. We want to transform the BBC for an interactive, on-demand world and find new ways of reaching audiences wherever they are, with new formats across PC, TV and mobile devices. We must engage with – and empower – audiences in new, innovative ways, to create a new kind of digital organisation and a broadband Britain. As part of BBC Future Media, Programmes & On-Demand works at the nucleus of online and connected media. Interfacing with brilliant people across the BBC, fantastic content, and a remit to innovate, it aims to enrich lives through the next generation of connected media experiences. Based at MediaCityUK, Salford Quays and part of Programmes & On-Demand, the Mobile Platforms team’s objectives are to: - Provide leadership on mobile app and mobile web strategies for the whole of the BBC. - Work with existing product teams in all parts of the BBC to offer the best mobile experience to users, driving reuse across products. - Build the first instances of BBC dual screen experiences in partnership with the TV Platforms and product teams. Main Responsibilities The Developer-in-Test will be responsible for: - Creating and promoting the use of behaviour/test-driven development at multiple levels within the software by pairing with production code developers, product owners and testers. - Creating automated test cases that verify functional and non-functional requirements of a feature (using Ruby, Cucumber and Calabash). - Assisting with the definition and execution of the test approach for a project or projects. - Assisting with the department’s approach for Continuous Integration and owning the technology supporting this. - Continually learning relevant new technologies and applying them to the role. - Contributing to the automated test approach for the department, including recommending technologies, frameworks and processes. - Participating in the architecture and design of the feature early in the development cycle, influencing it to drive quality and adherence to the specification. - Aligning with and supporting the test process to ensure its consistent application across the engineering team. Knowledge and Experience Essential • Significant experience writing good quality object-oriented code using Ruby. • Experience of and ability to design and execute effective tests. • Demonstrable experience developing or testing mobile products across multiple mobile platforms, particularly iOS and Android. • Experience using mobile test automation frameworks and tools, such as Cucumber, Calabash, Robotium, Capybara or Selenium. • Expert understanding of Agile development practices including TDD & BDD and their application. • Ability and experience of communicating effectively across all levels of the organisation, including experience in test planning and estimating. • Experience identifying and reporting defects, using de-bugging tools, analysing stack traces, code, log-files and other artefacts and using defect/product management systems, preferably Jira. • Significant experience working collaboratively in multi-disciplinary teams to deliver software development projects. • Working knowledge of version control systems to ensure version control of test/development artefacts (e.g. SVN) • Working knowledge of a CI system to create builds, ideally Hudson. • Working knowledge of mobile video and audio encoding formats. • An appreciation of good user experience and being prepared to be the users’ advocate. • Ability to meet challenging operational deadlines and communicate difficulties as early as possible. • A passion for technology, particularly mobile devices. Desirable • Understanding of databases and services (e.g. RESTful services), including the ability to programmatically interact with data formats that may include XML and JSON. • Experience in pair programming with developers with a range of ability and knowledge. • A strong interest in BBC Online products and content output. • Experience with or understanding of BBC product architectures. • Experience of interactive broadcast TV, IPTV or games consoles. Competencies The following competencies (behaviours and characteristics) have been identified as key to success in the job. Post holders are expected to demonstrate all these competencies when fully developed into the role. • Analytical Thinking: Able to simplify complex problems or projects into component parts, and explore and evaluate them systematically. Able to identify causal relationships, and construct frameworks for problem solving and development. • Influencing and Persuading: Able to present sound and well-reasoned arguments to convince others. Can draw from a range of strategies to persuade people in a way that results in agreement and behaviour change. Able to enthuse and inspire team members. • Planning and Organising: Able to think ahead to establish an efficient and appropriate course of action. Can prioritise and plan activities taking account of relevant factors such as deadlines, staffing and resource requirements. • Resilience: Able to retain a mature perspective in the face of a challenge. Manage own emotions in the face of pressure, set-backs or when dealing with provocative situations. Can demonstrate an approach to work that is characterised by commitment, motivation and energy. • Decision Making: Ready and able to take initiative, make decisions and be responsible for the consequences of the decisions made. • Communication: Able to get one’s message understood by adopting a range of styles, tools and techniques appropriate to the audience and the nature of the information. • Collaborative Working: Able to work in partnership and collaborate with colleagues across the organisation to the benefit of the BBC. Can recognise shared objectives and priorities, and work co- operatively to achieve them, putting them before personal preferences and objectives. • Managing relationships and team working: able to build and maintain effective working relationships with a range of people. Works co-operatively with others to be part of a team, as opposed to working separately or competitively. • Flexibility: adapts and works effectively with a variety of situations, individuals or groups. Able to understand and appreciate different and opposing perspectives on an issue, to adapt an approach as the requirements of a situation change, and to change or easily accept changes in one’s own organisation or job requirements. • Creative Thinking: able to transform creative ideas into practical reality. Can look at existing situations and problems in novel ways and come up with creative solutions. • Living the BBC Values: sets high standards for the world’s most trusted broadcaster, demonstrates a passionate commitment to the BBC’s brand values and keeps up to date with public opinion, admits mistakes when we make them and takes appropriate action, takes responsibility for building trust in the BBC, deals fairly with suppliers, contributors and members of the public EXPECTED OUTCOMES AND SUCCESS FACTORS The role is expected to deliver: 1. Automated acceptance tests for mobile web and mobile application products. 2. Test approaches, processes and frameworks that are appropriate for the product, projects and teams. 3. Effective testing throughout the entire development lifecycle to contribute to the delivery of high quality BBC mobile products. 4. Encouragement to developers to write test-first software. 5. Technical leadership and expertise in automated testing for mobile products.