Full Stack Developer (32-40 uur)
Jouw rol
Wat we bieden
Jouw rol
Wat we bieden
Als Full Stack Developer bouw je dagelijks mee aan het mooie Scorito-platform. Als starter kun je bij ons veel leren, als ervaren kracht vind je geweldige uitdagingen. We werken met de nieuwste technieken en streven de hoogste kwaliteiten na.
Jouw rol
Hoe we bij Scorito werken
Als Full Stack Developer word je onderdeel van een van onze technische teams en werk je samen aan het Scorito-platform. Je ontwikkelt nieuwe games, werkt aan back-end perfomance (hoge piek-belasting) en bewaakt de security.
Ons platform bestaat primair uit een .NET 6 backend met een React.js front-end. Onze data wordt opgeslagen in Azure SQL en geserveerd middels een caching-laag bestaande uit een Redis-cluster. In het hart van onze micro-services architectuur staat een RabbitMQ-cluster.
We hebben een volledig geautomatiseerde ontwikkelstraat, bestaande uit TeamCity, Octopus Deploy eindigend op een Azure Kubernetes Cluster. We geloven bij Scorito in zaken automatiseren om zo een snellere time-to-market te realiseren en minder (handmatige) fouten te maken. Daarom investeren we ook veel in geautomatiseerde testen en Infrastructure-as-Code.
Wat ga je doen?
Tijdens onze 3 weken durende sprint ga je onder andere aan de slag met:
- Het ontwikkelen van nieuwe spellen of andere nieuwe features
- Het ontwikkelen van onze high-availability en high-performance backend
- Het verbeteren van de rendering van onze frontend
- Het verbeteren van onze interne tools
- Schrijven van testen
- Overleggen met de productowners
- Kennisdeling met collega's
- Het uitrollen van je code naar live
- Het verbeteren van onze processen
Voor ons nieuwe product, zul je ook goed moeten nadenken over de architectuur die we gaan opzetten. Er moet een toekomstbestendige architectuur worden neergezet, waarbij ook gebruikt gemaakt moet worden van de reeds bestaande componenten. Je doet dat samen met onze andere developers, onze DevOps-engineer en samen met de CTO.
Je grootste uitdaging?
De grootste uitdaging voor een developer bij Scorito is nieuwe functionaliteit bouwen die niet alleen werkt op je eigen PC of op de testomgeving, maar ook geschikt is voor een half miljoen gelijktijdige gebruikers. Daarvoor zul je technisch goed moeten weten waar je mee bezig bent en op de juiste plekken de juiste vormen van caching moeten toepassen, maar soms moet je ook kritisch kijken met de productowners naar de gewenste functionaliteit
Hoe ziet een sprint eruit
We werken in sprints van 3 weken, waarbij we werken aan nieuwe functionaliteit, het verbeteren van performance of het wegwerken van technical debt. Aan het eind van deze sprint hebben we een losse week waarin we o.a. de volgende taken uitvoeren:
- Zonder downtime de applicatie uitrollen
- Nazorg van de release (New Relic)
- Werken aan je persoonlijke- en teamdoelen (cursussen, kennisdeling etc)
- Inschatten van de nieuwe werkzaamheden met je team
- Retrospective
- Vieren dat we weer een succesvolle sprint hebben gedraaid!
Daarnaast hebben we natuurlijk ook af en toe kleine bugfixes op de live-omgeving die snel opgelost moeten worden. Vanaf het moment dat de fix lokaal is ontwikkeld, kunnen we deze binnen 15 minuten (zonder downtime) op de live-omgeving uitgerold hebben.
We werken bij Scorito agile, maar we passen niet 100% SCRUM toe. Bij de meeste projecten passen we Domain Driven Design toe en houden we ons aan de regels van Object Calisthenics. Afhankelijk van het type werkzaamheden passen we soms Test Driven Design toe (bijvoorbeeld het ontwikkelen van de calculatoren waarbij elk scenario afgedicht moet worden).
Kwaliteit
We investeren veel in de kwaliteit van onze software, deels automatisch en deels handmatig:
We draaien regelmatig loadtesten om er voor te zorgen dat ons applicatie ook goed performt met veel gebruikers
Onze monitoring (met name New Relic) wordt regelmatig in de gaten gehouden om eventuele bottlenecks of bugs snel te kunnen vinden
We ambieren geen 100% testcoverage met onze unittesten, maar willen dat kritieke componenten wel heel goed geautomatiseerd getest zijn (daar gebruiken we onder andere ook Stryker Mutator voor)
We hebben in het verleden een uitgebreide UI-testsuite gehad (via Selenium), maar zijn deze nu opnieuw aan het opzetten in Cypress
Elk stukje code dat we maken, dient door een teamgenoot gereviewed te worden, voordat de pull request gemerged kan worden.
Het kan wel eens voorkomen dat we een (urgente) bug hebben in onze applicatie. Deze kan voortkomen uit onze eigen monitoringssoftware of gemeld worden door een productowner of gebruiker. De prioriteit van de bug wordt samen met de product-owners bepaald, maar in de meeste gevallen wordt een bug op de volgende sprint ingepland. Mocht de bug enorm kritiek zijn, dan wordt deze per direct opgepakt en door middel van onze buildstraat snel uitgerold.
De techniek
Bij Scorito werken je met de volgende technieken en tools:
- .NET 6 (C#)
- React.js
- TypeScript
- xUnit
- Jest
- Cypress
- Xamarin
- Azure SQL
- Redis
- RabbitMQ
- Azure
- Git
Als developer word je onderdeel van een van onze technische teams en werk je samen aan het Scorito-platform. Je ontwikkelt nieuwe games, werkt aan back-end perfomance (hoge piek-belasting) en bewaakt de security.
Ons platform bestaat primair uit een .NET Core backend met een React.js front-end. Onze data wordt opgeslagen in SQL Server en geserveerd middels een caching-laag bestaande uit een Redis-cluster.
In het hart van onze micro-services architectuur staat een RabbitMQ cluster.
Build pipeline
Onze buildserver (TeamCity) bouwt na iedere checkin automatisch onze pull requests. Na het mergen van de pull requests (naar de develop, release of master-branch), maakt TeamCity Docker-containers (getagged via Gitversion) van de services / API's en zal TeamCity een geautomatiseerde uitrol starten via Octopus Deploy (waarin onze test, release, staging, load en live-omgevingen staan geconfigureerd).
Infrastructuur
Onze volledige applicatie wordt vanuit Kubernetes gedraaid. Intern op ons kantoor in Breda hebben we daarvoor 2 Microk8s-clusters. In Azure draait naast ons live-cluster er ook een cluster voor onze staging-omgeving (voor acceptatie) en kunnen we met 1 druk op de knop een losse omgeving optuigen waarop we onze loadtests draaien.
Als database gebruiken we Azure SQL met extra replica (read-only) die we gebruiken voor monitoring, exports etc.
Jouw profiel
Wij hebben plaats voor zowel startende developers als ervaren krachten:
- Je hebt een afgeronde relevante HBO of WO opleiding
- Je bent communicatief vaardig en proactief
- Je kunt zelfstandig werken
- Je bent niet bang voor nieuwe technieken en uitdagende werkzaamheden
- Ervaring met C#, SQL en Typescript/Javascript
- Ervaring met geautomatiseerd testen is een pré
- Kennis van Azure is een pré
- Interesse voor sport is niet noodzakelijk, maar maakt het natuurlijk wél extra leuk!
In deze baan vind je:
Specialisme & Creativiteit & Diepgang & Invloed & Structuur & (Financiële) beloningWat we bieden
Van Scorito kun je het volgende verwachten:
- Dienstverband voor 32 tot 40 uur per week (in overleg)
- Goed salaris
- Hybride werken (we vinden het nog steeds fijn om regelmatig op kantoor samen te kunnen werken, maar tot 2 dagen per week thuiswerken is geen enkel probleem.)
- Tijd voor ontwikkeling van je technische vaardigheden
- Plaats in een jong team met ambitie en een informele werksfeer
- De kans om een succesvol platform te ontwikkelen
- De gelegenheid om uit te groeien tot een top-developer
Over ons
Over Scorito.com
Scorito.com biedt online sportgames aan voor voetbal (EK/WK, Eredivisie, Champions League), wielrennen (Tour de France, Giro, Vuelta) en tennis (Wimbledon, Roland Garros). Binnen Nederland is het bedrijf marktleider met meer dan 500.000 accounts. Scorito.com behoort in Europa tevens tot de meest veelbelovende bedrijven binnen de snel groeiende Fantasy Sports-industrie. Op het kantoor in Breda wordt gewerkt met een team van 10 medewerkers, waarvan 7 medewerkers onderdeel uitmaken van het technisch team. Iedere medewerker binnen het team heeft grote affiniteit met sport en spel, wij zoeken dan ook mensen die deze passie met ons delen. Bij Scorito.com kun je écht van je hobby je werk maken!