Data Systems Developer

Posted by Open Data Services Co-operative on Wed, 31 Jan 2018
Contract type: permanent. Location: United Kingdom (Remote)

Closes 19th February.

Open Data Services is a growing workers co-operative. We deliver sustainable support for world-changing open data projects, including the Open Contracting Data Standard, the 360Giving open philanthropy initiative and the International Aid Transparency Initiative (IATI).

We’re an interdisciplinary team, with developers, analysts and researchers working together to create sustainable tools and services that help organisations publish and use open data for social change.

Since we started in 2015 we’ve grown from 4 to 15 members of staff based across the UK, providing family-friendly and flexible working. We’re creating a great place to work, whilst contributing to open data impacts across the world.

We’re now seeking a new person to help develop software as part of projects that use open data for social change.

We welcome applications from underrepresented minorities, and we value diversity within our workforce. If we can do anything to facilitate your application, please get in touch.

All employees are eligible to become co-operative members, taking an equal stake in the future development of our work.

New to co-ops? The Workers Co-operative Code provides more information about what makes a worker co-op different. We started with a collective structure, and this year have been exploring aspects of a self-managing team model.

Is this you?

We’re looking for a data systems developer to join our small co-operative team.

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 & 360Giving (JSON Schema) and IATI (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 team player — 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 lifelong learner — familiar with many 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 applications 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;
  • Contributing to software development roadmaps;
  • Prioritising feature development;
  • Clarifying tasks within the team and with clients;
  • Working on updates to data standards and schema;
  • Monitoring the use of software, using a variety of tools;
  • Contributing to team meetings and the growth of the co-operative;

Some of the main technologies we currently work with include:

  • Data formats: JSON, Spreadsheets (including CSV), XML.
  • Programming language & frameworks: Python; Django; Javascript; Bash scripts.
  • Version control: Git
  • Hosting: Linux; SaltStack; Apache; uwsgi; Server monitoring with Icinga (nagios fork)
  • Testing and Continuous Integration: py.test, selenium and Travis CI
  • Database technologies: Elasticsearch, Relational databases behind Django’s ORM
  • Documentation formats: Markdown; ReStructuredText

We practice agile software development, and work in the open through public issue trackers for many of our projects.

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.

You will be joining a team whose backgrounds include software development, physics, philosophy, youth work and business analysis. We recognise the value that diverse backgrounds and experience bring to the co-operative.

Skills and experience

We’re passionate about how people develop new skills. We welcome people from a diversity of experiences and working history.

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.

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

  • Experience developing 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;
  • Strong communication skills: ability to communicate via email, video calls, ticketing systems, and collaborative documents.
  • Ability to communicate one to one, in small groups, and meetings and via presentations.

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

  • Experience working with a large number of the current technologies we work with;
  • 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 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 other skills or experience that you think would contribute to the life and development of the co-operative.

Contractual details

Location: We’re a UK-based distributed team and all work remotely, either from home or co-working spaces around the country. We have regular team meetings and co-working, often in Birmingham, Manchester and London. Current team members are located in or near Manchester, Bristol, Leeds, London, Stroud, Nottingham, Cambridge, Newcastle, Edinburgh and Belfast.

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

Remuneration & benefits: As a collectively run and owned co-operative, we operate a flat rate of pay for all staff. This is currently set at £37,008 p.a.

Open Data Services operates an auto enrollment pension scheme with 3% employer contributions. If you have an existing pension scheme, we may be able to make contributions to that. Our policy is to progressively improve employee benefits as the co-operative develops, with all co-operative members having an equal right to vote on benefits, dividends, and bonuses.

All employees, that have passed a successful probationary period, are entitled to become members. Each member is an equal owner of the business, and all members have an equal vote in decision-making.

Members are able to vote on profit distributions at the end of each year, part of which can be as a bonus to members. In the last year, we also voted on making contributions to a number of charities, open source projects, and to the Open Rights Group.

Training and development is encouraged with all employees allocated an equal individual training budget, set by the members.

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 to get that all set-up, and cover the initial and ongoing costs.

We offer salary sacrifice Childcare scheme vouchers that allow employees to reduce their childcare costs.

Hours and holiday: We welcome opportunities to work out a flexible and family friendly schedule with you. Full time hours are set at 37.5 hours a week with 33 days holiday a year (including bank holidays).

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 each set our schedules accordingly, striving for a good work-life balance. We are also committed to making reasonable adjustments to enable people to do their work