De CTO's van onze drie units - Data, DevOps en Development - vormen samen met de CTO van CINQ een denktank: de CINQTank. Deze groep mensen houdt zich bezig met het “voorspellen” van de toekomst. Samen met de mensen uit de units kijken zij in de verschillende vakgebieden naar de ontwikkeling van technieken en tools. Hiermee wordt een technische visie gecreëerd. Deze wordt onder andere gebruikt om richting te geven aan de opleiding van medewerkers. Tevens wordt het gebruikt als input voor de jaarplannen van elke afdeling. Tot slot is het natuurlijk ook gewoon leuk om na te denken hoe de toekomst eruit zou kunnen zien. Hieronder lees je onze verwachtingen op het gebied van Development.
Als we naar de afgelopen periode kijken, heeft onze markt de agile transformatie afgerond en werken al onze klanten nu op een agile manier. Na het jarenlang werken in geïsoleerde silo’s, is de markt doorgeslagen naar een mindset waarbij ontwikkelaars alles moeten kunnen. Dit heeft geleid tot een sterke voorkeur voor niet alleen T-vormige ontwikkelaars, maar ook (onrealistische) alleskunners. We zien nu dat er een correctie plaatsvindt, waarbij de markt beseft dat het meer om specialistische vaardigheden gaat met een bereidheid om buiten je rol te acteren. Veel van onze klanten maken ook een "shift left"-beweging, wat ervoor zorgt dat testinspanningen eerder in de levenscyclus van ontwikkeling plaatsvinden.
Er gaat van onze ontwikkelaars verwacht worden dat ze een specialist zijn in hun vak, maar ook een brede kennis hebben van andere onderwerpen zoals bijvoorbeeld security, architectuur en cloud.
Kort gezegd zijn onze klanten op zoek naar ontwikkelaars die goed zijn in het ontwikkelen binnen hun specialisme (bijvoorbeeld backend Java) maar niet terughoudend zijn om andere ontwikkelwerkzaamheden (bijvoorbeeld frontend Javascript) op te pakken. Er wordt van ze verwacht dat ze buiten hun eigen vakgebied kunnen acteren en ook verantwoordelijk zijn voor het ontwerpen, testen en beheren van hun software samen met de specialisten op deze onderwerpen.
Hierdoor is de ontwikkelaar niet meer een geïsoleerde eenling in een hoekje die voorzien wordt van specificaties. Mede hierdoor wordt er van onze consultants niet alleen inhoudelijke kennis op gebied van bijvoorbeeld Java verwacht, maar ook brede technisch kennis in een uiteenlopend scala aan onderwerpen op het gebied van frontend, backend, cloud, testen, security en architectuur. Door deze beweging worden goede communicatieve vaardigheden steeds belangrijker, omdat we meer communiceren naar zowel specialisten buiten ons eigen aandachtsgebied als naar stakeholders zonder technische kennis.
Door cloud bewegingen wordt er van onze ontwikkelaars verwacht dat ze zich thuis voelen in een veeltal cloud providers. In de basis geldt hier dat als onze ontwikkelaars de concepten achter de verschillende cloud oplossingen moeten snappen. Vervolgens kunnen ze dit per cloud provider makkelijk naar een specifieke oplossing vertalen. Bijvoorbeeld als je het concept serverless function snapt, is dit makkelijk te vertalen naar Azure Functions, AWS Lambda of Google Cloud functions.
Een ander aandachtsgebied waar veel bedrijven in de komende periode mee bezig zullen zijn, is het spanningsveld tussen beveiliging en innovatie. We zien dat bedrijven na een aantal grote beveiligingsincidenten opnieuw vol inzetten op beveiliging.
Tegelijkertijd zien we in sommige bedrijven dat de verantwoordelijkheid voor beveiliging meer naar de teams wordt verplaatst. Denk hierbij aan het uitvoeren van zero trust architectuur en threat modelling binnen teams.
Deze twee bewegingen kunnen met elkaar in conflict raken, waarbij het onderwerp beveiliging belangrijker wordt, maar de verantwoordelijkheid tegelijkertijd verschuift naar rollen met minder ervaring op dit gebied. Het is aan onze ontwikkelaars om eigenaar te worden van de beveiliging van hun software, met alle kennis en vaardigheden die daarvoor nodig zijn.
Steeds meer bedrijven zetten in op of experimenteren met Low Code-oplossingen, waarbij de ontwikkelaar minder bezig is met het schrijven van programmacode. De verwachting is dat Low Code een plek zal krijgen binnen de markt, maar dat het niet op korte termijn de rol van ontwikkelaar zal vervangen.
Als we naar de frontend kijken, blijft Typescript zeer relevant als ondersteuning voor JavaScript. Wat betreft frameworks blijft Angular relevant, vooral voor grote bedrijven die al langere tijd grote investeringen in dit framework hebben gedaan of die veel werken met Java-ontwikkelaars die ook bijdragen aan de frontend. React staat op het punt om de dominante positie in te nemen als het gaat om frontend-ontwikkeling. Beide frameworks zullen de komende jaren nog steeds de hoofdmoot van CINQ zijn frontend-opdrachten uitmaken.
Qua backend zien we dat Java voor onze markt nog steeds de grote meerderheid is, maar dat onze klanten wel experimenteren met Kotlin. Door de uitstekende manier waarop deze talen met elkaar kunnen interacteren, wordt er ook volop met Kotlin in productie gewerkt. De verwachting is dat beide talen de komende jaren steeds meer samen zullen worden gebruikt. Enkele bedrijven zullen zelfs helemaal overstappen op Kotlin.
Over het algemeen is het voor onze ontwikkelaars raadzaam om technische kennis in tweevoud te verwerven. Denk hierbij aan bijvoorbeeld twee verschillende frontend frameworks, twee verschillende programmeertalen of twee verschillende cloud omgevingen. Dit is raadzaam omdat het een bredere kennis ondersteund en meer inzichten met zich meebrengt. Bovendien maakt de eerder verkregen kennis het leren van een derde onderwerp in dezelfde categorie sneller en gemakkelijker.
Door de afronding van de meeste cloudtransformaties zien we dat de behoefte aan kennis van on-premise hosting oplossingen, zoals applicatie servers (TomCat, WebSphere) en web servers (NGINX en Apache Httpd) afneemt.
Als we verder vooruit kijken, zijn er een aantal onderwerpen die de potentie hebben om grote impact te hebben op onze markt of onze manier van werken.
Dit zijn technieken zoals VR/AR/Mixed Reality, Web 3.0, Machine Learning en Artificial Intelligence. Hoewel het mogelijk is om met deze onderwerpen volwassen applicaties te ontwikkelen, ligt de uitdaging in het toepassen van deze onderwerpen in de dagelijkse werkzaamheden bij onze bestaande klanten in hun marktsegment.
Als Development unit zullen we ons moeten voorbereiden om deze technologieën te benutten wanneer onze klanten besluiten om deze technologieën te omarmen. Dit betekent dat we ons moeten verdiepen in deze onderwerpen en ervaring opdoen in hun toepassingen, zodat we onze klanten goed kunnen adviseren en ondersteunen bij het integreren van deze technologieën in hun werkzaamheden.
Cloud zal in de toekomst nog steeds een belangrijke rol spelen, maar er is een kans dat de cloud platformen abstracter worden omdat veel bedrijven zich realiseren hoe afhankelijk ze zijn van hun cloud provider.
Dit betekent dat developers steeds meer cloud agnostische ondersteuning zullen zien voor software en frameworks. Het is daarom belangrijk dat onze ontwikkelaars de onderliggende concepten goed beheersen, zodat ze in staat zijn om deze technologieën op een effectieve manier te gebruiken, ongeacht het cloud platform.
Op lange termijn zal er nog maar zeer beperkt on-premises hosting zijn. Legacy niet-cloudnative-applicaties zullen verdwijnen en er zal nog maar beperkt worden gekozen om bepaalde zaken niet in de cloud te draaien. De belangrijkste reden hiervoor is vertrouwelijke data, maar zelfs op dit vlak zien we dat de risicobereidheid van klanten groeit.
Hier bepalen we de potentie van technieken ten opzicht van de inspanning die het kost om ze eigen te maken.
Inspanning: Bij inspanning gaat het om de inspanning voor onze developers om kennis en kunde op te doen van een onderwerp. Hierbij telt mee dat als onze developers bij een klant al veel met soortgelijke technieken in contact komen dat inspanning over het algemeen lager zal liggen. Bijvoorbeeld de inspanning voor CINQ om nieuwe Cloud technieken op te pakken is laag, omdat de meeste developers al veel basis kennis hebben opgedaan bij verschillende klanten.
Potentieel: Bij potentieel gaat het niet alleen het potentieel van de techniek in de hele markt maar ook impact op CINQ en zijn klanten. Voorbeeld: Quantum Computing heeft het potentieel de hele IT mark te veranderen. Echter voor de diensten die wij leveren is het aannemelijk dat Quantum Programming voorlopig nog niet aan de orde is. Hierdoor is de potentie laag.
Afbeelding 1: Potentieelbepaling
Voor CINQ is het goed als de units elkaar beter kunnen vinden en hierdoor elkaar makkelijker kunnen ondersteunen.
Dit willen we bereiken door meer kruisbestuiving te bewerkstelligen tussen de units. Dit doen we door expertise met elkaar te delen en door gezamenlijk projecten te gaan doen.
Vanuit zowel de Devops als de Data unit is er behoefte aan meer programmeer expertise. Hierbij kan de Development unit goed ondersteunen.
Omdat er steeds meer verantwoordelijkheid komt te liggen bij ontwikkelaars, is de kennis die de Data unit heeft van monitoring en observability zeer waardevol voor onze ontwikkelaars. Daarnaast kunnen we van deze expertise gebruik maken om productie problemen beter te analyseren en meer controle te hebben over ons productie landschap.
Tot slot ligt er een grote ambitie binnen heel CINQ om meer projecten te gaan doen waar alle drie de units een aandeel in hebben. Door deze nauwere samenwerking kunnen we elkaar ook voor andere zaken makkelijker vinden en worden de muren tussen de units steeds verder afgebroken.