ouvert

Senior Software Engineer (H/F) #NodeJS
SPECTRE

1. Pourquoi ce recrutement ?

1.1 Historique

Spectre a plus de 10 ans d’existence et s’inscrit continuellement dans notre quotidien sans que nous en ayons complétement conscience.

En effet, Spectre c’est le mariage de la technique et de la musique en proposant des solutions de playlists sur-mesure en phase avec la marque de lieux de rencontres, comme par exemple les grands hôtels (Ritz), les grands magasins (Galeries Lafayette), les spas (Clarins), les casinos ou encore dans de nombreux lieux branchés.

Au démarrage du projet d’entreprise, Guillaume, Directeur Technique, travaillait pour eux en tant que freelance. Il les a rejoints depuis 2 ans en CDI. Avec Emilien Huet, Senior Software Engineer, ils ont vraiment bâti la culture technique, designé la solution de façon à la rendre vraiment customisée aux besoins de leurs clients. Cela est passé par l’internalisation et le développement de leurs propres solutions de diffusion et production de playlists : applications mobiles, matériel, tooling, etc.

En 2018, le premier player hardware voit le jour. Ce dernier s’implémente dans les systèmes de sonorisation des entreprises. Le boitier est aussi bien sizé pour le besoin d’un•e gérant•e d’un petit restaurant que pour un grand resort hotelier avec des niveaux sonores et des registres musicaux adaptés selon les espaces et les horaires.

Voici quelques screenshots lors de notre échange visio :

Sur le plan technique, cela engendre, en plus des problématiques frontend/backend habituelles :

1.2 Contexte actuel d’entreprise et de recrutement

60% des clients de Spectre sont en France, le reste étant en Europe, Etats-Unis, Moyen-Orient et Asie. 70% dans les secteurs de l’hôtellerie et de la restauration.

Leurs principaux clients :

Spectre est plutôt une PME qu’une startup, mais en forte croissance. Sur les trois dernières années, ils réalisaient 40% de croissance du CA en moyenne par an. Mais, le Covid étant passé par là et leur clientèle étant très exposée, il y a eu, inévitablement, une baisse de croissance du CA cette année, sans perte d’argent bien heureusement.

Ils me passent aujourd’hui le relais, en mode agent 007, pour trouver leurs futurs talents notamment une personne, Senior Software Engineer, qui va travailler en binôme avec Guillaume sur les sujets engineering au global (back, front, mobile, embarqué). Emilien se réoriente complètement sur le plan professionnel et laisse donc sa place libre tout en étant disponible pour donner le maximum de détails sur le contenu et la réalité du poste, et accompagner aussi longtemps que nécessaire la transition, y compris en conservant la maintenance de quelques applications si nécessaire.

Spectre souhaite aller plus loin encore sur les enjeux techniques avec un recrutement de qualité. Pour cela, ils sont pleinement investis en temps et en argent sur le recrutement, les outils, et les moyens techniques, plus globalement, pour bien travailler.

TL;DR

Voici donc ce que tu vas lire en continuant la lecture :

2. Quelle entreprise vas-tu rejoindre ?

2.1 Date existence

2010

2.2 Nombre de personnes au sein de l’entreprise et au sein de l’équipe technique

Il y a 9 personnes au sein de l’entreprise, dont 6 salariés.

Ils sont deux au sein de l’équipe technique.

2.3 Localisation

Le bureau principal est basé à Saint Lazare.

L’équipe est en full remote dans un contexte de crise sanitaire

Pour après, il y a la volonté de se retrouver en présentiel au moins l’équivalent d’un jour par semaine.

Ils ont un bureau commercial à Hong Kong.

3. Quelle organisation technique vas-tu rejoindre ?

3.1 La configuration des équipes

La Tech Team est composée de 2 personnes, Emilien et Guillaume. Ils se sont connus en startup (Stootie) en 2011. Ils ont tous les deux un background en startup et en freelancing. Guillaume avait, par le passé, davantage une casquette orientée PM. Il a glissé doucement vers le monde du développement.

L’équipe technique a été assez stable depuis la création de l’entreprise. 5 personnes ont significativement contribué à la base de code depuis la création : Guillaume et Emilien, en freelance puis en CDI, et 3 freelances :

L’agence web Colorz a développé et maintenu le site vitrine.

