Back to All Events

Open Data Services - Developer


  • CodeBase Edinburgh 38 Castle Terrace Edinburgh, Scotland, EH3 9DZ United Kingdom (map)

Developer

We’re looking for a developer to join our small friendly team within a technology co-operative. We work on projects that use open data for social change.

Apply by 15th April 2019

You will:

  • Build and maintain open source tools to help with the preparation, publication, processing and application of open data to unlock its social and political potential;

  • Develop and maintain data standards, and data standard extensions, for a range of data standards, including Open Contracting, Beneficial Ownership & 360Giving (all of which use JSON Schema), and IATI (which uses XML Schema);

  • Work as part of the development team to deliver both stable products and rapid prototypes for our partners, and to support key open data standards;

  • Engage with growing user communities around data standards;

  • Get involved in planning, deploying and testing code and user experience;

  • Get involved in the wider work of the co-operative, supporting communities and organisations across the world to understand open data, to publish data using open standards, and to reuse data in accessible, user-centred tools and services.

We have a strong commitment to free and open source software, rooted in our co-operative ethics.

A great candidate will be:

  • Proactive, motivated and engaged — ready to work independently and as part of a team, prioritising and managing a varied workload, and committed to working on short and long-term projects with a social impact.

  • We’re a distributed team, so you will mostly be remote/home working, with opportunities to travel locally and internationally to work with partners, and for regular team meetings and co-working.

  • A lifelong learner — excited about the opportunity to be part of building an emerging co-operative, working in a rapidly developing field, and building on and contributing to emerging open technologies.

  • A team player — already familiar with some of the technologies we already use, and ready to learn the others. An understanding of the open data landscape and data standards will be helpful, as would experience working on small-to-medium sized collaborative software projects.

Responsibilities

The core of this role will involve planning, developing and maintaining software and services that work with open datasets in a range of formats and standards, and working on the ongoing technical development of those standards.

There are opportunities within this role to get involved in a number of short-term research and development projects, where we help partners to understand the potential of open data through workshops, collaborative work and code.

On a day-to-day basis you will be:

  • Writing code;

  • Reporting and responding to issues and fixing bugs;

  • Deploying software to live, staging and development environments;

  • Attending daily stand up meetings to prioritise work for the day;

  • Helping colleagues and clients prioritise work over the longer term;

  • Ensuring that documentation is clear, concise and helpful to a range of users;

  • Monitoring the use of software, using a variety of tools;

  • Contributing to team meetings and the growth of the co-operative.

You’ll also have opportunities to get involved in the wider work of the co-operative, which could include:

  • Designing and developing data standards and schema;

  • API design and development;

  • Supporting data users with innovative tooling and coming to understand their needs.

Some of the main technologies we currently work with include:

  • Programming language & frameworks: Python - Django & Flask; Bash scripting

  • Version control: Git (GitHub)

  • Hosting: Linux; SaltStack; Apache; uwsgi; server monitoring with Icinga2

  • Testing and Continuous Integration: py.test, selenium and Travis CI

  • Data formats: JSON, Spreadsheets (including CSV), XML

  • Database technologies: Elasticsearch, Relational databases behind Django’s ORM, PostgreSQL

  • Documentation: Sphinx; Markdown; ReStructuredText

We are agile in our approach to development, and work in the open through public issue trackers for many of our projects.

Person specification

Values

We believe in transparency, openness, kindness and co-operation. We recognise that these values can look very different in different people, and we’re working to avoid creating a monoculture. As a small organisation, each new person shapes the culture. If you share our values, we’ll make sure you fit in.

Skills and experience

We recognise that there are many paths to becoming a competent software developer. We are more interested in demonstrable skills and experience than in qualifications, but if you have them we’d like to hear about them. Our work is in a specialist area, so we’ll make sure that you have plenty of time to learn about what we do, to learn new skills that you need to do the job, and to work out how to apply your existing skills to the work.

