LUXE, MODERNE WERKPLEKKEN

LUXE, MODERNE WERKPLEKKEN
samenwerken in een gedreven scrum team

Kennisontwikkeling

Kennisontwikkeling
moderne technieken en goede code

Kennisontwikkeling

Kennisontwikkeling
CONFERENCES EN MEETUPS

Kennisontwikkeling

Kennisontwikkeling
(IN-HOUSE) TRAINING

PB WEB MEDIA BEURSSTAND

PB WEB MEDIA BEURSSTAND
onze stack staat garant voor een echte uitdaging

SCRUM REFINEMENT MEETING

SCRUM REFINEMENT MEETING
in onze vergaderkamer

Planning poker

Planning poker
om complexiteit van stories in te schatten

Afdeling Back-end Development

+/- 10.000.000 bezoekers && big data == uitdaging
Door intensief samen te werken in een gedreven en leergierig team, bedenken we de meest veilige en efficiënte oplossingen voor de uitdagende taken die we krijgen gepresenteerd. Op efficiënte wijze mooie code maken in een ontspannen en gezellige sfeer, dat is onze afdeling Back-end Development. Bekijk onze open source projecten op Github.com/PBWebMedia.

Kennisontwikkeling

We maken hoge kwaliteit back-end software voor onze sites die +/- 10.000.000 bezoeken per dag afhandelen, door veel kennis te vergaren en kennis met elkaar te delen. Bij PB Web Media krijg je dan ook alle ruimte om je kennis te ontwikkelen, wat zelfs in verregaande mate wordt gestimuleerd door het bedrijf. 

Alle medewerkers hebben de mogelijkheid om twee weken per jaar te besteden aan (vakgerelateerde) cursussen. Je kunt een online cursus volgen, achter je computer of in een stille ruimte, maar ook een cursus op locatie. We hebben ook een bibliotheek waar je (zo goed als) ongelimiteerd boeken kunt aanvragen. Vooral voor de Development afdelingen biedt dit een uitkomst. Nergens gaan de ontwikkelingen immers zo snel als in de IT.

Ook proberen we regelmatig grote (en kleine) vakgerelateerde evenementen te bezoeken om onze kennis op niveau te houden, ons te laten inspireren en om like-minded professionals te ontmoeten. Denk aan: Scala Days, GrafanaCon, CodeMotion, PHPBenelux, Dutch PHP Conference. Bij de laatste twee conferences zijn we zelfs meerdere keren als sponsor aanwezig geweest met onze beursstand.

Hoe wij werken

Agile ontwikkelen met scrum

We ontwikkelen onze applicaties Agile, door de scrum methode toe te passen. Je ziet dan snel resultaat omdat er na elke korte iteratie van een week direct werkende software wordt opgeleverd. De functionaliteit wordt per sprint uitgebreid. Twee gecertificeerde Scrum Masters zien erop toe dat we scrum zo efficiënt mogelijk toepassen.

De Refinement

Voordat de sprint begint zijn de features uitgewerkt in duidelijk omschreven stories. Dit gebeurt in de Refinement sessies. Omdat alle teamleden hieraan deelnemen en worden betrokken bij het refinen, weten we precies wat er gemaakt moet worden in de nieuwe sprint en kan iedereen elke taak oppakken. Elke mening en elk idee is dus medebepalend voor de technische implementatie van de feature. Met behulp van Planning Poker kaarten wordt de complexiteit van elke story ingeschat zodat de product owner en de stakeholders kunnen bepalen welke stories in de nieuwe sprint ontwikkeld zullen worden. Luisteren en probleemanalyseren zijn extra belangrijk tijdens deze Refinement sessies, waarbij van alle teamleden inzet, betrokkenheid en samenwerking wordt verwacht.

Pair-programming / Samenwerken

Tijdens de sprint werken we veel samen en wordt veel kennis gedeeld. Dit gebeurt o.a. door pair-programming, waarbij twee programmeurs samen een (ingewikkelde) feature ontwikkelen. Het eindresultaat van de samenwerking is code die minder bugs bevat, omdat er minimaal twee mensen naar hebben gekeken.