Les rôles et domaines d’intervention :

Rôle de Guillaume :

« De mon côté, j’ai 35 ans et suis Technical Director. Côté produit, je fais les specs. Côté développement, je maintiens les services audio, un layer Yocto, le devops, et gère le triage des bug reports. Côté hardware, je gère le sourcing et l’approvisionnement des composants. J’assure aussi le support technique de niveau 2 pour les clients, et pilote les chantiers d’intégration quand il y a de la complexité (e.g. serveur Dante 24 flux). J’ai une formation sans rapport avec la tech, et suis majoritairement in-office (4j/sem). »

Rôle d’Emilien :

« Il a développé et maintient la constellation de petites applications qui porte notre activité, à l’exception des services de traitement audio et du layer Yocto. C’est également lui qui fait le design mécanique du hardware. Il est ingénieur, et bosse majoritairement en remote (4jours/sem) »

Leur complémentarité fonctionne vraiment très bien. Ils sont efficaces, ils mutualisent beaucoup sans réinventer la roue à chaque fois. Ils sont très opportunistes lorsqu’il faut simplifier. Ils vont chercher à se documenter, à tester des choses. Ils sont aussi en phase sur les problématiques de qualité et de sécurité.

3.2 La stack technique actuelle

L’ensemble s’appuie sur un bus RabbitMQ, un replica set MongoDB et un cache Redis.

L’intégration se fait avec Jenkins et Terraform.

Le hosting est sur AWS. Tout est surveillé par Sentry, des sondes CloudWatch et Elastic APM, et les logs aggrégés sur Papertrail.

Le player hardware est basé sur des SBC et CM Raspberry + baseboard custom. Ils en produisent plusieurs centaines par an.

Les technologies employées :

Node.js, React, GraphQL, WebSockets, React Native, Swift, MongoDB, Redis, RabbitMQ, AWS (e.g. EC2, Lambda, S3, CloudFront, Route53, etc), FFmpeg, Terraform, Sentry, Papertrail, Yocto, Fusion360

3.3 La qualité de code

Le terrain de jeu de la qualité de code est vraiment open. Il y a beaucoup de choses à améliorer (la couverture de tests est à perfectionner par exemple), des process/tools à mettre en place.

En l’état, toutes les applications ont été développées en veillant à privilégier la clarté et la maintenabilité ; en évitant par exemple autant que possible les « clever hacks » que même l’auteur ne comprend plus quand il revient dessus 6 mois plus tard. Des solutions techniques mainstream ont été adoptées autant que possible, et les technologies devenues legacy ont été abandonnées (e.g. Meteor). Les dépendances sont tenues relativement à jour.

Il y a du temps pour refactorer ou traiter la dette technique.

Ils font de l’intégration et du déploiement continue, plus exactement sur la partie embarquée.

Contexte infra-as-code.

A long terme, le sujet qualité va aussi concerner le matériel, avec la conception d’un banc de test pour le hardware, à faire réaliser par un prestataire externe.

La personne qui travaillera avec Guillaume aura une pleine liberté pour redéfinir les process & tooling qualité autant qu’elle jugera nécessaire.

4. Le profil attendu ?

4.1 Les compétences techniques attendues

La personne prendra la relève d’Emilien, qui, après une douzaine d’années de tech, a choisi de changer complétement de vie professionnelle.

La future recrue développera et maintiendra la majorité des applications de Spectre, avec l’aide de Guillaume et celle de freelance(s). Ces applications sont toutes assez petites et bien spécialisées.

Il s’agit d’un profil fullstack avec une majeur backend. La personne maitrise bien l’univers JS et a au moins une petite expérience — même en hobby — avec un langage plus bas niveau (e.g. C, Rust, Swift…).

Elle a une expérience significative (au moins 5 ans). Elle a de bons réflexes en développement et a gratté pas mal de culture générale technique. Elle est est curieuse et apprécie depuis longtemps de se former régulièrement sur de nouveaux sujets/technologies.

Elle est pragmatique, et s’interroge constamment sur l’endroit où placer le curseur du « good enough » — entre « quick hack » et « over-engineered ».

Pour résumer :

Les must-have :

Les nice-to-have :

Le quotidien :