With that in mind, we’re looking for the following key skills, knowledge, and experience:

  • Front-end and back-end web development, including MVC, with the ability to rapidly learn new tools and technology;

  • Experience developing code that handles complex data structures and algorithms;

  • Experience of developing in Python or a similar language;

  • Data manipulation and management;

  • Use of version control tools to manage collaborative development;

  • Understanding of open source;

  • Ability to work as part of a diverse team, including interacting with clients;

  • Communication skills: We ‘work out loud’ and communicate via email, video calls, presentations, ticketing systems, and collaborative documents.

The following skills and experience are also helpful. Tell us about any you can bring to the team in your application:

  • Experience working with a large number of our current technologies;

  • Experience of working with or providing APIs and/or working with a data standard;

  • Experience of software testing and deployment and systems administration;

  • Experience of communicating with software users about bugs, upgrades, changes to code;

  • Experience of creating front-end interfaces using templating languages;

  • Experience with multiple programming languages;

  • Prior knowledge of the open data movement and community and/or understanding of open source software and content licensing;

  • A demonstrated commitment to co-operative values;

We’re also interested in any ‘wildcard’ skills and experience you might bring to the team, so please add these to your application.

If you do not have all of these skills, knowledge and experience but you think that this is the right role for you then do apply.

About the team

You will be joining a team whose backgrounds include software development, physics, philosophy, HCI, youth work and business analysis. Just under half the current developers are women. We recognise and celebrate the value that diverse backgrounds and experience bring to the co-operative.

Our recent work

The team that you’ll be joining has recently:

What can we offer?

Everyone who works here has a say in how the organisation is run. As a workers co-operative, the members own the organisation. We are committed to creating a great place to work that combines social impact and work-life balance, and that supports team members to develop their careers, technical skills and skills for co-operation.

We are a remote working organisation. We get together at least four times a year for co-operative meetings, and encourage everyone to meet with their immediate project colleagues more regularly.

We operate a flat pay structure, with allowances for workspace, technology and training, and for travel for co-working with colleagues.

You will have access to training and support from colleagues in order to understand the policy context or technical details of the standards and projects we work on.

After your probationary period, you will have the option to become a co-operative member, and be involved in the running of the business: gaining a stake in its future, and the opportunity to develop new skills in co-operative business management. Members can also decide on bonus payments, shared equitably amongst the team, based on profit for the year.

Contractual details

Timing

We’re looking for someone to start as soon as possible, and by 1st July at the latest.

Location

We’re a UK-based distributed team and all work from home or a co-working space, with regular team meetings and co-working. We will consider applications from anywhere in the UK.

You must have the right to live and work in the UK.

Remuneration & benefits

As a collectively managed co-operative, we operate a flat rate of pay for all staff. This is currently set at £37,822 p.a. We provide a 3% pension contribution.

This post is a permanent contract.

We operate a Bring Your Own Device (BYOD) policy and provide the online tools and software you need for your job. If you don’t already have a home working set-up, or need to find local co-working space, we’ll help with the costs of getting that all set-up.

We offer a training budget of £1,000 and 5 paid days per year, and are committed to supporting staff development, training and conference attendance. We provide a cycle-to-work scheme, and allowance for eye tests.

Hours and holiday

Full time hours are set at 37.5 hours a week with 33 days holiday (inclusive of bank holidays). We will consider applications for part-time working of 0.6 FTE and above.

Within reasonable limits we operate a flexi-time policy. We have a short team call each morning to plan work for the day which we expect everyone to try and join - and then we each set our schedules accordingly, striving for a good work-life balance.

How to apply

Applications are via a web form. Personal details are collected at application, but these are hidden from the selection panel to reduce potential unconscious bias, and used only for communicating with you, and for monitoring the demographic makeup of applicants to inform future decisions. Details of unsuccessful candidates will be deleted within 90 days of the end of the recruitment process.

The closing date for applications is 9am on 15th April 2019.

  • A first round of filtering is carried out to remove applications that are incomplete, invalid or that do not demonstrate any of the key skills required for the role.

  • A second round of selection is carried out to identify candidates for interview.

Remote interviews (usually via Google Hangouts Meet, audio-only) will be held in late April/early May.

Successful candidates will then be invited to an in-person interview in mid-May, at a mutually convenient time and location in the UK. We’ll pay your travel and accommodation costs (if necessary) if we invite you to interview.