Stageplan Deel 2
Maurice van Veen
0921718
INF3E
Bedrijf:
Teqplay
Koffie 1 Van Nelleweg 1, 3044 BC RotterdamBedrijfsbegeleider:
Joris Philipsen
[email protected]Start- en einddatum stage: 27-08-2018 tot 08-02-2019
19-09-2018
Versie 4
Omschrijving en bedrijfsoriëntatie
Ontstaansgeschiedenis
Teqplay is gevestigd op de van Nelle Fabriek en is opgericht door Léon Gommans en Richard van Klaveren. Teqplay richt zich op het ontwikkelen, produceren en uitgeven van software. Na de World Port Hackathon van 2014 zijn ze samen verder gaan werken aan hen idee en dit bleek veel potentie te hebben. Dit idee, het maken van een platform waarop alle data over schepen en rondom havens en andere informatie beschikbaar is, is vervolgens uitgegroeid tot het bedrijf Teqplay.
Core-business
Teqplay houdt zich bezig met de digitale haven, het bouwen aan de havenlogistiek. Hiervoor verwerkt het bedrijf data van schepen en bedrijven rondom de havens om daarmee te werken aan logistieke applicaties. De meeste applicaties zijn gemaakt in de vorm van een website of mobiele app. De data van Teqplay komt binnen via AIS-transponders die de uitgezonden signalen van schepen opvangen. Hierna worden deze gegevens verwerkt in het platform van Teqplay. Dit platform dient als basis voor alle applicaties.
Klanten
De belangrijkste klanten van Teqplay zijn voornamelijk de bedrijven rondom havens, zoals bijvoorbeeld Port of Rotterdam, die profijt hebben bij verbeteringen rondom logistieke problemen in en buiten de havens. Daarnaast lopen op dit moment ook projecten met bedrijven zoals Shell, Vopak en Cargill.
Visie en missie
Teqplay ziet zichzelf vooral als zogenoemd 'context broker', ze bieden bedrijven inzicht in de gebeurtenissen in en rondom de haven en schepen. Op dit moment werkt Teqplay voornamelijk binnen Nederland aan haar projecten, zoals de haven van Rotterdam en Amsterdam. Binnen Teqplay zien ze ook dat de oplossingen die ze maken niet alleen voor specifieke havens geldt en dus ook voor andere havens ingezet kan worden. Uiteindelijk zullen zij dus wereldwijd in te zetten zijn en dit is dan zeker ook de richting waarin ze zich aan het bewegen zijn voor in de toekomst.
Bedrijfsstructuur
Op dit moment werken er 12 medewerkers bij Teqplay, waaronder: 2 founders, 1 data scientist, 1 senior software engineer en 8 developers. Léon Gommans is de Chief Executive Officer van Teqplay en Richard van Klaveren de Chief Technical Officer. Waar Léon's taken voornamelijk rondom het werven van klanten liggen en de communicatie buiten het bedrijf, liggen de taken van Richard juist binnen het bedrijf en de inwendige communicatie met klanten en developers en richt zich dan ook meer op de technische kant. De senior software engineer heet Jos en heeft naast zijn werk als developer meer ervaring en dus ook meer verantwoordelijkheden. Stephan is de data scientist en houdt zich bezig met big data. De resterende developers zijn: Babette, Bas, Damon, Erik, Joost, Joris, Michel en Shravan. Deze medewerkers zijn een mix van HBO en WO professionals.
Bij Teqplay wordt gewerkt met sprints van twee weken. Aan het begin van elke sprint wordt eerst een doel vastgesteld en welke hoofdtaken richting dat doel leiden. Aan het einde van de sprint wordt een demo gegeven waarin al het geleverde werk gepresenteerd wordt aan de founders en stagebegeleiders. Deze zullen tijdens of aan het einde van de demo feedback geven op de sprint, eventueel de wijze van presenteren en welke volgende hoofdtaken leiden tot het volgende opgestelde doel voor het einde van de volgende sprint.
Bedrijfscultuur
Alle medewerkers, dus ook de stagiairs en founders, bevinden zich in dezelfde ruimte. De bedrijfscultuur binnen het bedrijf is vrij informeel, door allemaal te zitten in dezelfde ruimte is het stellen van vragen gemakkelijk. Daarnaast wordt er elke ochtend een stand-up gehouden waarin iedere werknemer vertelt waarmee deze de vorige dag bezig was en waar deze de dag zelf aan zal werken. Ook eten alle werknemers gezamenlijk tijdens het middageten en wordt er veel tafelvoetbal gespeeld in een competitie die online op een applicatie binnen het bedrijf bijgehouden wordt.
Beschrijving eigen plek in de organisatie
Binnen het bedrijf zijn Joris Philipsen en Babette Stam de bedrijfsbegeleiders voor mijn stage. Joris is meer gefocust op het werken aan de backend en Babette aan de frontend. Zij zullen mij helpen bij vragen of als ik tegen problemen aanloop en zullen code-reviews geven om zo feedback te krijgen op geschreven code. Ik zit, samen met de andere stagiairs van de Hogeschool Rotterdam, aan dezelfde tafel. De andere stagiairs zijn: Catalina Andreita-Carstoiu, Joost Zonneveld. De projecten waar ik aan ga werken zijn afgesteld op wat ik wil leren, zo is er bijvoorbeeld de keuze tussen werken aan de backend en de frontend, waar ik voornamelijk aan de backend zal werken. Voor de projecten functioneert Richard als de product owner en worden wij ondersteund door Babette en/of Joris.
Stageopdracht
Gedurende mijn stage zal ik aan meerdere opdrachten werken.
Opdracht 1 - Routeplanner
Tijdens de eerste opdracht zal ik samenwerken met Joost Zonneveld, een andere stagiair bij Teqplay en ook student bij de Hogeschool Rotterdam.
Voor deze opdracht gaan we een routeplanner ontwikkelen voor schepen. Op dit moment wordt de routebepaling verwerkt door een derde partij en wordt dus niet door het bedrijf zelf berekend. De bedoeling van deze opdracht is dus om een routeplanner te maken die de huidige derde partij kan vervangen. Om deze routeplanner ook van verbeteringen te voorzien kan ook gekeken worden naar bijvoorbeeld openingstijden van bruggen, werking van verschillende sluizen en de stroming van het water en de werking daarvan op het schip.
Op de eerste dag hadden we een meeting met Richard en Joris om ons scrumboard op te zetten en afspraken te maken voor de eerste sprint. Binnen dit project zal alleen gewerkt worden aan de backend, aangezien we de derde partij gaan vervangen hoeven we alleen de route van A naar B te voorzien en hiermee goed rekening te houden met eventuele vertragingen of versnellingen in de route. Deze routeplanner zal geschreven worden in de programmeertaal Kotlin en een gedeelte in Java.
Opdracht 2 - AIS Receiver met Raspberry Pi en 3G Network (side-project)
Tijdens de tweede opdracht, tevens als side-project, zal ik samenwerken met Joost Zonneveld, een andere stagiair bij Teqplay en ook student bij de Hogeschool Rotterdam.
Voor deze opdracht gaan we werken met een Raspberry Pi, AIS receiver, antenne en een dongel voor het 3G netwerk. Het idee is dat de antenne en AIS receiver AIS berichten zullen ontvangen, de Raspberry Pi deze zal ontvangen en versturen via het 3G netwerk. Deze opstelling zal geplaatst worden in België, bij het plaatsje Izegem. Doordat we zullen werken met het 3G netwerk en we niet bij de raspberry pi kunnen blijven moet deze opstelling gegarandeerd werken en berichten blijven versturen.
Bij deze opdracht zitten een aantal knelpunten en zo ook problemen, namelijk de afhankelijkheden tussen verschillende componenten van de opstelling zelf en de locatie waar het geplaatst zal worden. Naast deze punten die een uitdaging voor ons vormen, is het meer werken met hardware en dus meer de richting van de technische informatica ook een uitdaging. Deze opdracht is door het vele testen goed om parallel aan te werken met de eerste opdracht voor de routeplanner.
Leerdoelen
Leerdoel 1
Tijdens mijn stage leer ik hoe ik zo efficiënt mogelijk een nieuwe programmeertaal leer, hoe ik dit toe kan passen binnen m'n huidige bedrijf en hoe ik de opgedane kennis later ook toe kan passen.
Ik ga dit leerdoel aanpakken door te programmeren in Kotlin tijdens de projecten. Voordat ik deze nieuwe programmeertaal kan gaan gebruiken in projecten moet ik eerst kennis opdoen in de syntax van de taal. Daarna kan ik door het volgen van tutorials en online opdrachten al oefenen met het programmeren in de nieuwe taal, zodat ik beter voorbereid ben voor het project. Vervolgens ga ik de gemaakte opdrachten aanpassen en mijn kennis van structuren uit andere programmeertalen leren en toepassen in deze nieuwe taal. Ten slotte, loop ik alle gemaakte opdrachten door en ververs ik mijn kennis over Kotlin, zodat deze vers in mijn hoofd zit op het moment dat ik begin met het eerste project.
Het leerdoel is behaald als ik tijdens de projecten geprogrammeerd heb in Kotlin en de kennis die ik al bezit in andere talen zoals Java ook toe kan passen. Door een nieuwe taal te leren zoals Kotlin kan ik ervaring opdoen met het leren van en werken met andere programmeertalen, deze ervaring kan ik gebruiken om zowel andere talen te leren als deze talen toe te passen binnen andere bedrijven en projecten.
Ik bewijs het halen van dit leerdoel in mijn portfolio door screenshots te maken van code in Kotlin die ik geschreven heb en die draait in het project. Bij deze code zal ik een korte uitleg geven wat het doet. Daarnaast zal ik de materialen die ik gebruikt heb om Kotlin te leren toevoegen.
Leerdoel 2
Tijdens mijn stage leer ik hoe ik initiatief neem door op andere mensen af te stappen, mij meer open te stellen en meer te communiceren.
Ik ga dit leerdoel aanpakken door meer te communiceren met collega's om me zo comfortabeler te voelen en zo ook gemakkelijker initiatief te kunnen nemen. De stappen die ik hiervoor neem zijn: het meedoen met de tafelvoetbal potjes die gespeeld worden, zowel tussen stagiaires als werknemers, het meedoen met het buiten voetballen, mee eten tussen de middag en daardoor dus ook boodschappen halen als het mijn beurt is.
Het leerdoel is behaald als ik consequent de hierboven genoemde dingen heb gedaan en meer initiatief toon. Daarnaast stribbel ik niet tegen om iets nieuws te proberen en toon ik zelf het initiatief om zoiets te proberen. Zowel de andere stagiairs als medewerkers zullen dan aan mij merken dat ik gemakkelijker communiceer en gemakkelijker nieuwe taken op me neem.
Ik bewijs het halen van dit leerdoel in mijn portfolio door gemaakte screenshots over de gespeelde potjes tafelvoetbal, gesprekken met medewerkers en foto's van de bonnetjes voor het halen van de boodschappen.
Inschatting competenties
Competentie | Bewijs |
---|---|
Beheren | |
B1. Ik kan werken volgens een vooraf vastgesteld en goedgekeurd stageplan (inclusief planning) en eventuele afwijkingen onderbouwen. | Bijgehouden werktijden, werkzaamheden en planning in goed verzorgde documenten (met eventuele afwijkingen en opmerkingen), waarin de stageopdrachten en werkzaamheden voor de leerdoelen aangestipt worden. |
Analyseren | |
AN1. Ik kan een analyse van een opdracht uitvoeren gebaseerd op een praktische onderzoeksvraag en maak hierbij gebruik van bestaande methoden en technieken. | De uitgevoerde analyse van de vergelijking tussen twee oplossingen voor AIS receivers verwerkt in een testverslag, waarin de verschillen, voor- en nadelen en andere gegevens zoals bijvoorbeeld performance terugkomen. |
AN2. Ik kan een requirementanalyse uitvoeren voor een (deel van een) softwaresysteem met verschillende belanghebbenden en ik houd hierbij rekening met de kwaliteitsstandaarden die gelden bij het bedrijf. | Requirementanalyse uitgevoerd voor eisen rondom het project, bijvoorbeeld benodigde features en codestandaarden, en deze in samenspraak met de product owner verwerkt op het scrumbord. |
AN3. Ik kan een specificatie opstellen aan de hand van een analyse. | Gemaakt overzicht waarin beslissingen rondom high en low level worden gegeven, zoals de keuze van technology stack. |
AN4. Ik kan een acceptatietest opstellen aan de hand van kwaliteitseigenschappen die gelden bij het bedrijf. | Het opgestelde testplan met de kwaliteitseigenschappen van het bedrijf en de acceptatiecriteria verwerkt in een document. |
Adviseren | |
AD1. Ik kan een praktijkprobleem ontleden en een aanbeveling hiervoor doen. Let er hierbij op dat ik helder weergeef wat de probleembeschrijving is, wat de onderbouwde argumenten zijn en wat de keuze is. Maak gebruik van betrouwbare informatiebronnen (bijvoorbeeld o.a. veldonderzoek en deskresearch) | Een praktijkprobleem ontleedt en beschreven aan bijvoorbeeld de product owner tijdens een presentatie of verwerkt in een verslag. Hiervoor zijn een aantal acties/oplossingen voor opgesteld met gevolgen van die keuze. |
Ontwerpen | |
O1. Ik kan een ontwerp opstellen voor een (deel van een) softwaresysteem en ik maak hierbij gebruik van bestaande componenten en libraries. | Gemaakte UML-diagrammen, zoals klasse diagram, waarin het gebruik van bestaande componenten en libraries terugkomen, om de samenwerking van deze onderdelen weer te geven. |
O2. Ik kan een validatie voor m’n ontwerp uitvoeren op basis van specificaties uit de (eerder gemaakte) analyse. | Het gemaakte ontwerp valideren met de opgestelde requirements en dit verwerken in een verslag. |
Realiseren | |
R1. Ik kan software realiseren conform de requirements van de opdracht en met kwaliteitsstandaarden zoals ze gebruikt worden in software engineering of zoals ze gehanteerd worden binnen het bedrijf. | Screenshots van geschreven code die de goede verzorging van design patterns en/of documentatie aantonen die in lijn liggen met de eisen binnen het bedrijf. |
R2. Ik maak gebruik van testen en testautomatisering. | Screenshots van geschreven unit- en integratietests en een verslag van de uitgevoerde systeemtesten. |
Skills & attitude | |
S1. Ik kan aangeven welke bedrijfskenmerken ik terugzie in m’n stagebedrijf. | De bedrijfskenmerken zijn verwerkt in de gemaakte bedrijfsoriëntatie. |
S2. Ik kan me inwerken en aanpassen aan het stagebedrijf betreft de werkwijze, regels en procedures en ben daarnaast in staat om hierop en op m’n werkzaamheden te reflecteren. | Berichten via Slack en gemaakte afspraken tijdens de daily stand-up of elders. Reflecties door collega's tijdens code reviews en reflecties tijdens voortgangsgesprekken verwerkt in een document. Daarnaast bewijst m'n tweede leerdoel ook dat ik deze competentie heb gehaald. |
S3. Ik kan afgesproken werkzaamheden zelfstandig (inzet, motivatie, respect en dergelijke) uitvoeren en geef voortgang en eventuele knelpunten proactief aan. | Aangeven van problemen tijdens de daily stand-up, berichten via Slack en gestelde vragen en aangegeven problemen en voortgang. |