Pluspunten
Dit is een tech-recensie, dus daar focus ik ook op. Booking werkt op enorme schaal. Dus als je van grote hoeveelheden data, interessante A/B-testen en schaalbare architectuur houdt heeft Booking veel potentieel. Wees je er wel van bewust dat dit allemaal veel minder interessant wordt door de middelmatige, halfbakken aanpak van ongeveer alles op het gebied van technologie. Als je graag voor 40 uur uitbetaald krijgt terwijl je maar 32 uur werkt is Booking ook erg fijn. Je komt opdagen om 10:30? Vertrekt om 17:30? Oké. Dat gebeurt constant. Als je Perl fijn vindt is dit ook een geweldig bedrijf, want net als bij Perl zijn er meerdere verschillende manieren om iets te doen. Dus wees erop voorbereid iedere mysterieuze Perl-operator waar je ooit van hebt gehoord te spotten, drie chats met klanten open te hebben staan (want er zijn verschillende manieren om contact met iemand op te nemen), veel aan technologieën te werken die niet goed samengaan en verschillende managementstijlen / manieren om teams te organiseren mee te maken.
Minpunten
De technische kwaliteit en de technologie zelf is middelmatig. Veel teams zijn sterk gericht op zaken (wat op zich goed is) binnen hun specifieke vakgebied, maar niemand houdt echt overzicht. Dit houdt in dat de standaard strategie neerkomt op functies zo snel mogelijk in bestaande codes proppen. Dus, je zoekt naar het stukje code dat je moet veranderen en voegt een "if (mijn_coole_functie_ingeschakeld) {} else {}"-constructie toe. Blijf dit herhalen tot je Perl-functies hebt die minstens 5000 regels in beslag nemen. Geen grap. Tegen die tijd heeft iedereen aan die code gezeten, dus is hij ook van niemand meer. Ondertussen zijn sommige mensen natuurlijk gefrustreerd geraakt om de spaghetti-achtige codebasis van Perl, die onmogelijk te navigeren is en gelijk staat een archeologisch verslag van 20 jaar bestaande uit ongeïnspireerde hacks en gekopieerde code (dat laatste gebeurt extreem veel). Dus er zijn nieuwe technologieën toegevoegd. Welke? Nou ja, het is Booking, dus niemand is eigenaar van dit proces. Zo is er Java, wat eigenlijk de enige 'officiële' tweede taal is. Maar natuurlijk gebruiken de data scientists Python. En R. En Go wordt gebruikt, ook leuk. En Kotlin, net zo leuk. In de Java-wereld worden de populairste frameworks (voor het web) toegepast. Zo gaat het voor alle protocollen die je kunt bedenken. Ook bij front-end, React, Angular, je vindt het overal. Aan de ene kant is de vrijheid fijn, maar het werkt niet. Het leidt ook tot ergernis tussen teams. 'Waarom doen zij wat ze willen als ze Spring boot hadden kunnen gebruiken', 'waarom doen ze dit in Java als 3 regels in Perl ook had gewerkt'. Omdat niemand verantwoordelijkheid neemt of beslissingen durft te maken, doen mensen wat hen het beste uitkomt. Dit is erg pragmatisch, maar leidt ook tot eilandjes vol verschillende standaarden en wrijving tussen de eilandjes. Niet alleen technologische standaarden, maar ook standaarden van menselijke kwaliteit. Als je men hierop wijst krijg je altijd een zelfde soort uitleg: 'Nou, ja, maar om dit te begrijpen moet je de context kennen', en dan volgt er een oorlogsverhaal om de boel te verdedigen. En dat snap ik wel, maar niemand ruimt de rotzooi op.