Python Software Developer
Open Data Services Co-operative Ltd
- Closing: 6:00pm, 12th Jun 2023 BST
Job Description
You'll join a small team of developers who build and maintain Python open source tools that help people prepare, publish, process and use open data. We often work closely with data analysts within our co-op, partners and domain specialists with different disciplinary backgrounds. You'll work with the team to deliver both long term products and rapid prototypes.
Responsibilities:
Develop and maintain software tooling, applications, and infrastructure which supports development, documentation, and usage of data standards.
Develop and maintain tooling that enables people to work with data.
Engage with growing user communities around data standards.
Get involved in planning development, deploying code and testing user experiences.
Review code for other team members.
Over time, you’ll get involved in the wider work of our 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.
The data standards you’re likely to be working with in your first year include Open Referral, the Beneficial Ownership Data Standard (BODS), 360Giving, or the International Aid Transparency Initiative (IATI).
After your probationary period, you’ll 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.
We welcome and encourage applications from people who have not taken a traditional route to gain the skills they have today; we do not look for particular qualifications, education or employment histories.
Who we are
Open Data Services is a worker cooperative that helps organisations across the world to use data to make and measure change. We offer the technical know-how, community engagement and capacity building needed to create initiatives that are collaborative, impactful and sustainable.
Joining our team means you’ll contribute to our mission to help people use data to deliver social impact. Since 2015, we’ve worked on projects that have made a difference – like finding out who owns and controls companies, making public procurement more open, or tracking international aid spending.
We’re a worker’s co-operative, which means we’re owned and run by the people who work here. Together, we’re committed to building a world-class organisation that delivers benefits to our team, our clients, and the world we live in
We’re a remote team, working all across the UK. We care about creating a good work/life balance, and work to build an environment where everyone’s unique experiences are welcomed, valued and appreciated.
Who you are
You want to explore how we can use technology and open data as tools for positive social change.
You have a background as a Python developer, building web applications, APIs, libraries and/or command-line applications, and working with databases, including writing SQL queries. You have experience in, or a desire to progress towards general, full-stack development. You don’t need to be an expert in everything, but have a set of skills that you can bring to complement our team.
You would benefit from experience working with data, in structured and tabular forms, in particular as part of data pipelines or ETL (extract/transform/load) pipelines. If you don’t have this experience, you are keen to learn on the job, supported by your colleagues.
You’re comfortable working in a modern development team environment, including writing tests, carrying out and performing code reviews, documenting your work, and collaborating on shared code with Git.
As part of a small and fully-remote team, you’re confident working autonomously, managing and prioritising your workload, checking in and coordinating with others as needed. You’re able to understand and express your own training needs, and are not afraid to ask for or offer help.
You thrive in a non-hierarchical structure, able to take initiative and work under your own steam, and understand the value of clear and thoughtful communication.
In addition to working on client projects, you’ll eventually be able to take part in collective decision-making and running the business. You should have a strong interest in co-operative working. You have skills, experience or enthusiasm in areas outside of software development that you can use to support our co-operative.
How we work
We build tools for ourselves and for clients using a range of technologies within the team. We’re continually experimenting and evaluating new technologies that may better serve our projects and our client’s needs.
We don’t expect all our developers to become experts in everything we do, but for information here are the technologies we currently use: our Python projects primarily use Django or Flask. Some of our projects involve JavaScript (including NodeJS, Vue and visualisation libraries), and we work with various databases (including Postgres, SQLite, Redis, ElasticSearch/Solr), hosting environments, and production tools (including Linux/Ubuntu, Salt, Docker, Dokku, RabbitMQ, Sphinx). We often build prototype tools or support our data analysts using collaborative notebooks (such as Colab, Deepnote, Jupyter). The data we handle comes in a variety of formats, including JSON, CSV and XML.
We work together to write and improve documentation as we go, to create resilient teams and reduce the pressure on individuals.
As a fully remote team, we collaborate using issue tracking systems (including Github), kanban boards, and shared documents. We hold meetings via video calls, schedule things with a shared calendar, and message each other in a company-wide chat for quick questions, or to arrange ad-hoc calls. We work transparently and in the open: except for confidential or sensitive personal information, almost all company information is accessible to all staff.
We offer a flexible working policy to promote good work-life balance, and so you can adjust your working pattern to accommodate your personal circumstances. Around half our workers are part time.
What the job involves
First week:
You’ll meet your team in-person or online. You’ll be set up with accounts and familiarise yourself with the software and systems we use. We will set you up with the equipment needed for a comfortable home working environment or coworking space.
You’ll be introduced to an initial task to work on, and find out about the relevant documentation, tools and data standard, as well as about how we do our development work.
First month:
You’ll work on your first task, paired with another developer who is familiar with the area. This may involve working with others within our co-op, or with external collaborators or directly with the client, depending on the project. You’ll have plenty of time to read documentation to get up to speed, and will be writing code to fix bugs or add or improve features, as well as reviewing other peoples’ PRs, as soon as possible.
You’ll have introductory calls with other staff so that you can understand our co-op and start getting to know the team. You’ll start to learn about our co-op’s internal structure, groups and governance processes.
We will work with you to identify any specific training or support you may need, and put a plan in place.
First six months:
You’ll continue to work on tasks related to a particular project or data standard. As you gain understanding in the various aspects of data standard development, you’ll also have the opportunity to get involved in conversations about new feature specification, or higher level direction of the project.
You may have the opportunity to contribute towards a second project as well.
You’ll also take part in discussions about our development best practices and tooling, and the types of things we work on. There is also the possibility of taking on responsibility for specialised tasks according to your skillset (eg. server administration).
You’ll observe your first Ordinary General Meeting, and be invited to attend at least one in-person event with your colleagues.
First year:
We’ll develop your role together, according to your interests and the needs of our co-op. This may involve taking ownership of a particular feature, piece of software, or project; leading development for a particular data standard; or providing burst capacity for a variety of projects.
You’ll have the opportunity to become a co-op Member and company Director, completing appropriate training as needed, and getting involved in other aspects of running the business according to your abilities and interests.
Benefits
We operate a flat rate of pay for all staff, currently set at £43,120 per calendar year. The Members may also decide to distribute a portion of company profits between all staff at the end of the financial year.
We provide a 4% pension contribution to our Workplace Pension scheme.
We provide all of the hardware, tools and software required for the job, including a laptop or desktop computer and any equipment or furniture required for a safe and comfortable home-working setup. Staff are also free to use their own devices.
We pay for a local co-working space if you don't want to work from home.
We offer a training budget of £1,000 and 5 paid days per year, and are committed to supporting appropriate staff development and training.
Our benefits package includes a health cash plan, group life insurance, generous parental leave, a health and wellbeing service that includes GP consultations and counselling, a cycle-to-work scheme, and an allowance for eye tests.
Further details
As we’re a remote working organisation we will consider applications from anywhere in the UK. You must have the right to live and work in the UK.
Full time hours are set at 37.5 hours a week with 33 days' holiday (inclusive of bank holidays). We welcome applications for part-time working.
This role requires occasional national travel to meet with colleagues in-person. We’re committed to the safety and well being of our members and employees and offer a range of support for employees, to ensure that work travel complements your life situation, particularly during the ongoing pandemic.
Next steps
You can start the application process by clicking on the apply button.
You’ll answer some questions that are related to your day-to-day job. After the job closes, your answers will go through our de-biased sift process: all answers will be anonymised, randomised and then scored by members of our team. Without revealing personally identifying information, your answers should also help us to know you as a person, and what experiences led you to develop your skills in this area.
If you’re shortlisted, we’ll invite you to the next step, which includes a remote interview. At the end of the application process, we'll provide some feedback and let you know how well you performed.
Interviews are expected to take place in late June.
If we can do anything to facilitate your application please get in touch via jobs@opendataservices.coop. Your application will still remain anonymous to people involved in the hiring process.
We are an equal opportunities employer
We’re committed to equal employment opportunity and are determined to ensure that no applicant or employee receives less favourable treatment on the grounds of age, belief, disability, gender, marital status, religion, race, sex, or sexual orientation, or is disadvantaged by conditions or requirements which cannot be shown to be justifiable.
We particularly welcome applications from women, disabled, and ethnic minority candidates as these groups are underrepresented in our organisation.
Removing bias from the hiring process
Applications closed Mon 12th Jun 2023
Removing bias from the hiring process
- Your application will be anonymously reviewed by our hiring team to ensure fairness
- You won't need a CV to apply to this job
Applications closed Mon 12th Jun 2023