Software ontwikkelaar inhuren
Eén persoon die een systeem van een lege database naar productie brengt: het schema en de toegangsregels, de applicatie erbovenop, de deploypipeline en de monitoring die meldt wanneer het stukgaat. Niet één laag ervan, maar het geheel.
De meeste projecten breken op de naden. De database is van het ene team, de voorkant van het andere, de uitrol is een ticket in een derde backlog, en precies de onderdelen die niemand bezit gaan stuk. Eén ontwikkelaar voor het hele pad haalt die naden weg in plaats van ze te bemensen. Het betekent ook dat er één persoon aanspreekbaar is als iets traag is, en dat is een korter gesprek dan drie teams die elk aantonen dat het niet aan hen ligt.
Waar het begint
Het begint bij de data, niet bij de schermen. Wat het systeem opslaat, wie welke rij mag lezen, en wat er gebeurt als die twee antwoorden elkaar tegenspreken. In Postgres betekent dat: het schema en de row-level-security-policies worden samen geschreven, voordat er iets te zien is. Een toegangsmodel achteraf leggen op tabellen die er niet voor gebouwd zijn, betekent elke bestaande query herschrijven.
De applicatie
Daarna de applicatie erbovenop: Next.js met de App Router en TypeScript, of Vue als een codebase daar al op draait, en Flutter wanneer hetzelfde product ook een telefoonapp moet zijn. Een framework kiest u één keer en zit u jaren aan vast, dus die keuze volgt het team dat het gaat onderhouden en niet de mode van het kwartaal.
Het naar buiten krijgen
Een deploy is niet het einde van het werk. Het gebeurt meerdere keren per dag en moet dus saai zijn: een pipeline die de tests draait, een preview per branch die iemand kan aanklikken voordat het echt is, en een productie-uitrol vanaf main waar niemand voor wakker hoeft te blijven. Vercel voor de applicaties, of Docker op een eigen server wanneer de belasting of de vraag waar de data mag staan daarom vraagt.
Weten dat het werkt
En dan het deel dat er als eerste uit wordt gehaald en het hardst gemist wordt: weten dat het ding draait. Logs die doorzoekbaar zijn, Grafana-dashboards voor de getallen die vertellen dat er iets mis is, en alerts die een mens bereiken in plaats van een scherm dat niemand openheeft. Een systeem zonder monitoring is niet af. Er wordt alleen nog niet naar gekeken.
Wat u krijgt
- Een Postgres-schema met de toegangsregels geschreven en getest, niet aangenomen.
- Een applicatie in Next.js, Vue of Flutter, overal in TypeScript.
- Een deploypipeline met een preview per branch en een productie-uitrol vanaf main.
- Dashboards en alerts, zodat een probleem u eerder bereikt dan een klant.
- Een geschreven overdracht: hoe het werkt, hoe u het draait, en wat u doet als het niet draait.
Veelgestelde vragen
- Kunt u een project van begin tot eind bouwen?
- Ja, en daar gaat deze pagina over: het schema en de toegangsregels, de applicatie erbovenop, de deploypipeline en de monitoring daarna, van één persoon. De naden tussen die lagen zijn precies waar projecten vastlopen.
- Waar begint u?
- Bij de data. Wat het systeem opslaat en wie welke rij mag lezen, geschreven en getest voordat er schermen zijn. Een toegangsmodel dat er achteraf op wordt gelegd, betekent elke bestaande query herschrijven.
- Waarmee bouwt u?
- TypeScript met Next.js of Vue aan de voorkant, Flutter wanneer hetzelfde product ook een telefoonapp moet zijn, en Postgres of Supabase erachter. Op de server Python of Node, draaiend in Docker-containers.
- Wat gebeurt er na de overdracht?
- U krijgt een geschreven overdracht: hoe het systeem draait, hoe u het uitrolt, welke onderdelen kwetsbaar zijn en waar u begint als er iets misgaat. De dashboards en de alerts staan er dan al op.