A côté du quotidien, il y a un important encouragement à faire de la veille, à intervenir dans des meetups en tant que participant et/ou speaker (e.g. ParisJS, ParisAudio, ParisVideoTech).

4.2 Les soft skills

Une personne qui souhaite prendre du plaisir au travail au quotidien :

Guillaume : « On n’a qu’une seule vie, et on va se retrouver à passer la majorité de nos heures éveillées à travailler ensemble. Ce serait quand même dommage qu’on les regrette ! »

Une personne qui a une certaine aisance à l’écrit comme à l’oral pour bien formuler ses souhaits ou ses problèmes. La communication a été le point clef dans la réussite du binôme Guillaume/Emilien. Les échanges étaient fluides, ouverts, économes du temps de l’autre, avec de l’entraide, et surtout du respect et de la bienveillance. Une personne qui n’osera pas dire les choses ou qui sera dans le secret de ses problèmes, pourra vite se trouver en difficulté. Corollaire : la personne peut être pleinement en mesure aussi de critiquer, de demander, de négocier, pourvu qu’elle prenne le temps de le faire de manière posée, bienveillante et argumentée.

Une personne attentive au contexte utilisateur/business derrière chaque feature: la taille de Spectre permet à tout le monde de pouvoir encore se connaitre et se parler. C’est un vrai atout pour avoir accès aux éléments de contexte utilisateur/business susceptibles d’avoir des ramifications profondes sur le produit et les choix techniques… et de les challenger !

Une personne mature qui commence à se connaître elle-même au niveau de ses compétences mais aussi au niveau de ses limites, qui est capable de suggérer, temporiser, prioriser, et de dire aussi quand elle ne peut/sait pas faire.

4.3 Le processus de recrutement

1ere étape : call avec Guillaume pendant une heure environ pour une première prise de contact.

2eme étape : entretien technique avec Emilien et Guillaume en visio ou en présentiel. Dans le cadre de cet échange, Guillaume et Emilien vont challenger sur la culture tech générale, sur certaines spécificités techniques backend notamment sur JS. Ils vont évaluer le raisonnement de la personne, sa capacité à admettre ses faiblesses, etc.

3eme étape : discussion no filter avec Emilien dans une logique de prise d’informations générales sur les enjeux du poste qu’il va laisser derrière lui, ce qu’il a apporté et ce que la nouvelle recrue peut apporter en plus et/ ou en complément du travail réalisé jusqu’à maintenant.

4eme étape : entretien avec la Direction, Maximilien et de nouveau Guillaume pour boucler le processus de recrutement avec les éléments de la proposition d’embauche.

5 La rémunération, les classiques et les avantages

5.1 La rémunération

Pour un profil qui aurait au moins 5 ans d’expérience, la target de rémunération est à +/- 65 K€.

5.2 Les classiques et les avantages

Tickets restaurants avec Swile

Mutuelle Alan

30 Jours de congés + 8 à 10 jours de RTT

Convention collective « entreprises techniques au service de la création et de l’événement » (IDCC 2717)

6. L’environnement de travail global

6.1 Les moyens, les outils de travail

Il n’y aucune contrainte sur les outils de travail. La technique n’est pas un coût chez Spectre. Ils sont prêts à mettre le budget nécessaire pour investir dans du matériel de travail de qualité (machine, software, fauteuil, etc).

6.2 La politique remote
AvantActuellementAprès ?
  Full remote  Full remote 
Remote à la carte avec une seule contrainte : se retrouver physiquement au moins de temps en temps (± 1 jour par semaine).  

Par exemple : Soit la personne vient un jour par semaine, Soit elle choisit de venir une semaine dans le mois selon ses contraintes/souhaits  

6.3 L’espace veille et formation

Contexte où tout est possible :

La future recrue est centrale dans l’organisation. Ses souhaits seront écoutés, entendus.

« J’ai été très présent sur les meetups autour de la stack JS et des sujets audio : Paris.JS, Meteor.JS, Paris Audio, Paris VideoTech » (Guillaume). 

6.4 Votre culture d’entreprise

La technique est au cœur du business, du produit, de l’expérience client. Ce n’est pas un centre de coût. La qualité du soft et de l’équipe fait partie des arguments de vente. Ainsi, il n’y a aucune économie faite et à faire sur les sujets techniques.

