Moet een softwaremanager kunnen programmeren?

Gestresste ontwikkelaars, slechte code en ruis in de communicatie. Dat krijg je als managers te weinig verstand hebben van development. Maar moet een softwaremanager dan ook zelf kunnen programmeren?

Een manager in software moet geweldige software schrijven, anders is het alsof je een cavalariekapitein bent die niet kan paardrijden.’ Een pittige uitspraak op Twitter van Elon Musk, enthousiast ontvangen en inmiddels meer dan 250.000 keer gedeeld. Maar is het ook waar en wat gaat er eigenlijk mis als ze geen software kunnen schrijven? Dat lees je in dit blog:

Auteur:

Kenniscentrum Cloud Software Engineering

Lead Cloud Software Engineering

<Managers met verstand van techniek>

Als softwaremanager vertaal je de bedrijfsdoelen naar de techniek. Dat lukt alleen als je het ontwikkelwerk begrijpt en in staat bent om de vertaalslag te maken van het technische team naar het management. Immers als een ontwikkelaar een manager uitlegt waarom een feature niet af is, moet die manager dat begrijpen, goede vragen kunnen stellen en het juist uitleggen aan de belanghebbenden. Als dat niet gebeurt ontstaat er ruis in de communicatie en kost het rechttrekken daarvan veel energie.

Niet-technische managers zetten daarnaast vaak te veel tijdsdruk op ontwikkeltrajecten en developmentteams. Teams raken hierdoor overwerkt en gestresst en daardoor juist minder effectief. Het verstoort de communicatie, waardoor belangrijke signalen de manager niet bereiken. Het zal niet de eerste keer zijn dat een traject mislukt tot verrassing van het management, terwijl het ontwikkelteam het al veel eerder zag.

.

<Verschillende kennis en vaardigheden >

Een beetje nuance is op zijn plaats. Het is niet nodig om tot het kleinste detail te snappen wat ze ontwikkelen. Een manager en een developer hebben verschillende taken en daar horen andere kennis en vaardigheden bij. Ontwikkelaars schrijven code, terwijl de manager de ontwikkelaars faciliteert.

De softwaremanager: (1) zorgt dat ontwikkelaars over de juiste toolset beschikken, (2) coachend en begeleidend zijn in de communicatie, (3) hulp bieden bij persoonlijke ontwikkeling, (4) overzicht behouden en (5) prioriteren op toegevoegde waarde. Het leiden van een ontwikkelteam is dus zien wat het ontwikkelteam nodig heeft en dat wat nodig is te regelen.

<Kan een softwaremanager beide rollen hebben?>

Nou ja, een manager die zelf ‘uit het vak’ komt heeft wel een beter beeld hoeveel inzet ontwikkeling van features vergt. Een softwaremanager die geen inzicht heeft in de complexiteit heeft de neiging om geen ruimte maken voor refactoring en documentatie. Dat leidt tot technical debt, lagere codekwaliteit en ontevreden ontwikkelaars. Over de gevolgen hiervan kun je lezen mijn andere blog.

Niettemin doorziet een softwaremanager ook de neiging van ontwikkelaars om diep in een taak te duiken en op zoek te gaan naar de mooiste oplossing, waardoor het nooit af komt. Zo’n softwaremanager zegt: welke eenvoudigere oplossingen kun je bedenken? Zo houden we elkaar scherp.

Met andere woorden, een ‘moderne’ softwaremanager spart met ontwikkelaars over het proces, de architectuur, de functionaliteit en prioriteiten. Zulke open discussies zijn cruciaal, omdat ze zorgen voor goede code en succesvolle ontwikkeltrajecten. Dat kan alleen als je met elkaar praat vanuit een gezamenlijk begrip van de techniek.

De rest van de wereld komt inmiddels ook tot dit standpunt. Kijk bijvoorbeeld naar projectleiders. Dat waren vroeger mensen die niet ‘van de inhoud’ waren maar vooral heel veel verstand van projectmanagement hadden. Die generalistische projectmanagers zijn zo goed als uitgestorven. En ook van lijnmanagers wordt steeds meer inhoudelijke kennis gevraagd. Je hebt nu eenmaal weing aan een sparringpartner die jouw werk niet begrijpt.

<Samenvattend>

Concluderend zijn we bij Wiconic het met Musk eens. Het is voor een manager zonder ontwikkelervaring heel moeilijk om een team ontwikkelaars goed aan te sturen. Wiconic is dan ook gezegend met goede ‘cavalariekapiteins’ die uitstekend kunnen ‘paardrijden’. 

Wij vinden gedegen IT-kennis trouwens niet alleen voor managers belangrijk, maar ook voor Sales. Zij moeten tenslotte aan onze klanten kunnen uitleggen wat onze diensten inhouden. We bieden ontwikkelaars die meer willen dan programmeren ook nieuwe carrièremogelijkheden. 

Bij Wiconic vinden we dus dat managers en verkopers een diep begrip moeten hebben van de technologie waar we mee werken en van het ontwikkelproces zelf.