Nous recherchons un·e développeur·se avec déjà une première expérience professionnelle significative en Python pour poursuivre le développement de nos services. Avoir également de l’expérience avec Vue, Typescript, Docker ou Ansible est un plus.
Type d’emploi : CDI ou CDD, temps plein ou 4/5, poste sur Nantes (présentiel mini 2/3 jours par semaine) Ce n’est pas un poste de data scientist.
Qui est OctopusMind ?
OctopusMind, spécialiste de l’Open Data économique, développe des services autour de l’analyse des données. Nous éditons principalement une plateforme mondiale de détection d’appels d’offres : www.j360.info
L’entreprise, d’une dizaine de personnes, développe ses propres outils pour analyser quotidiennement une grande masse de données, en alliant intelligence humaine et artificielle www.octopusmind.info
Nous recherchons pour ce poste un collaborateur habitant à proximité de Nantes.
Nous vous proposons
L’équipe IT, sans lead developer, est en lien avec l’équipe R&D ML et l’équipe de veille des marchés. Nous suivons un SCRUM maison, ajusté régulièrement selon nos besoins. Nous discutons ensemble de nos priorités et nous les répartissons à chaque sprint selon les profils et envies de chacun·e.
Vous participerez :
Au développement back de j360 et son back-end (Python/Django, PostgreSQL, ElasticSearch).
Aux scripts de collecte de données (Python/Scrapy).
À la relecture de code et l’accompagnement vos collègues en leur fournissant du mentorat sur les bonnes pratiques, l’architecture, les design patterns, etc.
En fonction de vos centres d’intérêts :
Au développement front de l’application j360 (Vue3/Quasar/Typescript).
Au déploiement des applications (Docker/Docker-Compose, Ansible) et intégration des services R&D (Gitlab CI).
À la réflexion produit, analyse technique et à la définition des priorités de l’entreprise (Trello).
À l’ajustement de nos méthodes de travail au sein de l’équipe et de l’entreprise.
Avantages :
Horaires flexibles - RTT - Titres-restaurant - Participation au transport - Épargne salariale - Plan d’intéressement et plan épargne entreprise
Télétravail/présentiel
Statut cadre en fonction du diplôme/l’expérience (Syntec)
Processus de recrutement :
Les candidatures “one clic” ne sont pas regardées. Si vous prenez le temps de faire une candidature personnalisée, nous l’étudierons; sinon ne perdez pas votre temps, envoyez votre candidature à une ESN car on a pas de baby foot.
CV + présentation de vous et de ce qui vous intéresse à adresser par mail à job @ octopusmind.info
Vous pouvez illustrer vos compétences techniques avec des exemples de projets ou passer notre test technique.
Echanges et précisions par mail ou téléphone
Entretien dans nos bureaux à Nantes
Offre (salaire en fonction de l’expérience/niveau)
SVP pas de démarchage pour de l’outsouring ou cabinet RH, merci
Qui n'a pas rêvé de faire sa console de pirates qui contrôle ses agents au doigt et à l'œil traditionnellement sur IRC ?
C'est le principe d'un Control & Command parfois appelé C&C pour les botnets. Mais ici, on en fait un éducationnel.
Il s'agit de piloter des agents à distance en leur envoyant des commandes sur un BUS qui résulte dans des actions prédéfinies comme :
- arrêtes toi,
- reprends,
- dis si tu es présent et en vie …
Ci-suit un petit exemple en python de l'implémentation d'une telle logique en moins de 100 lignes de codes
Ingrédients
Cette recette nécessite : python, et en dépendances : paho-mqtt, confined, ainsi qu'un serveur MQTT (mosquitto avec ses utilitaires en ligne de commande) correctement configurés.
La pièce de résistance
Pour tout process que l'on veut piloter on va écrire du code python comme :
importpaho.mqtt.clientasmqttfromtimeimporttime,sleepfromconfinedimportparse,Value,popfromsubprocessimportPopen,PIPEimportpathlibimportosimportsocketstack=[]client_id=socket.gethostname()show_must_go=Falsedefon_connect(client,userdata,flags,reason_code,properties):print(f"Connected with result code {reason_code}")client.subscribe(f"BUS/{client_id}")client.subscribe(f"BUS")defon_lun(*a,**kw):kw["ctx"]["state"]="RAZ"defon_set_time_slice(*a,**kw):kw["ctx"]["time_slice"]=stack.pop().floatdefon_ping(*a,**kw):globalclient_idclient=kw["ctx"]["client"]client.publish("RES",f"'{client_id}':PONG")defon_sel(stack,**kw):globalclient_id,show_must_goifstack.pop().str==client_id:show_must_go=Truedefon_unsel(stack,**kw):globalclient_id,show_must_goifstack.pop().str==client_id:show_must_go=Falsedefon_test(stack,**kw):print("Yo")ctx=dict(cap=["www","forth"],time_slice=10,dispatch=dict(lun=on_lun,ping=on_ping,sel=on_sel,unsel=on_unsel,tsset=on_set_time_slice,_TEST=on_test,),)defon_message(client,userdata,msg):globalstack,ctxctx["client"]=clientclient.publish("RES",str(parse(ctx,msg.payload.decode(),data=stack,)))mqttc=mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,client_id=client_id)mqttc.on_connect=on_connectmqttc.on_message=on_messagemqttc.username="pub"mqttc.password="pub"mqttc.tls_set(keyfile="./cfg/pub.key",certfile="./cfg/pub.crt",ca_certs="./cfg/RootCA.crt",tls_version=2)mqttc.connect("badass.home",8883,60)mqttc.loop_start()os.chdir(os.path.dirname(__file__))plugins=pathlib.Path("../plugin")whileTrue:start=time()ifshow_must_go:forpinplugins.glob("*_enabled"):withPopen([p,],stdout=PIPE,stdin=PIPE,stderr=PIPE,bufsize=0,)aswriter:whileres:=writer.stdout.read():writer.stdout.flush()formsginres.split():mqttc.publish(f"DATA/{client_id}",msg.decode())mqttc.publish("DATA/",f"{client_id}:core.processing_time:{time()-start}:GAUGE")iftime()-start<ctx["time_slice"]:sleep(ctx["time_slice"]-(time()-start))
Le client est en mode parano : TLS activé avec login/pass enforcé coté serveur par MQTT.
Trop petit pour être un projet, ultra dur à tester, mais assez rigolo pour être utile
Des idées de futurs ?
Un projet « Bus Of Things » (BOT) qui standardiserait les commandes envoyées et leurs API pour faire comme une sorte d'ansible.
Une logique d'IPC/messaging générique pour des systèmes distribués (inclurais la gestion de process & co).
Un FORTH qui verrait toute fonction/agent comme reliée à un BUS MQTT et pour lequel les messages serait du FORTH qui agirait sur la fonction que s'appelerio objective FORTH. (Ça implique de sacrément développé la partie langage).
Pleins d'idées, trop d'idées …
Les sorties actuellement ressemblent au format d'entrée … C'est suspect non ?
Oui, j'ai envie de tester de laisser l'orchestrateur accepter des injections de code depuis les agents. Ex légitime, quand une sonde de mesure est en OVERRUN (trop de temps passé à mesurer comparé à une cadence attendue) qu'elle puisse changer la « clock » avec TSSET de l'orchestrateur.
J'ai envie d'expérimenter des systèmes scheduler less où chaque agent peut devenir le contrôleur et prendre la main et/ou modifier l'orchestrateur qui envoie les commandes.
by Sébastien Valat,Benoît Sibaud,Pierre Jarillon from Linuxfr.org
MALT c'est quoi ?
L'optimisation est une activité connue de bien des développeurs, fouiller, chercher dans son code, pour, peut être, gagner un peu de performance (beaucoup, parfois). Dans cette tâche ardue, face à des codes grandissants, massifs, utilisant de nombreuses bibliothèques externes, un outil central dans ce travail de fourmi : le profileur.
Le profileur fait partie des outils importants pour le développeur qui se soucie des ressources qu'il utilise. Il lui permet de chercher les points chauds dans son code, comprendre le cout de chaque fonction, chaque ligne implémentée. Bien des outils s'intéressent à une chose : bien utiliser votre processeur.
Mais que se passe-t-il si vous rencontrez des difficultés avec l'utilisation de votre mémoire ? Si vous pensez mal utiliser la fonction malloc() du C ou l'opérateur new du C++ ? Si vous avez oublié qu'une de vos variables globales occupe 10 Go (surtout en Fortran) ?
Publié il y a quelques années MALT (licence CeCILL-C) permet de répondre à la question en cherchant toutes les allocations mémoires faites par votre code. Cet outil avait fait l'objet d'un article sur LinuxFR en 2018 lors de sa mise en open source : Profileurs mémoire MALT et NUMAPROF.
Depuis, cet outil fait son chemin avec l'ajout du support de Rust ainsi que nombreuses corrections et ajouts tels que la possibilité de dumper le profile mémoire juste avant que le système ne soit plein.
La possibilité de suivre les appels à mmap, mremap, munmap si vous les appelez directement dans votre code au lieu de laisser malloc faire son travail.
Support de python
MALT a initialement été développé dans le contexte du calcul à haute performance — HPC (High Performance Computing) donc surtout pour le C / C++ / Fortran / Rust.
Dans la communauté scientifique, nous voyons dans les laboratoires de plus en plus fleurir l'usage d'un langage à priori bien éloigné de nos prérogatives de performances : Python.
Dans un cadre de calcul scientifique, il est souvent utilisé plutôt comme un wrapper permettant d'appeler et d'orchestrer des bibliothèques en C /C++ / Fortran, elles, performantes. Quoi que l'usage amène aussi à l'écrire de certaines parties du code en Python grâce à Numpy ou Numba pour accéléré la partie calcule sur des tableaux ou autres frameworks d'exploitation des GPU.
La version 1.6.0 de MALT vient d'ajouter le support (encore quelque peu expérimental) natif de Python permettant d'analyser un code pur python ou mix Python / C / C++…. Il s'agit pour l'instant de la première version avec ce support, il reste donc du travail.
Sont supportés les versions Python supérieures à 3.11 ainsi que les environnements Conda / Anaconda / Venv. À l'heure de rédaction de cet article, cela comprend les versions 3.11 à 3.14.
MALT étant orienté C / C++, il ne supporte que Linux comme système d'exploitation. (NdM: la causalité évoquée ici devrait faire réagir des développeurs d'autres systèmes libres notamment :))
Utilisation sur Python
Si la commande malt fonctionne parfaitement, il est recommandé d'utiliser le wrapper malt-python qui adapte quelques configurations spécifiques à Python non encore automatiques.
malt-python ./script.py
# équivalent à
malt --profile python-default ./script.py
# liste des profiles
malt --profile help# Afficher le profile
malt-webview ./malt-script-py-6889.json
Profilage rapide
Notons que l'overhead de MALT est important en Python du fait du large nombre d'allocations générées par ce langage et de la méthode de résolution des piles d'appels pour retrouver les lignes dans votre code. Ces détails d'analyse peuvent être désactivés via :
# Désactivé complète de l'analyse des piles
malt-python -p python-no-stack ./my_script.py
# Analyse des piles par "sampling"
malt-python -p python-sampling ./my_script.py
Nouvelle interface
La version 1.6.0 arrive également avec une nouvelle interface graphique avec un code remis à jour
par rapport à sa version originale vieillissante.
Profil statique
Pour ceux qui voudraient échanger les profils avec d'autres sur d'autres OS, il est possible depuis la 1.6.0 de générer une version statique des pages de l'interface (hors annotation des sources et arbre d'appel navigable) via :
# Toues les pages possible en statique
malt-webview -static ./report malt-progr-123456.json
# Seulement la page de résumé.
malt-webview -static-summary ./report malt-progr-123456.json
Installation
MALT n'est pas encore disponible dans les distributions classiques, vous devez donc le compiler et l'installer à la main. Le nombre réduit de dépendances obligatoires en fait un outil relativement facile à installer.
On trouvera la procédure dans la documentation du projet.
Documentation
La documentation a été complètement ré-écrite et disponible sur le site officiel : documentation.
Outils similaires pour Python
Découvrir un outil est aussi l'occasion d'en découvrir d'autres. Restons dans le monde du Python, si MALT ne vous convient pas vous trouverez peut-être votre bonheur avec les outils suivants et complémentaires à MALT et eux totalement dédiés au Python toujours pour la mémoire :
MALT se positionne par rapport aux deux présentés en apportant une analyse fine en annotant tout le source code de l'application. Il offre également une analyse des variables globales et TLS coté C/C++/Fortran/Rust.
(Full disclosure : je travaille à Oteria en tant que prof de Python et de C, je relaie ici une offre d’emploi émise par l’école. )
Développeur Full Stack - OTERIA
CDI – Gennevilliers (92) - Métro Gabriel Peri - Ligne 13 - Début: ASAP - autour de 40k€ brut annuels selon profil et expérience
À propos d’OTERIA
OTERIA est une école d’excellence dédiée aux métiers de la cybersécurité.
Elle forme des profils solides techniquement, engagés, capables d’avoir un impact réel et durable dans l’écosystème cyber.
Dans un contexte de marché du travail tendu, de révolution de l’IA et de transformation profonde de l’enseignement supérieur, nous sommes convaincus que les écoles ont une responsabilité :
former des jeunes talents capables de maîtriser des technologies de pointe, leur sécurité et l’IA, grâce à une pédagogie exigeante, ancrée dans le réel et fondée sur l’émulation humaine.
OTERIA n’est pas uniquement un programme de formation. C’est une communauté, une culture, et une vision exigeante de l’éducation, tournée vers l’action, la transmission et le réel.
L’école accueille aujourd’hui 300 étudiants, de Bac+1 à Bac+5, et s’appuie sur une équipe de 8 personnes, engagées au quotidien dans le projet éducatif et le développement de l’école. Nous faisons le choix de rester une structure à taille humaine, afin de préserver l’agilité, la proximité et la capacité d’adaptation qui font la force d’OTERIA, tant dans sa pédagogie que dans son fonctionnement, tout en capitalisant pleinement sur l’IA pour gagner en efficacité et en impact.
Nous lançons le développement d’une nouvelle plateforme pédagogique interne ambitieuse, pensée comme un environnement d’apprentissage intelligent, augmentant le présentiel grâce au numérique et à l’IA.
Cette plateforme n’est ni un LMS classique, ni un MOOC. C’est un outil pédagogique vivant, conçu pour :
aider les professeurs à améliorer continuellement leurs cours,
offrir aux étudiants des expériences d’apprentissage motivantes,
capitaliser sur ce qui se passe réellement en cours,
et créer une communauté technique autour de la plateforme.
C’est dans ce contexte que nous recrutons un développeur full stack.
LES MISSIONS
Au sein de l’équipe, vous prendrez en charge le développement de l’écosystème numérique de l’école. Votre rôle central consistera à concevoir et développer la première version du KERNEL, l’environnement pédagogique propriétaire d’OTERIA.
Pour ce projet, vous bâtirez une architecture backend modulaire en FastAPI couplée à une base SQL. Vous devrez traduire techniquement le concept d’« Expériences Pédagogiques » et développer une structure API-First intégrant des services d’IA internes pour la génération de contenu et l’analyse de données. Vous assurerez également la mise en place d’une interface unifiée et « mobile-friendly » pour les professeurs et les étudiants.
En parallèle de ce projet structurant, vous interviendrez sur l’ensemble des chantiers techniques de l’école. Vous participerez notamment au développement d’outils internes destinés à soutenir les différentes équipes (comme le marketing ou les opérations).
Vous contribuerez à l’automatisation des processus métiers (via des outils comme n8n ou du scripting) et assurerez la maintenance évolutive des applications existantes. Votre mission inclura également une veille technique pour garantir la robustesse et la sécurité de l’infrastructure, en cohérence avec les exigences d’une école spécialisée en cybersécurité.
Enfin, vous interviendrez en tant que référent pédagogique sur les enseignements liés au développement, et aurez l’opportunité de concevoir, animer et faire évoluer les cours de développement, ainsi que de produire des contenus pédagogiques structurants, notamment sous forme de projets applicatifs destinés aux étudiants.
Le KERNEL a vocation à devenir un actif central de l’école : un socle technologique structurant, au cœur des usages pédagogiques, techniques et communautaires d’OTERIA — une forme d’« OS » de l’école.
À mesure que la plateforme montera en charge (usages, utilisateurs, contributions étudiantes, intégrations IA), le rôle pourra naturellement évoluer vers des responsabilités élargies : structuration de la vision technique long terme, pilotage de la scalabilité et de la robustesse de la plateforme, encadrement de contributeurs (internes, étudiants, prestataires), prise de rôle de Lead Developer / référent architecture du produit.
Compétences
Techniques
Développement Backend : Maîtrise approfondie de Python et du framework FastAPI pour construire une architecture performante et modulaire.
Base de données : Expertise en SQL et en modélisation de données.
Architecture API-First : Capacité à concevoir une API documentée et sécurisée, destinée à alimenter l’interface web et, à terme, une application mobile native.
Intégration IA : Expérience technique dans l’intégration d’APIs d’Intelligence Artificielle local pour des fonctionnalités de génération de contenu et d’analyse de données.
Frontend & Mobile : Compétence en développement d’interfaces web responsives (Mobile-friendly), respectant la contrainte d’une interface unique pour les vues “Professeur” et “Étudiant”.
Professionnelles & Méthodologie
Gestion de projet technique : Capacité à respecter le périmètre d’un MVP (Minimum Viable Product) en se concentrant sur les fonctionnalités critiques (création, diffusion, évaluation) et en écartant les développements hors-scope.
Exigence qualité : Rigueur dans l’écriture du code et la documentation (usage de Gitlab Interne pour mise à disposition Open Source aux étudiants), en cohérence avec le positionnement d’excellence d’OTERIA dans le domaine de la cybersécurité.
Collaboration : Aptitude à travailler au sein d’une équipe opérationnelle de 8 personnes et à dialoguer avec des profils non-techniques (équipe pédagogique) pour ajuster les fonctionnalités.
Atouts appréciés
Expérience avec les outils d’automatisation de workflow (type n8n / make).
Appétence pour la pédagogie et le contexte d’une école.
L’environnement de travail
Présence sur le campus de l’école:
c’est là que se passent les échanges clés,
c’est là que vivent les usages réels,
c’est là que le projet prend du sens.
Télétravail occasionnel
Contact direct avec :
Le responsable technique de l’école
le directeur général,
les professeurs,
les étudiants.
La plateforme n’est pas un projet “en chambre”, elle se construit sur le terrain.
Ce que nous recherchons avant tout
Nous recherchons une personne engagée, curieuse et motivée, désireuse de s’investir dans un environnement où le projet technique a un sens pédagogique fort.
Le candidat devra :
manifester un intérêt réel pour le monde de l’enseignement, et plus largement pour les enjeux de transmission des savoirs ;
être sensible aux questions de pédagogie, d’impact et d’amélioration continue, au-delà de la seule dimension technique ;
apprécier le fait de travailler sur un produit utilisé en conditions réelles, dont le code est appelé à être lu, compris, challengé et enrichi par d’autres — notamment par des étudiants ;
faire preuve d’un esprit d’ouverture, tant dans ses choix techniques que dans sa manière de collaborer, documenter et partager.
Nous attachons plus d’importance à la qualité du raisonnement, à la capacité à apprendre et à s’adapter, qu’à un empilement de technologies ou à un profil strictement senior.
Rémunération
Rémunération selon profil et expérience (autour de 40k€ brut annuel) en cohérence avec le stade actuel du projet et la taille de la structure. Le poste est conçu comme une trajectoire d’évolution : la montée en compétences, l’élargissement des responsabilités et la prise de rôle structurants sur la plateforme ont vocation à s’accompagner d’une revalorisation progressive.
Ressources et moyens à disposition
Ressources techniques
Infrastructures de l’école (serveurs, capacités GPU, réseau) adaptées aux besoins du projet et aux usages liés à l’IA.
Mise à disposition des outils de développement nécessaires, incluant notamment des licences professionnelles (Cursor ou équivalent).
Possibilité de s’appuyer ponctuellement sur une agence spécialisée en UI/UX pour la conception et le développement des interfaces front-end, afin de garantir une expérience utilisateur de qualité.
Ressources humaines
Les étudiants: Les étudiants d’Oteria, utilisateurs directs de la plateforme, constituent une ressource centrale à la fois pour recueillir des retours d’usage concrets et pour contribuer activement à l’amélioration continue de la plateforme, notamment au travers d’analyses techniques et d’audits de sécurité encadrés.
Les professeurs:Le corps professoral d’Oteria est composé de plus de 80 experts professionnels couvrant l’ensemble des champs de l’informatique et de la cybersécurité offrant un cadre privilégié au développeur pour l’échange de bonnes pratiques, le conseil technique et la montée en compétence continue
Pourquoi rejoindre OTERIA
Participer à un projet central pour une école de référence
Une forte liberté d’initiative et de construction pour construire une école d’avenir
Un environnement pédagogique pour monter en compétences aux côtés d’experts
Un projet éducatif aligné avec les enjeux technologiques et sociétaux actuels
Une communauté d’étudiants engagés, passionnés et moteurs
Envoyez votre CV, quelques lignes expliquant votre motivation, ainsi qu’un lien vers vos projets (GitHub / GitLab) à : contact@oteria.fr
Merci d’indiquer en objet du mail : « Candidature offre développeur », et de préciser votre point de contact avec OTERIA (étudiant, alumni, recommandation, candidature externe, etc.).
Flovea recherche une personne pour un rôle de Developpeur fullstack senior
Contexte
Flovea, société leader dans les solutions de plomberie préfabriquée et connectée, recherche une personne pour un rôle de “développeur sénior” pour prendre en charge la maintenance et l’évolution de sa solution Predictive Flowbox, solution de gestion de réseaux d’eau dans le but d’économiser de l’eau, de l’argent et de protéger les bâtiments contre les fuites et les dégâts des eaux. Flovea est basé à Saint Paul Lès Dax (Landes, à proximité de Dax).
La personne sera en charge du développement, du déploiement et de la gestion de l’infrastructure sous-jacente de la plateforme Predictive Flowbox. Cela inclus également le
support de nos clients lors des phases d’appairage ou lors d’incident ou de dysfonctionnement de la plateforme ou de la flowbox en tant que telle.
La solution Predictive Flowbox est composée de deux ensembles :
La Predictive Flowbox : périphérique installé sur le réseau d’eau privatif de nos clients - il est composé d’une vanne, d’un débitmètre, d’une sonde de température et d’une carte
permettant la connexion à notre plateforme, la remontée des métriques et les envois
d’ordre d’ouverture/fermeture de vannes.
La Plateforme Predictive Flowbox : elle est composée d’une API, d’une WebApp et d’un
broker MQTT, de bases de données relationnelles et orientée séries temporelles et d’un
module de machine learning pour les consommations anormales. Cette plateforme
assure l’ingestion, le stockage, l’analyse et la restitution des données ainsi que la gestion
des alertes.
Missions & Attributions
La personne avec pour role de développeur sénior :
Conçoit tous les aspects techniques et fonctionnels du front-end et back-end d’un site
web ou d’une application (architecture, stockage des données, interface utilisateur,
sécurité, traitements et processus, …).
Veille au respect des normes et standards en vigueur.
Rédige la documentation technique et forme les utilisateurs.
Effectue la maintenance corrective et évolutive du produit après développement.
Résout les problèmes techniques.
Configure et maintient en bon état de fonctionnement les serveurs d’hébergement et les
différents composants
Améliore/Optimise de manière continue l’expérience utilisateur.Effectue une veille technologique régulière afin de rester à jour sur les dernières
innovations et identifier les éléments opportuns pour Flovea
Assure le support de nos clients lors des phases d’appairage, de prise en main et
d’utilisation de la plateforme.
La personne va travailler dans un premier temps sur les sujets backend/frontend/ops ; la partie datascience/machine learning se fera dans un second temps ou via l’arrivée d’un profil complémentaire.
Localisation
La personne doit pouvoir se rendre facilement à Saint Paul Lès Dax pour travailler avec
l’équipe Flowbox sur site. Elle est idéalement localisée en Nouvelle Aquitaine.
Des voyages au Moyen Orient sont possibles (Dubai, Egypte, Jordanie, etc) pour travailler
avec nos partenaires et clients.
Compétences
La personne doit avoir les compétences suivantes :
Concevoir et modéliser des solutions à un besoin exprimé
Savoir travailler en autonomie tout en collaborant avec les salariés / partenaires de
l’entreprise
Maitrise des méthodologies « agile » (Kanban, revue de code, pair programming, etc)
Capacité à apprendre de nouvelles technologies et de développer de nouveaux usages
Maitrise et mise en œuvre d’architecture applicative et système (Architecture 3 tiers, API,
etc)
Maitrise de plusieurs langages de programmation frontend et backend et des principes
de programmation associés
Mise en œuvre des outils et méthodes nécessaires au bon déroulement d’un projet
(gestion des sources, tests (unitaires, intégration, etc), intégration continue (CI),déploiement continu (CD), etc)
Stockage, traitement et analyse de données (base de données / stockage fichiers,
traitement batch/streaming, datascience / statistique)
Administration système (Linux) et connaissances réseaux
Connaissance des principes de scalabilité (horizontale et verticale) et être en mesure de
les déployer
Cybersécurité (notions de base)
En plus de ces compétences techniques :
La maitrise de l’anglais, tant à l’oral et à l’écrit, doit être courante pour être en mesure de
travailler avec nos partenaires et clients. La gestion du code se fait en anglais également
(issues, code, etc)
La personne doit être capable de communiquer avec des personnes non expertes dans
les domaines IT (simplification, vulgrarisation)
Expérience et Salaires
La personne doit disposer d’une expérience solide pour prendre en main le projet et
travailler en autonomie et en relation direct avec des profils fonctionnels / non techniques.
La personne sera hiérarchiquement rattachée au fondateur de Flovea.
Le salaire est entre 45K€ et 60K€ brut, selon le profil.
Le poste est à pouvoir immédiatement.
Processus de recrutement
Il se fera en deux entretiens :
Entretien technique et présentation du projet avec le DSI/CTO de Flovea
Découvrez comment les mainteneur·se·s de pip et packaging ont optimisé la bibliothèque packaging de Python, utilisée par presque tous les outils de gestion de paquets. Grâce au nouveau profiler statistique de Python 3.15 et aux métadonnées de tous les packages PyPI, iels ont amélioré les performances de lecture des versions et des spécificateurs. Les résultats sont impressionnants : jusqu’à 2x plus rapide pour les Versions, 3x pour les SpecifierSets, et même 5x dans certains cas, tout en gardant le code lisible et simple.