De kunst van geven en nemen: Hoe community's inzetten om onze software te verbeteren
Door kennis te delen met ontwikkelaars over de hele wereld ontstaat de beste software. Daarom zijn we binnen Four Digits actief bezig met het teruggeven van kennis en het delen van ervaringen. Zowel online via GitHub, als offline via conferenties. In dit artikel nemen we je mee in de wereld van software community’s. Onze High Tech Hero Esper vertelt hoe we GitHub en GitLab inzetten binnen Four Digits en wat de voordelen zijn van zelf software open source uitbrengen. Maar ook developers komen graag eens van achter hun computerscherm vandaan om kennis te delen tijdens live conferenties.
Hoe wij GitLab en GitHub inzetten binnen Four Digits
Binnen Four Digits gebruiken we zowel GitLab als GitHub om kennis te delen en verbeteringen aan te dragen. Beiden zijn online platformen waar ontwikkelaars samen komen en hun open source projecten delen. Zo ontstaat er een actieve wisselwerking, heel veel kennisdeling en een leuke online community. Binnen software development en DevSecOps zijn GitLab en Github de grootste en bekendste community platformen. Daarom dat wij uitsluitend deze twee inzetten.
GitLab voor interne projecten en source code reviewing
GitLab gebruiken we voor interne toepassingen. “GitLab is bij ons intern", geeft Esper aan. "Dus alle projecten voor klanten die niet openbaar zijn draaien wij in GitLab. Vanaf GitLab kunnen we software automatisch naar onze servers deployen, wat zorgt voor een efficiënt proces.”
GitLab gebruiken we ook voor source code reviewing, waarbij we het zo ingericht hebben dat het proces zoveel mogelijk geautomatiseerd is. Dit vermindert de kans op menselijke fouten en zorgt ervoor dat we geen onnodige tijd kwijt zijn.
Github: een evenwicht van geven en nemen
GitHub gebruiken we vooral voor open source projecten. Het laat ons open source software makkelijk hergebruiken en integreren in onze eigen software. Zo hoeven we niet telkens het wiel opnieuw uit te vinden. Maar we komen natuurlijk niet enkel halen. Zelf delen we ook heel wat code met de community.
Zowel om code te verbeteren als om ervaringen te delen en te discussiëren over alles wat met software te maken heeft, is GitHub een fantastisch platform. Dit zorgt ervoor dat we up-to-date blijven van de nieuwste ontwikkelingen. De GitHub community is continu actief. Esper vertelt: “We halen heel erg veel uit GitHub. Als we een fout zien in een open source pakket, dan gaan we naar GitHub om te kijken of er al een issue is aangemaakt. Zo niet, dan doen wij dit.”
Waarom wij onze code open source publiceren
Waarom we bij Four Digits onze projecten en geschreven code soms delen met de community? Omdat we iets willen teruggeven aan de community. De wet van wederkerigheid. Wij maken zelf veel gebruik van open source, dus stellen we soms verbeteringen voor bij Django of Wagtail die we vervolgens open source beschikbaar stellen. Ook delen we ons Python API project wat we inrichten voor Mollie.
Het geeft niet alleen voldoening om iets terug te geven aan de community, we vinden het ook gewoon erg leuk om te doen. “Het is altijd een technische uitdaging om een softwarepakket open source te maken. Daar leren wij ook van, want dan weet je ook wat er mis kan gaan als je een ander open source pakket installeert en het gaat stuk”, geeft Esper aan.
Naast de voldoening die je krijgt als je code deelt, brengt het ook een aantal voordelen met zich mee:
1. Het zorgt voor naamsbekendheid
Een reden voor ons om code beschikbaar te stellen is naamsbekendheid. Als je code echt iets toevoegt, wat zich moet laten zien in hoe vaak het gebruikt wordt, word je makkelijk vindbaar. Dit is goed voor je reputatie als ontwikkelaar en bedrijf. Wat weer kan leiden tot nieuwe leads, klanten die gehoord hebben van jouw expertise en per se met jou samen willen werken.
2. We leren abstract te denken
Door code open source uit te brengen leren wij abstract na te denken. Deze manier van denken helpt ons enorm bij het ontwikkelen van software voor klanten. Je leert uitzoomen en verbanden leggen. Hierdoor zie je sneller wat er nodig is om problemen op te lossen en de code te optimaliseren voor onze klant. Esper zegt dan ook dat het softwareontwikkelaars helpt met hun individuele ontwikkeling: “Als je code voor een project schrijft is het vaak heel specifiek. Als we het vervolgens openstellen moeten we er voor zorgen dat het voor elk project werkt. Hier leer je als developer heel veel van.”
“Information flow is what the internet is about. Information sharing is power. If you don’t share your ideas, smart people can’t do anything about them, and you’ll remain anonymous and powerless.”
– Vinton Cerf
3. Het helpt ons om onze code te valideren
GitHub helpt ons ook om de kwaliteit van onze software te waarborgen. Het helpt ons te valideren of de open source code die we integreren in onze software wel ondersteund wordt en van goede kwaliteit is. Esper geeft aan dat eigenlijk alle informatie die je over de code wil weten op GitHub staat. “Als je een pakket installeert en je ziet dat daar al twee jaar niet meer aan gewerkt is, dan moet je het waarschijnlijk niet installeren. De kans is namelijk groot dat je er na een jaar achter komt dat het pakket geen support meer krijgt. Dus we gebruiken GitHub ook om te valideren. Om de vraag te stellen: is het wel slim om dit te gebruiken of te installeren?”
Kom achter je computerscherm vandaan!
Community building is meer dan een groep mensen die elkaar online helpt software te verbeteren. Het gaat ook om vriendschap en echte connectie tussen mensen met een gezamenlijke passie. Daarom gaan we regelmatig naar conferenties. Eerder hebben we 10 redenen genoemd waarom we het belangrijk vinden om naar techconferenties te blijven gaan. Volgens Esper is de belangrijkste reden dat we de software beter begrijpen, maar ook de community achter de software leren kennen. Zo krijg je een gevoel bij de mensen achter de software.
Zelf zijn we ook erg actief met het bij elkaar brengen van codeerhelden. Tweejaarlijks organiseren we Wagtail Space, waarbij we mensen uit de hele wereld bij elkaar brengen om hun kennis over het CMS platform Wagtail te delen.
Jouw kennis delen in 5 minuten met Lightning Talks
Naast Wagtail Space organiseren we maandelijks op ons kantoor Lightning Talks. Hier krijgen codeerhelden en techneuten de kans om hun kennis te delen. In 5 minuten word je door verschillende experts meegenomen in hun speelveld. De Lightning Talks laten ons op een effectieve manier informatie delen zonder dat het saai wordt. Na de talks praten we met een drankje gezellig na over hoe we de kennis goed kunnen inzetten. “Het is een soort community die we willen opbouwen.”, geeft Esper aan. “Van tech liefhebbers voor tech liefhebbers. In eerste instantie kwamen bezoekers alleen om te luisteren naar de talks, maar we willen juist dat ontwikkelaars zelf ook komen spreken. Zodat wij ook van anderen kunnen leren”.
Wil jij spreken op onze volgende Lightning Talks? Neem contact op.