Bij backend-ontwikkeling omvat mijn huidige stack Node.js, NestJS en PHP.
Bijna bij elke app die ik in het verleden heb gelanceerd, heb het backend ook ontwikkeld. Om de ontwikkelingssnelheid, prestaties en betrouwbaarheid te verbeteren, ben ik al meerdere keren van taal en framework veranderd, van PHP naar Node.js; geconfigureerde servers met alleen de shell, daarna Ansible en nu Docker en Kubernetes.
De lessen die ik heb geleerd tijdens het maken van al deze apps zullen voor altijd nuttig voor me zijn, ongeacht welk framework ik in het volgende project zal gebruiken.
Wat ik aan de backend kant kan doen is:
- het leiden van ontwikkeling van backends in Node.js/PHP;
- het opsplitsen van de backend in afzonderlijke domeinen en microservices;
- het implementeren of maken van APIs (zoals REST, GraphQL, SOAP), gegevenssynchronisaties, cloud servers, asynchrone workers;
- het gebruik van verschillende soorten databases (zoals PostgreSQL, MySQL, SQL Server, Elasticsearch, CouchDB, Redis);
- het verdelen van services in verschillende nodes / docker-containers; database-sharding; load balancing;
- het herstructureren van bestaande applicaties, door de leesbaarheid van de code te verbeteren, verantwoordelijkheden te scheiden in afzonderlijke functies/klassen/modules, de bedrijfslogica verplaatsen naar afzonderlijke modules, etc;
- het schrijven unit en e2e testen.