Autonomie : zero reporting, tooling de gestion de projet réduit (Slack, Pivotal). Chaque salarié est considéré comme un professionnel compétent et mature, donc autonome. Pas de micro-management.

Ambition et soutenabilité : à la différence d’une startup, Spectre a trouvé son business model et cherche maintenant à se développer aussi longtemps et aussi vite que possible — dans cet ordre. L’ambition est là mais se veut durable. Logiquement, cela se reflète dans les relations clients qui sont saines, et les choix produit et technique, qui favorisent notamment la qualité et la maintenabilité.

Consensus : le consensus est recherché dans tous les arbitrages techniques (facile à 2 pour le moment). A défaut d’un consensus, c’est le maintainer qui décide.

L’humain, durablement : les actifs les plus précieux de Spectre sont ses collaborateurs, dont l’épanouissement durable est recherché (c-f très faible turnover au sein de la société depuis la création). Droit à l’erreur, écoute, culture non-workaholic. La productivité ne passe pas par le nombre d’heures au bureau. En dépit d’enjeux business forts, il n’y a aucune incitation toxique à travailler les soirs et les week-end et donc à créer le terrain propice au burn-out.

Les propos de Guillaume :

« Nous sommes family-friendly et remote-friendly. J’ai un petit garçon de 18 mois, mon principal collègue Emilien a un petit garçon de 8 mois, et le fondateur de la société Maximilien a 3 filles. On valorise l’équilibre vie privée – vie professionnelle, et deux d’entre nous sont en quasi-full remote (4j/sem) »

Ouverture : ouverture aux autodidactes comme aux diplômés (ils valorisent surtout le profil et l’expérience), ouverture sur le format remote demandé, ouverture aux idées et suggestions (conférences, bonnes pratiques, outils, etc), accès transparent à tous les paramètres business et métier susceptibles de guider les arbitrages produit et techniques

Forte emprunte créative et musicale : cela se voit à travers la solution, l’histoire des dirigeants (de grands passionnés de musique), les noms donnés au soft/ outils. C’est un univers de passion, de création, et d’idées.

7. Les projets d’évolution à moyen/long terme

Application du ML à la génération de playlists.

Nouvelle version du player hardware plus intégrée, plus optimisée, plus sécurisée et avec un look & feel amélioré.

Refonte de la marque sur tous les supports

Amélioration du site + outils marketing/ communication associés pour mieux mettre en valeur leur solution/ services avec un bel historique business et une bonne connaissance métier. Une nouvelle mise à jour de leur site Internet aura lieu au printemps.

Diversifier et féminiser l’équipe. Notre dernière recrue Ziwei (Sun Yat-Sen U, ESSEC) nous insuffle par exemple — en plus de ses core skills — des contrepoints précieux sur des sujets direction artistique et marketing sur les marchés asiatiques.

Recrutement d’un apprenti pour reprendre le support niveau 1 et les intégrations de players chez les clients.

8. Les plus/les moins du projet d’entreprise ?

8.1 Les plus

D’importants challenges techniques : data liée à la musique, soft et hardware, introduction future du ML….

Un contexte où il y a beaucoup de choses à améliorer, à bâtir aussi : culture craftsmanship plus prononcée, espace de veille, boite à idées…

Un management passionné, passionnant et impliqué.

Importante valorisation de la technique : écoute, responsabilités, sous.

Cadre libre sur de nombreux sujets : suggestions d’idées, usage libre des machines et outils, remote, etc.

Entreprise qui a une bonne solvabilité financière avec des clients fidèles et des utilisateurs en face.

Contexte musicale intéressant et rare.

Ouverture et ambitions à l’international.

8.2 Les moins

Équipe technique très petite et pas de perspective de grossir beaucoup plus pour cette année.

Profil couteau suisse c’est bien mais ça ne plait pas à tout le monde.

Contexte encore très huis-clos d’où la nécessité de bien s’entendre avec Guillaume et le reste de l’équipe.

Aller à la recherche d’une nouvelle alchimie professionnelle c’est toujours un pari pour la recruteuse que je suis car il ne faut pas tomber dans le clonage d’Emilien et en même temps aller à la recherche d’une aussi bonne complémentarité professionnelle.

Je n’ai pas encore d’historique en recrutement chez Spectre pour savoir comment se passent vraiment les choses en interne. On va le découvrir ensemble 😉

Postuler