Aller au contenu principal
Hall de service public lumineux et calme

Poste ouvert

Développeur full-stack, avec des bases en développement mobile

Nos utilisateurs n'ont pas toujours une connexion stable, ni un téléphone récent, ni la patience d'une interface confuse. Ces contraintes ne sont pas des détails à traiter en fin de projet : elles orientent l'architecture dès le premier jour. Le poste consiste à construire dans ces conditions.

Type de contrat
Stage, CDD ou CDI selon le profil
Lieu
Dakar — siège des Mamelles
Organisation
Présence sur site, souplesse possible
Expérience
Débutant sérieux à trois ans
Disponibilité
Dès que possible
Langues
Français indispensable

Le type de contrat n'est pas arrêté d'avance. Stage conventionné, contrat à durée déterminée ou contrat à durée indéterminée sont tous envisageables : la forme se décide au regard de votre profil, de votre expérience et de votre disponibilité, et se discute avant tout engagement de votre part.

Le poste

Pourquoi ce poste existe

Le poste couvre la chaîne complète : les interfaces que voient les utilisateurs, les services qui les alimentent, et les applications mobiles qui prolongent les plateformes sur le terrain. Vous n'êtes pas cantonné à une couche, et l'on n'attend pas de vous que vous soyez également fort partout — on attend que vous compreniez ce qui se passe de bout en bout.

L'environnement technique repose sur l'écosystème JavaScript et TypeScript : rendu côté serveur pour le web, interfaces de programmation applicatives pour les échanges, base de données relationnelle pour la persistance, conteneurs pour le déploiement. Côté mobile, nous travaillons en technologie multiplateforme.

Le code est relu. Systématiquement, dans les deux sens : vous relirez celui des autres et le vôtre sera relu. Ce n'est pas un contrôle, c'est la manière dont une équipe petite reste cohérente et dont un développeur progresse vite.

Le quotidien

Ce que vous ferez, concrètement

Non pas des attributions théoriques, mais les tâches qui occuperont vos semaines.

  1. 01

    Développer des interfaces web accessibles, lisibles sur un écran modeste et utilisables sans formation préalable.

  2. 02

    Concevoir et mettre en œuvre les services qui les alimentent : modèles de données, points d'entrée, règles de validation, gestion des erreurs.

  3. 03

    Contribuer aux applications mobiles, en tenant compte du mode dégradé — connexion intermittente, synchronisation différée, économie de batterie et de données.

  4. 04

    Écrire les tests qui protègent ce que vous livrez, et corriger ce qu'ils révèlent.

  5. 05

    Relire le code de vos collègues, et argumenter vos remarques autrement que par une préférence personnelle.

  6. 06

    Participer aux choix techniques : les décisions se prennent en expliquant, pas en décrétant.

  7. 07

    Déployer, observer le comportement en production, diagnostiquer un incident et le corriger.

  8. 08

    Documenter ce qui n'est pas évident — non pas tout, mais ce qu'un collègue ne devinerait pas.

Profil recherché

Ce qui est nécessaire, ce qui est un plus

Une annonce où tout paraît obligatoire décourage de bons candidats. Nous séparons donc clairement les deux — et si la seconde colonne vous semble hors de portée, postulez quand même.

Indispensable

Ce sur quoi nous nous appuierons dès les premières semaines.

  • Une maîtrise réelle de JavaScript, et l'envie de travailler en TypeScript si ce n'est pas déjà le cas.
  • Des bases en développement mobile : vous avez déjà construit et fait tourner une application sur un téléphone, même modeste, même personnelle.
  • La compréhension de ce qui se passe entre un navigateur et un serveur : requêtes, formats d'échange, codes de réponse, authentification.
  • Git et la ligne de commande, employés quotidiennement et non subis.
  • Un français écrit correct : le code se lit, les messages de commit et les commentaires aussi.
  • Un projet, personnel ou professionnel, que vous pouvez nous montrer et surtout nous expliquer.

