Software dringt door in alle poriën van de samenleving. Bovendien zijn allerlei technieken in opkomst die een grote impact zullen hebben op hoe bedrijven zaken doen en met klanten en partners interacteren.

Maar alle software begint bij software-ontwikkelaars. Zij moeten de vaardigheden hebben om de digitalisering te ondersteunen. Daarom volgen hier vijf trends in softwareontwikkeling die in 2018 de boventoon zullen voeren en waar je als ontwikkelaar goed mee voor de dag kunt komen.

Chatbots gaan het helemaal maken

Heel veel organisaties zullen deze handige tools willen gaan inzetten om de communicatie met klanten en bijvoorbeeld servicemedewerkers te verbeteren. Als ontwikkelaar ga je er dus vrijwel zeker mee te maken krijgen

Daarbij zul je je er bewust van moeten zijn dat chatbots steeds zo natuurlijk mogelijk moeten communiceren. Klassieke chatbots passen zich bijvoorbeeld helemaal niet aan aan de klant en zijn helemaal afhankelijk van scripts en vaste antwoorden. Maar die zijn echt niet meer van deze tijd.

Chatbots moeten de vraag snel goed begrijpen en vervolgens snel relevante informatie ophalen uit relevante bronnen, zodat de klant snel het gewenste antwoord krijgt zonder complete documenten door te hoeven spitten.

Deze technologie heeft grote mogelijkheden, maar het moet wel goed worden geïmplementeerd. en daar komen de ontwikkelaars bij kijken. Jullie dus.

Lees ook: Bouw je eigen chatbots

AI wordt de app interface

AI wordt de UI, wat betekent dat het synchrone vraag-antwoordmodel bij apps en services langzaamaan verdwijnt. En laten we eerlijk zijn, smartphones zijn eigenlijk nog steeds dom omdat je ze, voordat je een antwoord kunt krijgen, eerst moet pakken, dan een app moet starten en dan moet je ook nog iets vragen. In een nieuwe generatie intelligente apps zal de app zelf interacties initiëren, via pushmeldingen.

En laten we dit nog een stap verder voeren. De app, bot of 'virtuele persoonlijke assistent met kunstmatige intelligentie gaat weten wat het wanneer moet doen, waarom, waar en hoe. En dat gebeurt dan gewoon. Hier zijn twee voorbeelden:

Het kost heel veel tijd om alle reguliere uitgaven bij te houden, maar daar kan AI verandering in brengen. Een app houdt de kostenpatroon in de gaten en keurt alvast 99 procent van de kosten goed die in het patroon passen. Die kun je dan eventueel heel snel doorlopen om er definitief akkoord op te geven. De AI vestigt je aandacht op de kosten die niet in het patroon passen en dus meer aandacht vragen.

Analytics apps gaan de onderliggende data veel beter begrijpen dan mensen. Ze hebben een snel overzicht van de vragen die tot nu toe zijn gesteld door gebruikers en van de vragen die aan dezelfde dataset zijn gesteld door andere gebruikers in het bedrijf. Daardoor kunnen ze nieuwe inzichten leveren waar analisten zelfs nog nooit aan hebben gedacht. En als organisaties meer data vergaren, dan kan AI ons leren welke vragen we kunnen stellen aan de data.

De rol van onwikkelaars hierin is dat ze moeten uitvinden welke data werkelijk belangrijk is voor hun applicaties, hoe die transacties vastleggen en daarvan leren, welke beslissingen het meeste voordeel hebben van wat voor proactieve AI. En dan moeten ze beginnen met experimenteren. Daarbij is het dus van groot belang dat ze de business begrijpen. Dan kunnen ze werkelijk erg veel waarde toevoegen aan de organisatie.

Lees ook: Cognitieve systemen maken snelle besluitvorming mogelijk.

Blockchain gaat daadwerkelijk doorbreken

