Software Engineer (Web Developer) at BBC World Service - NewBalancejobs

Software Engineer (Web Developer) at BBC World Service

Website BBC World Service

Software Engineer (Web Developer) at BBC World Service, Interested and qualified candidates should see details and apply

BBC World Service

The BBC is an international multimedia broadcaster on radio, TV, online and social networks with a weekly global audience of 320 million. As part of an historic multi-million pound expansion of BBC Africa, the BBC World Service is introducing a wide range of new and exciting language and regional content to serve African and global audiences.

We are recruiting to fill the position below:

Job Title: Software Engineer (Web Developer)

Job Reference: BBC/TP/653414/51628
Location: Lagos Hub
Job family: Technical Systems & Delivery
Grade: Local terms and conditions
Department: (Africa) Hub
Reports to: Senior Broadcast Journalist Digital, (Nairobi) Hub
Contract Type: Fixed term
Business Unit: News – W2020 Africa
Job Category: Technology, Systems & Delivery

Job Purpose

  • Responsible for implementing effective software and tools for given designs.

Key Responsibilities and Accountabilities

  • Develop effective software that meets given specifications
  • Write appropriate tests using automated test-driven techniques for ensure code quality
  • Integrate the software with monitoring and support tools
  • Support system integration in its operating environment
  • Write and review technical documentation
  • Help to troubleshoot and resolve issues throughout the product life cycle
  • Participate in the team’s agile planning and delivery process
  • Effectively participate in the teams software development methodologies, such as pairing, code and documentation reviewing and continuous delivery
  • Learn new technologies and keep abreast of existing technologies.

Knowledge, Skills, Training and Experience
Essential:

  • Demonstrable experience writing and maintaining robust production software
  • Competence in one or more mainstream development languages and frameworks
  • Competence with one or more mainstream development and deployment tool chains (IDE, SCCS, CI)
  • Experience of database design and use in software applications
  • Knowledge of the web architecture and key technologies (HTTP, DNS, distributed design)
  • Competence test driven development
  • Competence in developing for operational concerns (monitoring integration, performance testing, security considerations)
  • Experience of project working and professional software development processes, including agile.

Desirable:

  • Worked in an enterprise environment on several projects (including experience in testing, design and release)
  • Experience of releasing their software to a production use case
  • Participated in reviews and inspections of code (sat with a peer or someone more senior reviewing your code)
  • Software Engineering or Computer Science Degree or equivalent.

Job Impact
Decision Making:

  • Reports to Principal Software Engineer or Software Engineering Manager
  • Tasks are allocated to the job holder by the team lead
  • Undertakes tasks independently
  • Independently writes tests to check quality of code
  • Assesses feedback from reviews and incorporates as appropriate
  • Troubleshoots independently or with the support of others where necessary
  • Contributes to the teams iterative and collaborative design and implementation decisions.

Scope:

  • Finance: No financial responsibility
  • Line Management: No line management responsibility
  • Ad-hoc Teams: Participates in departmental hack days and external ad-hoc events (typically 5 to 20 members)

Additional Job-specific Responsibilities and Accountabilities
Key Responsibilities:

  • Work collaboratively in a multidisciplinary team and to proactively shepherd new features to live.
  • To write world class HTML, CSS and JavaScript.
  • To write server side code (mainly NodeJS, experience of Ruby/PHP desired)
  • To work to current good software development practices.
  • To write unit and integration tests using automated test frameworks.
  • To work well in a team context according to the team’s shared practices.

Essential Attributes:

  • Excellent front-end web development skills:
    • HTML. Semantic markup patterns for flexible reuse and accessibility.
    • CSS. Good understanding of modern techniques such as Responsive Web Design, recent CSS advances such as flexbox but also supporting legacy browsers.
    • JAVASCRIPT. Excellent JavaScript programming skills, with knowledge of developing large, modular applications. Ability to write in ES6, and an appreciation of backwards-compatible / cross-browser JavaScript.
    • BUILDING ROBUST EXPERIENCES. Using progressive enhancement and mobile first approaches to create experiences that work everywhere and for everyone.
  • Accessibility – support all browsers with core content, ensure compliance with screen readers, in accordance with WAI standards, etc
  • Great understanding of UX concerns. We want smart devs who can provide valuable feedback to designers to improve wireframes and designs.
  • Ability to create production ready code with tests in one of: PHP, Ruby, Python or NodeJS (training will be provided if you don’t know PHP or NodeJS).
  • Understanding of Service Oriented Architectures and consuming RESTful web services via HTTP.
  • Experience of working in an agile or collaborative way.
  • Familiarity in using GitHub workflows
  • A level of familiarity with AWS or similar Cloud Infrastructure and associated tooling.

A Big Plus Would Be:

  • An enthusiasm for News.
  • Healthy interest in emerging platform level technologies – queues, microservices, caches etc.
  • Understanding of CI, experience with using a CI system (Hudson, Jenkins).
  • Knowledge of strategies to improve performance (HTTP caching, language best practices).

Application Closing Date
24th January, 2021.

How to Apply
Interested and qualified candidates should:
Click here to apply online

Click here for more information (PDF)

Note: There may be sub-sets of the generic job described above which require additional technical skills. This appendix to the generic job description can be developed to cover such situations.