« Back to Index

Senior Ruby Programmer: Job Spec

View original Gist on GitHub

senior-ruby-programmer-job-spec.md

Context

The BBC News Frameworks team is responsible for designing and developing web services and tooling utilised by the wider BBC engineering teams. We’re looking for a Senior Ruby Programmer to help lead the technical design and development of product requirements.

If you’re passionate about solid object-oriented code design, investigating emerging web technologies and building highly scalable micro services for the future of the BBC News platform, then we’d love to hear from you.

If you don’t currently match the job spec completely then don’t let this dissuade you from applying. We’re looking for intelligent people who are quick to learn and adapt. The BBC is the perfect place to do just that: we invest heavily in helping our engineers to grow in all aspects of their career.

Purpose of the role

The primary focus at this stage is on the evolution of our internal “page composition as a service” (CAAS) platform, codename: Mozart. Mozart is a collection of decoupled micro services designed to parse routing information and to render components required for the page being requested using dynamic configuration.

We’re almost at our initial v1 milestone and are considering requirements for v2, which you’ll be heavily invoiced with its design and conception as well as joining the discussion amongst senior technical architects in order to ensure a robust and scalable system.

You’ll be working with the Ruby programming language, as well as a little Go, and utilising technologies such as Docker to help keep the local development workflow fluid.

Responsibilities

Required skills

Desirables

These are ‘nice to haves’ but not essential:

Competencies

  1. Analytical thinking: able to simplify complex problems, process projects into component parts, explore and evaluate them systematically. Able to identify causal relationships and construct frameworks, for problem solving and/or development

  2. Decision making: is ready and able to take the initiative, originate action and be responsible for the consequences of the decisions made

  3. Imagination/creative thinking: is able to transform creative ideas/impulses into practical reality; can look at existing situations and problems in novel ways and come up with creative solutions

  4. Resilience: can maintain personal effectiveness by managing 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 and motivation.

  5. Influencing and Persuading: ability to present sound arguments that convince others of their point ofview. Ability to form effective working relationships with a wide rangeof contacts.

  6. Communication: the ability to get one’s message understood clearly by adopting a range of styles, tools and techniques appropriate to the audience and the nature of the information.

  7. Managing Relationships: able to build and maintain effective working relationships with a range of people; team working

  8. Problem Solving: able to simplify complex problems, processes or projects into component parts, explore and evaluate them systematically. Able to identify causal relationships, and construct frameworks, for decision making and problem-solving. Transforms proposals/ideas into practical reality.