Senior Software Engineer

SpaceFill en quelques mots

Pionnier de la logistique digitale, SpaceFill est en train de construire le premier réseau européen d’entrepôts, embarqué sur un logiciel SAAS.
SpaceFill permet aux PME ou grands groupes de mieux gérer leurs stocks et flux de marchandises en quelques clics. Ils peuvent ainsi construire des chaînes logistiques plus efficaces, vertes et résilientes au plus proche de leurs marchés.

Descriptif du poste

Ta mission sera de renforcer l'équipe IT pour créer et améliorer les différentes applications de SpaceFill à usage interne et externe.

Tu travailleras pour la partie produit avec Gustave (CPO), Momoko (PD), Thibault (PM), Tristan (PM), Xavier (Head of Product) et pour la partie Tech avec Matthias (VP Engineering), Stéphane (CTO) et 12 autres Développeurs FullStack (Alexandre B (Engineering Manager), Belkacem, Brice, Elias, Elouan, Frédéric, Stanley, Thibaut, Timothée, Vincent, Jordi (Lead Tech) et Younes).

En pratique, chez SpaceFill, un "Senior Software Engineer" joue le rôle de maintainer, un peu comme dans l'univers Open Source (clique ici pour en savoir plus...).

Répartition approximative du travail de l'équipe : 60% Frontend, 30% Backend et 10% DevOps.

Tes activités quotidiennes en tant que Senior Software Engineer :

  • Coder en React et un peu en Node.JS
  • Écriture de query et mutation GraphQL
  • Faire évoluer la base de données PostgreSQL
    • modélisation des données (tables)
    • écriture de migration de données
    • écritures de triggers en pgSQL
    • ...
  • Écriture de fonctions pgSQL pour implémenter des Queries ou Mutations GraphQL customs
  • Rédiger, améliorer et commenter des issues
  • Prendre soin de tes Merge Requests afin de les pousser le plus rapidement possible en production
  • Faire de la revue de code
  • Écrire des spécifications techniques et parfois participer aux specifications produits
  • Guider un nouveau développeur dont il est le parrain
  • Améliorer continuellement la documentation du projet
  • Écrire des tests UI
  • Des interventions ponctuelles DevOps (Terraform / Ansible)
  • Écrire, faire évoluer quelques scripts Python

Quel est le projet ? Qu'est-ce qu'il faut développer ?

Quelques informations à propos des projets de l'équipe Tech de SpaceFill :

  • continuer l'amélioration d'une market place d'espace de stockage (B2B) à destination de toute l'Europe
  • continuer l'amélioration de notre Order Management System (solution en SaaS)
  • intégration de notre Order Management System avec les différents WMS et ERP du marché
  • et de nombreux autres services liés à la logistique

D'un point de vue tech, en dehors de l'implémentation de nouvelles fonctionnalités :

  • continuer à améliorer la stabilité de nos développements
  • amélioration de nos fixtures
  • amélioration des tests end2end
  • amélioration de l'UX et du "look" de nos applications
  • du refactoring de code frontend
  • ...

Méthode de travail

L'équipe Tech de SpaceFill essaie autant que possible de suivre la méthode Scrum.

Ce que nous avons déjà mis en place :

Nous utilisons GitLab pour :

Tout changement dans le code ou la documentation passe par une Merge Request avec un process de review.

Stack actuelle

Quelques informations supplémentaires concernant le fonctionnement du backend :

L'API GraphQL est auto générée par Postgraphile qui est un serveur OpenSource écrit en NodeJS qui se connecte "au dessus" de PostgreSQL.
Cela ressemble à Hasura, Supabase ou Firebase.
Les paramétrages, adaptations peuvent se faire soit via des commentaires sur des ressources PostgreSQL (tables, champs), soit via la création de Views ou de functions PostgreSQL.
Les tâches qui ne peuvent pas être effectuées par PostgreSQL, comme par exemple l'envoi de mails, la génération de PDF… sont effectuées par un "service worker", avec du code NodeJS "classique".

Environnement de développement

L'environnement de développement est documenté pour MacOS.

Il est possible sans difficulté de développer sous GNU/Linux.

Par contre, l'environnement de développement n'est pas compatible avec Microsoft Windows.

Profil recherché

  • Bonne maitrise de Git (tu devras jongler tous les jours entre plusieurs Merge Request, faire des Git Squash, Git Rebase…)
  • Maitrise ReactJS et PostgreSQL (PL/SQL, Triggers, migrations…)
  • Bonnes connaissances théoriques des technologies web : HTML5, DOM, CSS3, Javascript, HTTP, API Rest, GraphQL etc
  • A une expérience en développement web front avec un framework du type AngularJS, VueJS, ou encore mieux ReactJS
  • Bonne maitrise de la communication écrite
  • A au minimum 6 ans d'expériences professionnelles, si possible dans au moins deux entreprises différentes, dans une équipe agile (Scrum ou autre) de 4 à 10 personnes
  • A une maitrise pratique du modèle inner source / open-source : Git, GitLab Merge request, revue de code, documentation…

Informations complémentaires

  • Type de contrat : CDI
  • Bureau : dans le 2ième arrondissement de Paris
  • Équipement : 1 Macbook Pro 16" M1Pro 32Go Ram ou ThinkPad + 250€ de budget de set up de bureau
  • Tranche de salaire : entre 42K€ et 60K€ brut / an
  • Carte tickets restaurant Lunchr de 8 € / jour
  • Assurance santé Alan
  • Télétravail possible, plus d'informations : La pratique du télétravail chez SpaceFill
  • Convention collective : Syntec
  • Période d'essai : 2 fois 4 mois

Voir aussi le document : le processus de recrutement