5 Tips voor een vliegende start als software developer 👨💻

Als startende developer is het lastig te bepalen wat je moet doen om te groeien. Met deze vijf tips maak je een vliegende start. 🚀
Een goed begin is het halve werk 🌱
Je bent een startende ontwikkelaar. Ambitieus en leergierig.
Waar begin ik? Wat moet ik leren en waarom?
Lastige vragen. Vragen die je moeilijk kunt beantwoorden als je net begint aan je carrière. Alles lijkt belangrijk en dan is ons vakgebied overweldigend.
Toen ik net begon als ontwikkelaar stelde ik mijzelf dezelfde vragen. Nu ik een jaar of zes verder ben zie ik in dat ik het toen bij het verkeerde eind had. Met de inzichten die ik nu heb, had ik een betere start kunnen maken.
Mijn vijf belangrijkste inzichten deel ik graag. Hopelijk maak jij dan die vliegende start!
1. Word een boekenwurm 📚
If I have seen further than others, it is by standing upon the shoulders of giants.
– Isaac Newton
Lezen? Ik heb al veel over softwareontwikkeling gelezen tijdens mijn studie…
Ik raad je toch aan om verder te lezen. Belangrijk is om boeken te lezen over principes en vakmanschap.
Boeken als Clean Code, Refactoring, The Pragmatic Programmer en Extreme Programming hebben mij en anderen enorm geholpen. Ik ben beter gaan programmeren door wat ik van deze boeken heb geleerd!
Hoe komt dat?
Dit soort boeken zijn geschreven door ervaren ontwikkelaars. De auteurs beschrijven oplossingen voor problemen in ons vakgebied. Zij hebben veel fouten al voor ons gemaakt, hierdoor hoeven wij niet dezelfde te begaan.
Dus, lees over vakmanschap binnen softwareontwikkeling en leer van de lessen van anderen!
2. Oefen je vakmanschap ⚒️
“One learns by doing a thing; for though you think you know it, you have no certainty until you try.”
– Sophocles
Hoezo moet ik oefenen? Ik programmeer al 40 uur per week.
Je programmeert inderdaad veel, maar hoeveel van die uren leer je doelbewust?
Over het algemeen gebeurt dit in ons vakgebied te weinig. Dat is jammer, want bewust je vakmanschap oefenen zorgt ervoor dat je sneller groeit!
Daarnaast is het belangrijk om wat je leest over het vakgebied ook in de praktijk te brengen. Lezen is anders dan doen. Heb je bijvoorbeeld ooit een professionele atleet gezien die niet traint?
“Trainen” als developer is belangrijk. – Foto door Victor Freitas van Pexels
Maar ik leer toch op mijn werk?
Dat klopt, maar die omgeving is niet ideaal om te leren. Zo zit er tijdsdruk achter en is er veel belang bij waar je aan werkt. Je kan dus niet zomaar wat uitproberen of ergens bewust mee experimenteren. Juist deze aspecten zijn nodig om goed te kunnen leren.
Oké, dus onze dagelijkse werk is geen goede leeromgeving. Hoe moet ik dit aanpakken?
Ik ben zelf groot voorstander van het doen van CodeKata’s. Dit zijn relatief simpele opdrachtjes die je in enkele uren kunt oplossen. Het mooie is dat het hierbij niet draait om het resultaat, maar om wat je ervan leert.
Als je doelbewust oefent op jouw vakmanschap als software developer zal je sneller leren!
3. Verdiep je niet in technologie 🍃
We are drowning in information but starved for knowledge.
– John Naisbitt
Maar ons hele werk draait toch om technologie?
Dat klopt. Het punt is dat ontwikkelaars de neiging hebben zich blind te staren op technologie. Ik was er daar één van.
Waarom zou dat een probleem zijn?
Technologie verandert snel. Je kan alles weten over hoe je iets doet in framework X of taal Y, maar over een paar jaar is dat misschien al achterhaald, zonde! Daarnaast maakt het beheersen van een technologie je niet per se een goede developer.
Stel jezelf bijvoorbeeld eens deze vraag: wat maakt iemand goede gitarist?
Is dat omdat hij alles weet van de onderdelen van zijn gitaar? Of komt dat doordat hij begrijpt wat ritme is, wat harmonieus klinkt en hoe hij dat dat bereikt met zijn gitaar?
Wat moet ik dan doen?
Leer de principes beheersen van softwareontwikkeling. Besteedt het merendeel van je tijd aan het begrijpen van de onderliggende principes van de technologie. Deze veranderen minder snel en zijn breder toepasbaar.
De truc is om genoeg te begrijpen van een technologie om effectief te zijn. Daarna kan je bijleren wanneer dat nodig is. Je zult zien dat je technologie sneller kunt aanleren als je principes beheerst.
Hoe komt dat?
Dit komt doordat je een stevige basis hebt waar je nieuwe kennis aan kunt ophangen. Stel je bijvoorbeeld twee bomen voor:
- De ene boom heeft een brede, stevige stam.
- De andere boom heeft een dunne stam.
Welke van de twee zou de meeste takken en bladeren kunnen dragen?
Ditzelfde geldt voor kennis. Als je een stevige basis (stam) hebt kun je meer kennis over details (bladeren) opnemen en plaatsen.
Leer principes dan zal je beter en sneller kennis vergaren!
4. Kijk breder dan alleen kennisverdieping 🌲🌳
A specialist is a man who knows more and more about less and less.
– William J. Mayo
Hoe kunnen we goede oplossingen maken als we ons niet verdiepen?
Verdiepen in de juiste dingen is prima. Nog effectiever is om naast verdiepen ook te verbreden1. De tijd dat een ontwikkelaar alleen code oplevert zijn voorbij. Tegenwoordig wordt er meer van ons verwacht.
Wat dan?
Naast ontwikkelen moeten we bijvoorbeeld ook infrastructuur inrichten, tests automatiseren en onze applicaties beheren. Pfoe… Meer niet?!
Ideeën zoals Agile Software Development, DevOps en multidisciplinaire teams zijn steeds vaker de standaard. De levensloop van een applicatie komt daardoor vaker binnen het team te liggen.
Dit vereist een bredere skillset van de leden in het team: we moeten veel gereedschap in onze gereedschapskist hebben!
Oké, ik ben dan breder inzetbaar. Is dat alles?
Nee, zeker niet. Je wordt ook een betere developer. Als we teruggaan naar het voorbeeld over de boom van kennis kun je het zien als meerdere bomen. Wanneer die bomen dicht genoeg bij elkaar staan kunnen ze elkaar aanvullen. Een bos aan kennis dus!
Overlap in kennisgebieden is waardevol. – Foto door Felix Mittermeier van Pexels
Het ontwikkelen van aangrenzende expertise verbetert elkaar. Bijvoorbeeld:
- Betere code schrijven leidt tot het maken van betere tests.
- Opstellen van goede tests leidt tot expressievere code.
- Begrip van infrastructuur zorgt ervoor dat je productieincidenten beter kunt analyseren.
Kijk breder dan alleen verdieping. Het geheel is meer waard dan de losse onderdelen: 1 + 1 = 3!
5. Zet je ego opzij 🙇
We have two ears and one mouth so that we can listen twice as much as we speak.
– Epictetus
Wat bedoel je daar precies mee?
Luister naar anderen. Sta open voor hun mening en respecteer die.
Ons vakgebied is (helaas) grotendeels gebaseerd op meningen. Binnen software development is het lastig om alles meetbaar te maken en daar conclusies uit te trekken2.
Hoe bepaal je bijvoorbeeld dat het ene stuk code beter is dan het andere?
Maar wat als ik het niet eens ben met de mening van een ander?
Probeer dan het standpunt van de ander te begrijpen. Stel vragen. Leer de mening van de ander net zo goed uit te leggen als zijzelf.
Stephen Covey noemt dit “Seek first to understand, then to be understood” in zijn invloedrijke boek The 7 Habits of Highly Effective People. Wil je dat een ander jou begrijpt? Dan moet je eerst oprecht willen begrijpen wat de ander zegt.
Wat heb ik daaraan?
Wie weet ga je anders kijken naar jouw oplossing. Misschien weet jij de ander wel te overtuigen. Nog beter is dat jullie samen tot een mooiere oplossing komen.
Stel je open voor meningen van anderen en dan zal je meer leren. Inzichten van anderen verbreden je perspectief. Oogkleppen ophebben remt je groei!
Durf je ego opzij te zetten en sta open voor wat anderen te zeggen hebben!
Conclusie 📝
De startende developer heeft het zwaar. Een complex vakgebied en uiteenlopende meningen maken het lastig om te bepalen wat je moet doen om te groeien.
Nu, een jaar of zes verder als ontwikkelaar heb ik geleerd wat ik anders had kunnen doen toen ik net begon. Met behulp van die inzichten had ik een betere start kunnen maken.
De vijf belangrijkste inzichten zijn:
- Leer van de lessen van een ander door vakliteratuur te lezen.
- Oefen doelbewust, buiten werkgerelateerde projecten.
- Focus niet op specifieke technologie, maar op principes
- Verdiep niet in één specifiek onderwerp, maar bouw een breed scala aan aangrenzende expertise op.
- Zet je ego opzij en sta open voor het perspectief van een ander.
Ik hoop met deze tips jou te helpen met een vliegende start! 🚀
Herken jij jezelf in een van deze fouten? Heb je nog een andere goede tip? Deel ze!