Waarom zelf code schrijven nog steeds zijn waarde bewijst
Waarom Handgemaakte Code Nog Steeds Waardeert Wordt
Er was eens een klokkenmaker in het dorp waar ik opgroeide. Zijn etalage stond vol uurwerken die hij zelf had gemaakt – echte mechanische kunstwerken met tandwielen en veren die hij met zijn eigen handen had geslepen. Je kon erdoorheen kijken en het mechanisme bewonderen, de manier waarop elk onderdeeltje een ander in beweging zette.
Naast zijn winkel zat een warenhuis. Daar verkochten ze horloges voor twintig euro. Werkt perfect, Batterij gaat twee jaar mee.
Beide winkels bestaan nog steeds. De klokkenmaker heeft een wachtlijst van zes maanden. Het warenhuis, tja.
Dit verhaal gaat over hoe technologie de manier waarop we werken drastisch kan veranderen zonder dat ambacht verdwijnt.
Toen Photoshop De Fotografen Niet Wegvaagde
De digitale revolutie in de fotografie veranderde alles. Plotseling kon iedereen met een smartphone foto's maken die technisch perfect waren. Portretten zonder korrel, landschappen met de perfecte belichting, scherpe actieshots.
Dus verdwenen de professionele fotografen?
Nee. Ze werden juist meer waard. Niet omdat ze betere camera's hadden, maar omdat ze iets meebrachten dat geen apparaat kan repliceren: een visie, een manier van kijken, het vermogen om een moment te vangen dat异于 iets speciaals heeft.
Nu staat AI voor een vergelijkbare dreiging – of kans, afhankelijk van hoe je ernaar kijkt – in de softwareontwikkeling.
De Lelijke Code Die Toch Werkt
Laat me je wat laten zien. Dit is code die AI generates:
def get_user_data(user_id):
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))
result = cursor.fetchone()
conn.close()
return result
Werkt prima. Geen problemen. Ik heb het getest.
Maar kijk eens naar wat er ontbreekt. Geen comments. Geen documentatie. Geen foutafhandeling voor het geval de verbinding mislukt. En die query? Die werkt, maar gaat performance-problemen krijgen zodra er duizenden gebruikers zijn.
Nu dit:
def get_user_data(user_id: int) -> Optional[dict]:
"""
Haalt gebruikersgegevens op uit de database.
Args:
user_id: Het unieke identificatienummer van de gebruiker
Returns:
Een dictionary met gebruikersgegevens, of None als niet gevonden
Raises:
DatabaseError: Als de verbinding met de database mislukt
"""
try:
with get_db_connection() as conn:
result = conn.execute(
"SELECT id, name, email, created_at FROM users WHERE id = ?",
(user_id,)
).fetchone()
if not result:
return None
return {
'id': result[0],
'name': result[1],
'email': result[2],
'created_at': result[3]
}
except DatabaseError as e:
logger.error(f"Kon gebruiker {user_id} niet ophalen: {e}")
raise
Dit kost meer tijd om te schrijven. Maar over twee jaar, wanneer iemand anders dit moet onderhouden? Die persoon stinkt van dankbaarheid.
Het Gen waar Programmeren Om Draait
AI is belachelijk goed in het herkennen van patronen. Het kan honderden regels boilerplate genereren in seconden. Het kan een REST API in elkaar zetten die functioneert. Het kan zelfs bugs vinden en oplossen.
Maar er is iets wat het niet kan: oordelen.
Stel je voor dat je een systeem ontwerpt voor een ziekenhuis. Je staat voor keuzes die geen enkele handleiding je kan uitleggen. Hoeveel冗余 moet je inbouwen? Wanneer is “sneller” beter dan “betrouwbaarder”? Wat als de arts die het systeem straks gebruikt, slechtziend is en je geen toegang hebt tot de UI-code?
Dit zijn geen vragen die je kunt googelen of in een prompt kunt stoppen. Ze vereisen inzicht dat alleen ontstaat door jarenlang fouten maken, successen vieren, en vooral: door echte mensen te spreken en hun problemen écht te begrijpen.
De Stille Taal van Goede Code
Er is zoiets als code die ademt. Je leest het en het voelt logisch, bijna vanzelfsprekend. Variabelen heten zoals je zou verwachten. Functies doen één ding en doen dat goed. De structuur volgt een logica die je meekrijgt zonder moeite.
Dit is geen toeval. Het is het resultaat van honderden kleine beslissingen, elk met zorg genomen.
AI kan dit niet. Niet echt. Een model kan leren welke patronen populair zijn, maar het begrijpt niet waarom een bepaalde naamgeving werkt voor dit team, in dit domein, met deze gebruikers. Het mist de sociale laag van softwareontwikkeling – de onderlinge afspraken, de gedeelde visie, de ongeschreven regels die een codebase bij elkaar houden.
Waar De Toekomst Ligt
De ontwikkelaars die echt zullen opvallen, zijn niet degenen die AI helemaal niet gebruiken. Evenmin zijn het degenen die alles aan AI overlaten.
Het zijn degenen die slim combineren.
AI neemt het repetitieve werk – de standaardCRUD-operaties, de form validation, het genereren van tests voor trivial functions. Daar is geen menselijke input voor nodig, en eerlijk gezegd: het zou zonde zijn om je talenten hieraan te verspillen.
Maar de architectuur, de trade-offs, het gesprek met de gebruiker over wat ze écht nodig hebben, de vraag “moeten we dit uberhaupt bouwen?” – dat blijft mensenwerk. En zal altijd mensenwerk blijven.
Dus Wat Nu?
Als je nu ontwikkelt: verwelkom de tools, maar investeer ook in wat niet te automatiseren valt. Leer systemen denken, niet alleen code schrijven. Begrijp waarom iets moet werken, niet alleen hoe. Dat is waar jouw waarde ligt.
Als je op zoek bent naar ontwikkelaars: stop met het afvuren van technische vragen over frameworks en algoritmes. Vraag in plaats daarvan naar hun denkprocessen. Hoe gaan ze om met vage specificaties? Wat doen ze als ze ergens niet uitkomen? Houden ze rekening met de mensen die later met hun code moeten werken?
En als je je zorgen maakt over de toekomst: onthoud de klokkenmaker. Hij had gemakkelijk kunnen zeggen “digitale horloges zijn efficiënter, ik stop ermee.” In plaats daarvan verfijnde hij zijn ambacht, vond zijn niché, en bleef doen waar hij goed in was.
De wereld heeft plek voor Zwitserse horloges en voor twintig-euro-winkels. De kunst is om te weten welk spelletje je speelt – en daar de beste in te worden.
Wil je weten hoe ik denk over de specifieke tools en technieken die je nu al kunt gebruiken? In mijn volgende artikel duik ik dieper in de praktische kant van AI-assisted development.