Skip to Content

Software Engineer – Python/Django

Grenoble

Job description

As part of the continued development of the Arkindex platform, TEKLIA is recruiting a Software Developer (permanent position – CDI) with at least one prior professional experience or a significant internship.

You will contribute to the design and implementation of a complete distributed system for the automatic understanding of digitized documents using Machine Learning and Deep Learning models.
Day-to-day tasks include writing specifications with team leader for upcoming developments, implementing new features in Python and Vue.js for our main product (Arkindex platform), writing unit tests and documentation.

TEKLIA collaborates with numerous universities and research laboratories in France, national archive services (France, Netherlands, USA), government institutions (such as the Service Historique de la Défense), international NGOs (ICRC), museums (musée Guimet, musée du Louvre) and private archives (LVMH, Crédit Agricole).

The project is built entirely on open-source technologies. We aim to produce frequent releases with good code quality (2 to 3 weeks per release for Arkindex), preventing regressions and focusing on quality of life for our end-users (ML researchers & engineers).

Technical Stack

  • Languages / Frameworks: Python 3, Django, Vue.js, Bulma

  • AI / ML:  PyTorch, HuggingFace

  • Databases & Search: PostgreSQL, Redis, Solr

  • Interoperability: IIIF (http://iiif.io/) for images

  • Documentation: Asciidoc

DevOps Environment

  • OS: Linux everywhere (mostly Ubuntu)

  • Infrastructure: Docker for all deployments

  • CI/CD: GitLab CI, with unit tests, linting, ...

  • Hardware: Bare metal and cloud servers (CPU + GPU)

Team

You'll work in the Product Team, under the direct supervision of the CTO and the Arkindex lead developer.
Your peers work remotely across France (Grenoble, Strasbourg, Clermont-Ferrand), with 3 out of 5 developers meeting weekly in Grenoble, and communicate through visio-conference tooling & Slack messaging.

Work Environment

  • Location: Grenoble (coworking space La Turbine) or Paris (offices in Montparnasse)

  • Remote work : Full remote allowed after onboarding. We are all working remotely in that team: you'll either work 1 day a week from Grenoble if you are close by, or come every few weeks to Grenoble for a few days if you live further away.

  • Contract: Permanent position (CDI)

  • Start date: As soon as possible

  • Work hours: 35h (from 9am to 6pm, with lunch break) across 5 days, or 32h across 4 days.