This job ad has been posted over 40 days ago! (*)
vacancy: Developer
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.
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.
Job specification: 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.