Pull Requests / Peer reviews

Onze Pull Requests handelen we af via GitLab. Zo zorgen we ervoor dat elke story door minstens één peer wordt gecontroleerd en getest voordat deze de status 'Done' krijgt toegewezen.

Refactoring

Technical Debt voorkomen we door regelmatig onze code te refactoren. We hanteren de Boy Scout rule, maar als we vermoeden dat de refactor-werkzaamheden een aanzienlijke hoeveelheid tijd zullen innemen dan maken we hiervoor een speciale story op de backlog.

Continuous Integration & Continuous Delivery

We werken in korte iteraties van twee weken, dus efficiënte Continuous Integration en Continuous Delivery (d.m.v. GitLab pipelines) zijn voor ons belangrijke aspecten van het ontwikkelproces.

De Demo

Na elke sprint toont het ontwikkelteam de nieuw ontwikkelde features tijdens de Demo aan de Stakeholders. Het team krijgt dan direct feedback van de aanwezigen, zodat duidelijk wordt of de gemaakte software naar wens is.

De Retrospective

Aansluitend op de demo volgt de Retrospective. Tijdens de Retrospective kijkt het team terug op de afgelopen sprint en zoekt vooral verbeterpunten.

Codekwaliteit

We letten continu op de veiligheid van onze code, maar ook of de code op lange termijn goed is te onderhouden en we zorgen dat de code leesbaar is zodat het hele team er fijn mee kan werken. Daarnaast zijn we met meer dan 10.000.000 bezoeken per dag natuurlijk gericht op de efficiëntie/optimalisatie van de code. De keuze van de te gebruiken programmeertaal, het gebruik van OOP, functional programming, het op de juiste manier toepassen van design patterns, de keuze van functies, de architectuur van onze applicaties, (unit) testing, het zijn allemaal goede voorbeelden van (voor ons) belangrijke aspecten tijdens het bouwen van oplossingen. Elke developer beschikt over het Jetbrains 'All Products Pack', zodat gebruik kan worden gemaakt van o.a. IntelliJ IDEA Ultimate (vooral voor Scala), en PHPStorm.

Eigen inbreng

Voor alle afdelingen van PB Web Media geldt dat we de eigen inbreng en ideeën van de teamleden waarderen en koesteren. Dat is een van de redenen waarom we hebben gekozen voor de scrum methode. Het team bespreekt tijdens de scrum Refinement sessies uitvoerig hoe de features die door de product owner worden aangedragen, technisch geimplementeerd moeten worden. Hoe precies de implementatie plaatsvindt, is normaal gesproken de keuze van (dus ook de verantwoordelijkheid van) het development team als geheel. Slechts in uitzonderlijke gevallen zijn er functionele requirements die een bepaalde aanpak noodzakelijk maken.

Software / Stack

We gebruiken veel verschillende (veelal open source) software als basis voor onze applicaties en ter ondersteuning van het ontwikkelproces. Denk aan Linux, GitLab, Docker, Ansible, Scala, Akka, Play Framework, Symfony, PHP, MySQL, RabbitMQ, Couchbase, Elasticsearch, Varnish, Nginx, Apache, HAProxy, Git, Jira, GitLab, PHPStorm, IntelliJ IDEA en al het andere dat ons kan helpen de meest efficiënte oplossing te realiseren.

Hardware en werkplek

We werken achter moderne, snelle computers met 2 extra schermen van 27". Bij specifieke wensen met betrekking tot het OS of computer zijn we flexibel, zodat we veelal tegemoet komen aan de wensen van de medewerker en er comfortabel en efficiënt gewerkt kan worden. Daarbij heeft iedereen een noise-cancelling headset, waardoor je in je flow kunt blijven terwijl collega's een gesprek voeren. Informatie over onze ergonomische werkplekken vind je hier: werkomgeving.

Geïnteresseerd?

Bekijk onze vacatures.
Back to Top