Apprécié

Ce qui distingue, sans être exigé. N'en avoir aucun n'écarte personne.

  • Une expérience en React et dans un cadre de rendu côté serveur.
  • Une expérience mobile multiplateforme, en React Native ou en Flutter.
  • Des notions solides de bases de données relationnelles et de SQL écrit à la main.
  • Une pratique de la conteneurisation et de l'intégration continue.
  • Des contributions publiques, des projets publiés, ou simplement un dépôt bien tenu.
  • Une sensibilité à l'accessibilité et aux performances sur matériel ancien.

Manière de travailler

Ce qui compte autant que les compétences

  • Vous préférez un code lisible à un code astucieux. Le second impressionne une fois, le premier sert pendant des années.
  • Vous savez expliquer pourquoi vous avez choisi une solution plutôt qu'une autre, et changer d'avis devant un meilleur argument.
  • Vous vous intéressez à qui utilise ce que vous écrivez, et dans quelles conditions.
  • Vous demandez de l'aide sans attendre : ici, rester bloqué en silence n'impressionne personne.

Ce que le poste apporte

Ce que vous y trouverez

  • Une revue de code systématique, qui est la manière la plus rapide de progresser quand on débute.
  • Des contraintes techniques réelles — réseau instable, matériel ancien, usage hors ligne — qui font de meilleurs ingénieurs que les environnements confortables.
  • La chaîne complète, de la conception au déploiement, sans être enfermé dans une spécialité.
  • Une équipe assez petite pour que votre travail se voie, et assez attentive pour qu'il soit accompagné.

Postuler

Comment candidater

Une candidature part par courrier électronique, à contact@jappandaltech.com, avec l'objet déjà rempli si vous utilisez le bouton ci-dessous.

Vous recevez un accusé de réception sous trois jours ouvrés, puis une réponse motivée sous quinze jours ouvrés, favorable ou non. Nous ne laissons aucune candidature sans réponse.

Ce que doit contenir votre dossier

  • Un curriculum vitæ, ou à défaut un profil professionnel à jour.
  • Le lien vers un dépôt de code, un projet publié ou une application que vous avez construite — l'important n'est pas qu'elle soit ambitieuse, mais qu'elle soit vôtre.
  • Quelques lignes sur une difficulté technique que vous avez résolue, et sur la manière dont vous vous y êtes pris.
  • Votre disponibilité et le type de contrat que vous recherchez.

Pas besoin d'une lettre de motivation formelle. Quelques lignes écrites pour ce poste, avec vos mots, nous en diront davantage qu'une page de formules.

Après l'envoi

Les six étapes du recrutement

  1. 01

    Vous écrivez

    Une candidature part par courrier électronique, avec les pièces indiquées dans l'annonce. Un accusé de réception vous parvient sous trois jours ouvrés.

  2. 02

    Nous lisons

    Chaque dossier est lu en entier, par une personne. Vous recevez une réponse motivée sous quinze jours ouvrés, quelle qu'elle soit.

  3. 03

    Premier échange

    Quarante-cinq minutes, sur place ou à distance. Nous parlons de votre parcours et du poste tel qu'il est réellement, sans enjoliver.

  4. 04

    Mise en situation

    Un exercice court, adapté au poste : une note de qualification pour le poste commercial, un exercice de code borné pour le poste technique. Il se prépare en quelques heures, jamais en un week-end.

  5. 05

    Rencontre avec la direction

    Un échange sur les conditions, les attentes réciproques et la manière dont le poste s'inscrit dans les mois qui viennent.

  6. 06

    Décision

    Une proposition écrite, ou un refus motivé. Dans les deux cas, sous une semaine après le dernier entretien.

Autre poste ouvert

Commercial — solutions numériques et partenariats

Lire l'annonce

JÀPPANDAL TECHINNOVATION recrute sur les seuls critères de compétence, d'expérience et de manière de travailler. Le traitement des candidatures est décrit dans notre politique de confidentialité.