Bedrijven beginnen te begrijpen dat er veel voordeel te behalen valt met transacties via blockchain, zoals veiligheid, betrouwbaarheid en efficiëntie. En er zijn natuurlijk ontwikkelaars nodig die komend jaar blockchain use cases moeten gaan implementeren. Blockchain is een technologie die efficiënte, veilige, onveranderlijke, vertrouwde transacties kan ondersteunen tussen organisaties die elkaar misschien net niet helemaal vertrouwen. En dat zonder tussenpersoon.

Veel grote technologiebedrijven hebben in 2017 hun eigen blockchain platformen geïntroduceerd. IBM heeft hierin bijvoorbeeld een leidende rol genomen en is al bezig met het voorbereiden van samenwerkingsverbanden met banken, voedseldistributeurs en bijvoorbeeld Maersk, om van blockchain gebruik te maken. Dit soort samenwerkingsverbanden komen nu overal op, waardoor blockchain nog beter op de radar komt.

Neem een bedrijf dat producten bestelt van een buitenlandse producent. Deze producten worden verscheept via een rederij, komen door de douane, worden overgedragen aan een andere rederij, en daarna komen ze pas bij de koper. De verificatie van elke stap wordt nu nog gedaan via emails en spreadsheets, waarbij heel veel mensen en processen betrokken zijn.

Blockchain maakt die handmatig processen overbodig door onherroepelijk updates vast te leggen in de blockchain als een minimum aantal van deze partijen zegt dat de transactie inderdaad heeft plaatsgevonden.

In 2018 zullen veel bedrijven met blockchain beginnen om deze grote voordelen te verkrijgen. En dat betekent dat de vraag naar blocchain developers sterk gaat groeien. En het aantal ontwikkelaars dat zich met blockchain bezighoudt is natuurlijk nog lang niet zo groot als bijvoorbeeld Java-ontwikkelaars. Mensen met blockchain-ervaring hebben komende tijd dus een streepje voor.

De enige vraag over containers wordt: 'Waarom niet?'

Containers worden de default voor dev- en testwerk en ze worden normaal voor applicaties in productie. Je kunt hierbij ook steeds meer verbeteringen verwachten in beveiliging, beheerbaarheid, orchestratie, monitoring en debugging. Dit wordt versterkt door het open source karakter en het feit dat het een industriestandaard is. Hierdoor komen innovaties sneller door.

Containers zijn de bouwblikken voor veel van de trends die in de moderne ontwikkelwereld belangrijk zijn, zoals microservice-architecturen, cloud-native apps, serverles functies en DevOps.

Je moet je hier wel bedenken dat containers niet altijd en overal passen. Als je bijvoorbeeld meerdere toepassingen moet uitvoeren op servers en/of allerlei besturingssystemen hebt, dan kun je beter VM's gebruiken. En las beveiliging vrijwel het allerhoogste op het prioriteitenlijstje van je bedrijf staat, dan kun je het voorlopig ook beter bij VM's houden.

Maar de ontwikkelingen gaan snel, en daar horen containers absoluut bij.

Lees ook: Containers vs. virtual machines: wat is de beste keuze voor jou?

Security by design wordt absolute noodzaak

Er zijn ontwikkelaars die nog te vaak denken dat beveiliging en compliance de verantwoordelijkheid is van iemand anders. In het slechtste geval wordt het gezien als een bottleneck voor het uitrollen van code. Maar hier komt niemand meer mee weg, zeker niet met de GDPR die in mei van kracht wordt.

Beveiliging en compliance zal dus het geweldige tempo van softwareontwikkeling bij moeten kunnen houden. Ontwikkelaars moeten niet alleen gaan letten op de use cases van de business, maar ook goed worden in het verzinnen van abuse cases. Hierdoor worden flaws in de software voorkomen die helemaal in de architectuur van de apps ingebakken zitten.

Daarnaast wordt kennis vereist van geautomatiseerde beveiligingsmethoden die automatisch dreigingen identificeren en tegengaan. Aanval en verdediging worden in de toekomst allebei steeds meer overgenomen door kunstmatige intelligentie. Dus moeten ontwikkelaars zich hier goed in verdiepen.