Passionate about data? If you want to be part of building the next generation of open source tooling for open data management systems, we’d love to hear from you!
A little about us…
- We’re mission-driven
- Open-source
- Have a great culture
- Datopian is run using self-organisation principles and Holacracy
- Love the freedom that remote / flexible working gives us
- We’re inspired to work on interesting projects (key clients include large public institutions, NGOs and enterprises)
We operate virtually, so you will have the freedom to work from wherever you want (meeting scheduling permitting).
We are looking for a highly-motivated and skilled individual to join us as a Python Developer to work on different data-driven projects using CKAN project which is an open-source Python software currently maintained on GitHub.
Your responsibilities would include:
- Customization of base CKAN instance, e.g., adding new APIs and features. This normally involves development of new custom CKAN extension.
- UI/UX customization using CKAN's native Jinja2 templating approach with Bootstrap CSS. We don't expect you to be a frontend developer but you should know how to make standard frontend work.
- Installation and configuration of different CKAN extensions. If required, if necessary, address bug fixes and implement improvements to ensure optimal functionality.
- Data migration from/to CKAN.
- If necessary, provide support to our customers during the onboarding and/or handover processes. Typically, these activities occur after the development phase.
- Upgrading CKAN.
- Experience: mid level software engineer with strong Python development background.
- Communication and soft skills: needs to be proficient in written and spoken English, confident during presentations and interactions.
- Must know:
- Git - we use git for everything we do from coding to content writing so you need to use Git via command line and commit your work to GitHub on daily basis.
- Python - our main software is written in Python (learn more about it here) and you need to be able to maintain the code, develop extensions and new features etc. In particular, you would need to know Flask framework and Jinja2 templating engine.
- Docker - as we ship our software in Docker containers, you need to work with Docker on a daily basis.
- Good to have:
- Kubernetes - we deploy everywhere (GCP, AWS, Azure or on-prem) using Kubernetes.
- Terraform - our standard tool for infrastructure-as-a-code approach.
- Cloud - preference is GCP but experience with AWS/Azure is a great value for us.
- Bonus if you know:
- JavaScript - pure JS is great but we also use a lot of Next.js nowadays.
- CSS - in particular TailwindCSS and/or Bootstrap would be amazing.
Start date: As soon as feasible.
Rate: Commensurate with ability and experience.
Location: Datopian is a remote-first workplace; experience in remote working is desirable (but not essential). We are currently looking for people in European / East Coast US time zone (we’re happy for people to work elsewhere provided they are available for meetings during European / East Coast usual working hours).
To assess your application, we would like you to complete the following assignment:
- Go through the getting started guide here - https://portaljs.org/docs/dms/ckan/getting-started
- We expect you to complete play around, installing extensions and creating your own extension guides.
- Once completed, create a short (2-3 minutes) Loom video about your new CKAN extension explaining what you have created.
- Please, send us an email with your details to [email protected] and the link to your Loom video should be shared with your details. Indicate the role you are applying to and explain why do you think you might be a good fit.