Vous envisagez de rejoindre l’une des équipes de développement de Kinsta ? Voici quelques informations importantes que nous aimerions partager avec vous !
Sur quoi travaille le développement
- MyKinsta est notre principal produit orienté client. N’hésitez pas à planifier une démonstration pour savoir exactement ce que c’est et comment cela fonctionne. En un mot, il fournit une interface à nos clients pour gérer les réglages de leur site web comme le cache, la version PHP, le CDN, le DNS, les utilisateurs multiples, les analyses, etc.
- DevKinsta est une suite de développement local. Récupérez-la gratuitement et essayez-la ! Elle vous permet de créer des sites localement sur Linux, Windows et macOS et de les pousser vers vos environnements de développement chez Kinsta.
- Nous avons notre propre système d’affiliation, qui permet aux gens de s’inscrire en tant qu’affiliés de Kinsta et de créer des liens de référence pour s’attribuer les ventes à eux-mêmes. Les affiliés peuvent gagner des commissions ponctuelles et récurrentes.
- L’un de nos objectifs est d’automatiser tout ce que nous pouvons pour toutes nos équipes. À cette fin, il existe de nombreux outils internes que nous créons et maintenons pour différents départements. Il s’agit notamment d’outils super-admin comme raccourcis pour des actions complexes, d’une journalisation détaillée mais lisible, d’un outil qui pings tous les sites sur notre infrastructure pour assurer un bon fonctionnement, d’une plateforme de support dédiée pour nos équipes de clients, et plus encore.
La pile de développement
Nous maintenons nos outils à jour et aussi homogènes que possible.
- Node.js est utilisé comme langage backend.
- React est utilisé pour la construction des interfaces utilisateur.
- TypeScript est notre langage de prédilection.
- GraphQL est notre langage d’interrogation mis en œuvre par le biais d’Apollo.
- Nous utilisons à la fois des bases de données NoSQL et SQL.
- Jest est utilisé pour les tests.
- Storybook est utilisé pour les tests de composants et la documentation.
- Chromatic est utilisé pour les tests de captures d’écran.
- Qase est utilisé pour gérer nos tests automatisés Nightwatch de bout en bout.
L’écosystème de développement
Le développement ne se fait pas en vase clos. Tous les départements sont interconnectés et, bien que certains soient plus proches des processus quotidiens de développement que d’autres, nous travaillons comme un tout unifié.
- Nous disposons d’une équipe de conception de produits dédiée qui travaille sur la pré-planification, la recherche, les tests utilisateurs, la détermination de la portée et la conception UX/UI des fonctionnalités. Ils comprennent et travaillent avec notre bibliothèque de composants et collaborent avec le développement pour maintenir la bibliothèque à jour.
- Notre équipe de QA est chargée de gérer les tests et de veiller à ce que le travail de développement reflète les attentes de notre phase de planification. Nous sommes convaincus que le but des QA n’est pas d’être une ressource pour le développement paresseux afin de décharger les tests. Les QA attraperont des bogues comme sous-produit de son travail, mais s’assurer que le code envoyé aux QA fonctionne correctement est attendu des développeurs.
- Notre équipe DevOps d’ingénierie est responsable de la cohérence des liens dans notre infrastructure de serveur dans MyKinsta. Ils conseillent l’équipe de développement dans la planification, préparent le travail qui doit être effectué sur les serveurs, et créent les scripts Ansible (ou autres) qui doivent être déclenchés.
- Notre équipe d’ingénierie SysOps aidera le développement à créer des instances de taille appropriée pour héberger les applications et assurera la maintenance des machines nécessaires au bon fonctionnement.
- Les équipes de clients et de marketing sont cruciales pour le succès de nos opérations. Tout changement que nous apportons affecte fortement ces départements. Nous recherchons ces équipes pendant la planification, nous les mettons à jour pendant la construction et nous nous assurons qu’elles reçoivent toutes les informations et la formation dont elles ont besoin avant le lancement.
- D’autres équipes et départements, tels que les Finances, les Opérations, et plus encore, peuvent également être impliqués dans les projets lorsque nous automatisons des outils, travaillons sur les aspects de facturation de notre infrastructure, etc.
Nous sommes fiers de l’atmosphère de collaboration que nous avons instaurée. Les membres de l’équipe sont censés comprendre l’importance de répondre aux besoins de chaque équipe. Les développeurs comprennent que les équipes de marketing et de clientèle ont besoin d’un avertissement préalable et peut-être d’un gel de l’interface utilisateur avant le lancement, tout comme ces équipes comprennent la nécessité de révisions et de tests de relations publiques qui peuvent repousser notre calendrier.
Comment le développement est organisé
Kinsta est une entreprise agile. Nous n’avons pas peur du changement – nous le recherchons activement pour améliorer continuellement nos performances. De ce fait, l’organisation du développement évolue constamment au fur et à mesure de notre croissance.
Les projets sont la principale « unité » d’organisation que nous utilisons. Les développeurs sont affectés aux projets et un chef de projet est désigné – généralement un développeur lui-même. Le propriétaire du projet est responsable de la traduction de l’idée en une fonctionnalité publiée. Selon le type de projet, le propriétaire aura un certain degré de contrôle sur la fonctionnalité elle-même, sa portée, sa planification, etc. Le propriétaire du projet est également chargé d’assurer une communication fluide et opportune entre tous les départements de .
Nous utilisons Jira pour organiser nos tâches et GitHub pour gérer notre code et les activités associées telles que les revues PR.
Nous disposons de nombreux outils intégrés à nos dépôts GitHub, qui nous aident au cours du flux de développement et créent un lieu de forte collaboration – non seulement entre les développeurs mais aussi avec les autres équipes :
- Codeship et Buddy.works pour l’exécution de tests unitaires
- Chromatic pour la construction automatique de Storybook et pour exécuter des tests de capture d’écran
- Danger JS pour exécuter des contrôles personnalisés afin de garantir la cohérence du style de code et des descriptions PR
- Un service personnalisé qui crée automatiquement un environnement de test basé sur Docker pour chaque PR. Ceci est utile pour les réviseurs de code, l’équipe d’assurance qualité et l’équipe de conception de produits, nous permettant de discuter des changements en un seul endroit.
Consultez nos offres d’emploi actuelles !