Overweeg je om bij een van Kinsta’s developersteams te gaan werken? Hier zijn enkele belangrijke dingen die we graag met je willen delen!
Waar developers aan werken
- MyKinsta is ons primaire klantgerichte product. Maak gerust een afspraak voor een demo om uit te vinden wat het precies is en hoe het werkt. Kort gezegd biedt het een interface voor onze klanten om hun website-instellingen te beheren, zoals cache, PHP versie, CDN, DNS, meerdere gebruikers, analytics, enz.
- DevKinsta is een lokaal ontwikkelingspakket. Download het gratis en probeer het eens! Hiermee kun je lokaal sites maken op Linux, Windows en macOS en ze pushen naar je testomgevingen bij Kinsta.
- We hebben ons eigen Affiliatesysteem, waarmee mensen zich kunnen registreren als Kinsta affiliates en verwijzingslinks kunnen maken om sales aan zichzelf toe te schrijven. Affiliates verdienen zowel eenmalige als terugkerende commissies.
- Een van onze doelen is om alles wat we kunnen voor al onze teams te automatiseren. Daartoe zijn er tal van interne tools die we voor verschillende afdelingen maken en onderhouden. Dit zijn superadmintools als snelkoppelingen voor complexe acties, gedetailleerde maar leesbare logging, een tool die alle sites op onze infrastructuur pingt om een soepele werking te garanderen, een speciaal ondersteuningsplatform voor onze klantenteams, en meer.
De developmentstack
We houden onze tools up-to-date en zo homogeen mogelijk.
- Node.js wordt gebruikt als backendtaal.
- React wordt gebruikt voor het bouwen van gebruikersinterfaces.
- TypeScript is onze voorkeurstaal.
- GraphQL is onze querytaal die via Apollo wordt geïmplementeerd.
- We gebruiken zowel NoSQL als SQL databases.
- Jest wordt gebruikt voor testen.
- Storybook wordt gebruikt voor het testen van componenten en documentatie.
- Chromatic wordt gebruikt voor het testen van schermafbeeldingen.
- Qase wordt gebruikt om onze geautomatiseerde Nightwatch end-to-end testen te beheren.
Het development-ecosysteem
Ontwikkeling gebeurt niet in een vacuüm. Alle afdelingen zijn met elkaar verbonden, en hoewel sommige dichter bij de dagelijkse ontwikkelingsprocessen staan dan andere, werken we als één geheel.
- We hebben een toegewijd Product Design team dat werkt aan pre-planning, onderzoek, testen van gebruikers, bepalen van de reikwijdte, en het UX/UI ontwerp van features. Zij begrijpen en werken met onze componentenbibliotheek en werken samen met ontwikkeling om de bibliotheek up-to-date te houden.
- Ons QA team is belast met testbeheer en zorgt ervoor dat het ontwikkelingswerk de verwachtingen van onze planningsfase weerspiegelt. We zijn ervan overtuigd dat het doel van QA niet is om een bron te zijn voor luie developers om het testen te verlichten. QA zal bugs vangen als bijproduct van hun werk, maar van ontwikkelaars wordt verwacht dat de naar QA gestuurde code goed functioneert.
- Ons Engineering DevOps team is verantwoordelijk voor het samenhangen van de schakels in onze serverinfrastructuur in MyKinsta. Zij adviseren het ontwikkelingsteam bij de planning, bereiden werk voor dat op servers moet worden gedaan, en maken de Ansible (of andere) scripts die in werking moeten worden gesteld.
- Ons Engineering SysOps team helpt de ontwikkeling bij het creëren van instances van de juiste grootte om applicaties in onder te brengen en onderhoudt de machines die nodig zijn voor een soepele werking.
- De klantenteams en het marketingteam zijn cruciaal voor onze succesvolle operaties. Elke verandering die we doorvoeren heeft grote gevolgen voor deze afdelingen. We zoeken deze teams op tijdens de planning, houden ze op de hoogte tijdens de bouw, en zorgen ervoor dat ze alle informatie en training krijgen die ze nodig hebben voor de lancering.
- Andere teams en afdelingen zoals Finances, Operations en meer kunnen ook betrokken worden bij projecten als we tools automatiseren, werken aan factureringsaspecten van onze infrastructuur, enzovoort.
We zijn trots op de samenwerkingssfeer die we hebben opgebouwd. Van teamleden wordt verwacht dat ze begrijpen hoe belangrijk het is om aan de behoeften van elk team te voldoen. Developers begrijpen dat marketing- en klantenteams een waarschuwing vooraf nodig hebben en misschien een UI freeze voor de release, net zoals deze teams begrijpen dat PR reviews en tests nodig zijn die onze tijdlijn kunnen vertragen.
Hoe de ontwikkeling is georganiseerd
Kinsta is een wendbaar bedrijf. We zijn niet bang voor verandering – we zoeken er actief naar om onze prestaties voortdurend te verbeteren. Daarom verandert de organisatie van de ontwikkeling voortdurend naarmate we groeien.
Projecten zijn de belangrijkste “eenheid” van organisatie die we gebruiken. Ontwikkelaars worden toegewezen aan projecten en er wordt een Projecteigenaar aangewezen – meestal zelf een ontwikkelaar. De Projecteigenaar is verantwoordelijk voor de vertaling van het idee in een uitgebrachte feature. Afhankelijk van het type project heeft de eigenaar een zekere mate van controle over de feature zelf, de omvang, de planning, enz. De projecteigenaar is ook verantwoordelijk voor een soepele en tijdige communicatie tussen alle afdelingen.
We gebruiken Jira om onze taken te organiseren en GitHub om onze code en bijbehorende activiteiten zoals PR reviews te beheren.
We hebben talloze tools geïntegreerd in onze GitHub repositories, die ons helpen tijdens de ontwikkelingsstroom en een plek creëren voor sterke samenwerking – niet alleen tussen ontwikkelaars maar ook andere teams:
- Codeship en Buddy.works voor het uitvoeren van unittests
- Chromatic voor het automatisch bouwen van Storybook en het uitvoeren van screenshottests
- Danger JS voor het uitvoeren van aangepaste controles om consistentie in codestijl en PR beschrijvingen te waarborgen
- Een zelfgebouwde dienst die automatisch een Docker-gebaseerde testomgeving maakt voor elke PR. Dit is handig voor codereviewers, het QA team en het Product Design team, zodat we de wijzigingen op één plek kunnen bespreken.
Bekijk onze huidige vacatures!