Zeg het woord “developer” (of ontwikkelaar) en wij bij Kinsta denken aan “software” en niet aan bijvoorbeeld een “projectontwikkelaar” binnen vastgoed. Maar zelfs als we ons alleen richten op computers en code hebben we nog enorm veel ruimte in het beschrijven van soorten ontwikkelaars.
We zouden ontwikkelaars kunnen indelen naar de programmeertaal die ze gebruiken – zoals “JavaScript ontwikkelaar” of “Python ontwikkelaar” – maar dat zou niks zeggen over wat ze creëren of wat hun rol in het proces is. Bovendien is het gebruikelijk dat ontwikkelaars meerdere talen kennen.
Dus gebruiken we enkele algemeen aanvaarde (en meer beschrijvende) labels voor ontwikkelaarssoorten en kijken we naar de taken en tools erachter.
Wat is een ontwikkelaar?
We hebben vastgesteld dat software centraal staat in het verhaal van onze ontwikkelaars. Dat kan vele vormen aannemen.
Een lid van het programmeerteam achter Microsofts SQL Server databasesoftware is een ontwikkelaar. Iemand die Structured Query Language gebruikt om te werken met informatie die in zo’n database is opgeslagen kan ook een ontwikkelaar zijn.
Een ontwikkelaar maakt een computerbesturingssysteem dat in een printplaat is ingebouwd. Een ander schrijft Bash scripts om interacties tussen meerdere andere softwareprogramma’s te automatiseren.
Al deze soorten ontwikkelaars hebben iets gebouwd met code.
Hoeveel soorten ontwikkelaars zijn er?
Er is geen “officiële” lijst met functiebeschrijvingen van ontwikkelaars. We gaan kijken naar wat ontwikkelaars doen aan de hand van wat algemene terminologie, en we verdelen zelfs de brede categorie “webontwikkelaar” in drie verschillende rollen. (We geven het toe: We hebben een zwak voor mensen die websites bouwen)
In totaal bespreken we hier 11 soorten ontwikkelaars.
1. Frontend webontwikkelaar
Een frontend ontwikkelaar richt zich op de gebruikersinterface van een website. Ze gebruiken hun HTML en CSS vaardigheden om het uiterlijk van een site te bepalen, waarbij ze vaak rekening houden met verschillende schermformaten in mobiele en desktop browsers.
Frontend ontwikkelaars vertrouwen meestal op JavaScript om een responsieve ervaring voor gebruikers te creëren. Deze ontwikkelaars zijn vaak vertrouwd met JavaScript bibliotheken en frameworks die het maken van dynamische, klantgerichte applicaties kunnen versnellen.
De frontend ontwikkelaar werkt aan het verbeteren van de prestaties van websites, door afbeeldingen, JavaScript en markup te optimaliseren voor een snellere laadtijd in browsers. De meeste frontend ontwikkelaars richten zich ook op zoekmachine optimalisatie en toegankelijkheid van websites.
Dit alles vereist veel vaardigheden, en het salaris van een frontend ontwikkelaar kan dat weerspiegelen.
Zijn frontend ontwikkelaars webdesigners?
Veel frontend ontwikkelaars zijn ook ontwerpers, maar dat is geen vereiste voor de titel “frontend”. Evenzo zijn veel webdesigners goed thuis in HTML en CSS – en gebruiken die misschien in mock-ups – maar beschouwen zichzelf niet als ontwikkelaars.
Voor veel organisaties is design een onderdeel van het merk dat ook andere media dan het web bevat.
Ongeacht wie een ontwerp maakt, het is de taak van de frontend ontwikkelaar om het tot leven te brengen op een webpagina en een visie voor een gebruikerservaring om te zetten in een werkende applicatie.
2. Backend webontwikkelaar
Een backend ontwikkelaar bouwt applicaties aan de serverzijde, waarvoor meestal kennis nodig is van webserversoftware, databases en de besturingssystemen waarop ze draaien. Een volledig open-source voorbeeld is het Linux besturingssysteem, een Nginx of Apache webserver, en een MariaDB of PostgreSQL database.
De grens tussen backend en frontend ontwikkeling wordt vervaagd door technologie als PHP, een serverzijde-only scripttaal die aan de frontend HTML naar browsers stuurt.
PHP – dat WordPress en andere populaire CMS’en en ontwikkelingsframeworks als Laravel aandrijft – is de meest gebruikte serverzijde scripttaal op het web. Ontwikkelaars kunnen echter technologieën gebruiken als C# en Microsofts .NET framework, Python, Java, Ruby on Rails of Node.js.
Backend ontwikkelaars kunnen verwachten dat ze samenwerken met teamleden die de klantgerichte kant van een website verzorgen. Serverzijde ontwikkeling kan ook het maken van application programming interfaces (API’s) zijn die frontend diensten ondersteunen met minder noodzaak tot nauwe koppeling van de twee kanten.
Als dat allemaal klinkt als jouw soort werk, ben je misschien geïnteresseerd in de typische salarissen van backend ontwikkelaars.
3. Full-stack webontwikkelaar
Je hebt misschien al geraden dat een full-stack ontwikkelaar het werk doet van frontend en backend ontwikkelaars. (Helaas betekent dat niet dat het salaris van een typische full-stack ontwikkelaar het dubbele is van dat van de anderen)
Toch lijkt het beheersen van alle niveaus van webontwikkeling zijn beloningen te hebben. Uit een onderzoek van StackOverflow van 2022 bleek dat “full-stack developer” het belangrijkste antwoord was (bijna 47%) toen de respondenten werd gevraagd hun rol te beschrijven.
Zijn WordPress ontwikkelaars full-stack ontwikkelaars?
De features van managed WordPress hosting hier bij Kinsta stellen iedereen die bekwaam is in PHP in staat om serieuze ontwikkeling te doen zonder diep te graven in de serverzijde.
WordPress – waar dan ook geïnstalleerd – is ontwikkelaarvriendelijk en biedt een grote bibliotheek van eigen PHP functies/methodes die een laag van abstractie vormen over sommige veel voorkomende serverzijde taken. WordPress ontwikkelaars kunnen bijvoorbeeld records in relationele databases opslaan en opvragen zonder SQL te schrijven. Ze kunnen media uploads opslaan in het bestandssysteem van een server zonder de kernfunctionaliteit in PHP te kennen die dit allemaal mogelijk maakt.
“WordPress ontwikkelaar” had hier een eigen categorie kunnen hebben, maar dan zouden we hetzelfde moeten doen voor ontwikkelaars die CMS producten als Drupal, Joomla en DNN gebruiken en frameworks als Laravel, .NET en Django.
Veel WordPress ontwikkelaars – vooral degenen die WordPress thema’s en plugins bouwen – hebben inspirerende full-stack vaardigheden. Het antwoord op de vraag “Zijn WordPress ontwikkelaars full-stack ontwikkelaars?” luidt dus: Dat hangt ervan af.
4. Mobiele appontwikkelaar
De term “applicatie” dekt veel terrein in de softwareontwikkeling. Van de desktop tot het web, applicaties zijn de tools die dingen gedaan krijgen voor eindgebruikers.
Afgekort tot “app” – als in: “Daar is een app voor!” – zijn we geneigd eerst te denken aan de applicaties die draaien op smartphones, tablets en andere mobiele apparaten. En het maken van mobiele apps vereist een specialistisch type ontwikkelaar.
Ontwikkelaars van mobiele apps zijn vertrouwd met software development kits (SDK’s) en aanverwante tools die worden gebruikt om applicaties te bouwen voor een besturingssysteem van een apparaat, zoals Apple’s iOS of Google’s Android.
Swift is de eigen programmeertaal voor iOS, terwijl Java en Kotlin het meest gebruikt worden voor Android. Daarnaast is er een groot ecosysteem van app bouwprogramma’s, zoals Apache Cordova en NativeScript, die code gebaseerd op webvriendelijke JavaScript, HTML en CSS kunnen omzetten in native mobiele software.
Toen we keken naar de gemiddelde salarissen van appontwikkelaars, ontdekten we dat degenen die bouwen voor mobiele platforms iets meer verdienden dan degenen die zich richten op de desktop of het web.
5. Desktop software-ontwikkelaar
Desktop ontwikkelaars maken software-applicaties die draaien op personal computers en werkstations.
Ontwikkelaars bouwen doorgaans desktopapplicaties voor specifieke besturingssystemen, dus de activiteit in dit veld weerspiegelt de relatieve marktaandelen van platforms als Microsoft’s Windows, Apple’s macOS, Google’s Chrome OS, en het open-source besturingssysteem Linux.
Op basis van gegevens verzameld uit wereldwijde websitebezoeken, schatte Statcounter in augustus 2022 dat Windows een marktaandeel van 74% had onder de desktop besturingssystemen.
Ontwikkelaars programmeren waarschijnlijk met behulp van integrated development environment (IDE) tools voor het snel bewerken, debuggen en compileren van broncode.
Populaire talen voor het programmeren van desktopapplicaties zijn C#, C++, Swift en Java.
Desktopsoftware draait lokaal, maar moderne applicaties kunnen internetconnectiviteit gebruiken voor taken variërend van productupdates tot het delen van gegevens via cloudopslag.
6. Gegevenswetenschapper (big data ontwikkelaar)
Mensen helpen veel gegevens te genereren door hun dagelijkse bezigheden: afrekenen bij de grootgrutter, surfen op het web, langs verkeerscamera’s rijden, mobiele telefoons gebruiken – zelfs stemmen. We hebben systemen gebouwd om gegevens vast te leggen van natuurverschijnselen zoals het weer, aardbevingen en elektromagnetische signalen uit de ruimte.
Een data scientist is een wiskundige met een computer die in al die informatie patronen kan ontdekken.
De kans is groot dat deze ontwikkelaars de programmeertaal Python gebruiken of iets meer specialistisch, zoals R, Scala of Julia.
“Big data” komen meestal terecht in een relationele database, dus een data scientist heeft waarschijnlijk SQL in zijn programmeertoolbox.
7. Kunstmatige intelligentie/machinelearning ontwikkelaar
Softwareontwikkelaars voor kunstmatige intelligentie (AI) proberen menselijk gedrag, zoals besluitvorming, na te bootsen. Voeg daar machine learning (ML) aan toe, en een applicatie kan mettertijd slimmer worden.
AI/ML applicaties verwerken doorgaans veel gegevens met behulp van complexe algoritmen, dus zijn ontwikkelaars op dit gebied vaak datawetenschappers.
Marktonderzoeksbureau IDC ontdekte dat de wereldwijde omzet voor AI gerelateerde applicaties, hardware en diensten in 2021 meer dan 383 miljard dollar bedraagt, een stijging van bijna 21% ten opzichte van 2020.
Software voor klantrelatiebeheer en software voor enterprise resource management waren goed voor ongeveer 65% van de inkomsten uit AI gerelateerde applicaties.
8. Game-ontwikkelaar
Ontwikkelaars van computergames vertegenwoordigen een breed scala aan vaardigheden.
Hun software kan draaien op desktops, mobiele apparaten, consoles of in webbrowsers. Verhaallijnen passen bij verschillende spelgenres, zoals militaire of sportieve simulatie, first-person shooters, strategie of rollenspel. Dan zijn er waarschijnlijk nog 3D graphics, muziek en geluidseffecten.
In een wereld van met internet verbonden games worden ontwikkelaars van massaal gespeelde games geconfronteerd met backend server- en database-eisen die even veeleisend zijn als de drukste e-commerce sites.
Game-ontwikkelaars hebben meestal expertise in 3D-rendering tools en andere animatie-gerelateerde software.
En, gericht op geavanceerde technologie, bleek uit recent onderzoek onder ontwikkelaars door SlashData’s Developer Nation dat iets meer dan 37% van de augmented reality (AR) of virtual reality (VR) applicaties AR/VR games waren. Nog eens 27,9% van de projecten betrof het bouwen van virtuele werelden – sommige voor games .
9. Ontwikkelaar van besturingssystemen
Hoewel duizenden ontwikkelaars werken aan de meest populaire besturingssystemen – bijdragen aan Linux of in dienst van Microsoft, Apple of Google – is het nog steeds een exclusieve groep. SlashData zegt immers dat zijn onderzoeken suggereren dat de totale wereldwijde populatie van ontwikkelaars meer dan 24 miljoen bedraagt.
De kans is groot dat jouw koelkast een besturingssysteem heeft, maar populaire computerbesturingssystemen zijn inspanningen waarvoor grote teams van ontwikkelaars nodig zijn, waarvan de meesten werken aan kleinere onderdelen van het totale project.
De kern van de meeste besturingssystemen is de kernel, die de toegang tot de CPU, geheugen, bestandssystemen en I/O apparaten regelt. C is de primaire codeertaal voor de kernels achter Microsoft Windows, Apple’s macOS en Linux. Er wordt ook wat low-level code gebruikt, geschreven in assembly.
En de Android kernel is voortgekomen uit de Linux kernel.
Bovenop de kernel heeft een besturingssysteem drivers om verschillende hardware apparaten te beheren en applicaties voor het bijhouden van het systeem. En dan is er nog de grafische gebruikersinterface van het systeem. Ontwikkelaars kunnen voor deze onderdelen C, C++, Objective C (macOS), en zelfs Python (Linux) gebruiken.
10. DevOps engineer
Een DevOps engineer beheert tools en workflows die software snel en betrouwbaar van de ontwikkelingsfase naar een publieke release brengen.
“DevOps” is een samenvoeging van de woorden “development” en “operations”, en beoefenaars automatiseren repetitieve softwareontwikkelingstaken – van het beheren van code tot het testen, uitrollen, monitoren, onderhouden en oplossen van problemen.
Deze ingenieurs gebruiken een reeks DevOps tools om software releasecycli te versnellen, de verschillende versies van de projectcode te beheren, en te bevestigen dat het eindproduct werkt zoals verwacht.
Bij gebruik voor webontwikkeling kan het DevOps proces er ook voor zorgen dat de voor de applicatie benodigde resources beschikbaar zijn en goed geconfigureerd op de webserver.
DevOps vereist geavanceerde vaardigheden, en het salaris van een DevOps engineer weerspiegelt dat meestal.
11. Beveiligingsontwikkelaar (SecDevOps)
Een beveiligingsontwikkelaar bouwt tools en beheert processen die de beveiliging van software en computersystemen testen.
Bij softwareontwikkeling is beveiliging vaak een onderdeel van het DevOps proces. Iemand die zich richt op beveiliging in die omgeving zou een SecDevOps engineer genoemd kunnen worden.
Beveiligingsontwikkelaars werken om software en computersystemen te beschermen tegen cyberbeveiligingsaanvallen en bedreigingen. Ze gebruiken diverse tools, waaronder scripttalen als Python, Bash en Ruby, om repetitieve taken te automatiseren.
Een beveiligingsontwikkelaar moet diepgaande kennis hebben van de software en systemen die hij probeert te beschermen.
Welk type ontwikkelaar wil je worden?
Als je erover denkt om zelf ontwikkelaar te worden, dan hebben we wat informatie om je te helpen bij de volgende stappen. Je kunt lezen over de beste programmeertalen om te leren of je meteen verdiepen in het leren van PHP en het ontdekken van JavaScript tutorials.
Misschien ben je geïnteresseerd in wat er nodig is om een Laravel ontwikkelaar te worden of richt je je op het leren van WordPress, ’s werelds populairste CMS.
Misschien kom je dan ooit bij ons werken met een carrière bij Kinsta.
Samenvatting
Dit was een beschrijven van 11 soorten ontwikkelaars met rollen die verschillend genoeg zijn om de verschillende taken die in hun vakgebied beschikbaar zijn te belichten.
Toch vervullen veel ontwikkelaars meer dan één rol, en de meesten zijn bekend met meerdere programmeer- of scripttalen. Misschien zullen we het daarom nooit eens worden over een “officiële” lijst van soorten ontwikkelaars.
Ondertussen, als je een webgebaseerd project hebt dat je wilt starten, wil je misschien Kinsta’s Applicatie Hosting en Database Hosting oplossingen onderzoeken.
Laat een reactie achter