Bei der Code Competition "Der Auslieferungsfahrer". Herzlichen Glückwunsch!
Yannis hat die Aufgabenstellung mit einer Webanwendung gelöst. Dabei hat er darauf geachtet, dass der Rechenaufwand serverseitig anfällt und damit z.B. mobile Geräte entlastet werden und den dritten Platz bei der Code Competition gewonnen. Im Interview stellt er sich, seine Lösung und die Herangehensweise an die Aufgabenstellung genauer vor.
IT-Talents: Hallo Yannis herzlichen Glückwunsch zu Deinem dritten Platz bei der Code Competition „Der Auslieferungsfahrer“! Erzähl den anderen IT-Talenten doch kurz etwas über Dich.
Yannis: Danke! Ich bin 17 Jahre alt und Schüler eines Gymnasiums in Leipzig. Ich belege dort die Leistungskurse Mathe und Physik und interessiere mich in meiner Freizeit sehr für Programmierung. Angefangen habe ich dabei mit Java vor knapp 3 Jahren, wobei ich das meiste erst im letzten Jahr durch das Lesen von Fachbüchern und den Kontakt zu erfahreneren Hobby-Entwicklern erlernt habe.
IT-Talents: Was hat Dich motiviert, an der Competition teilzunehmen und wie bist Du auf den Wettbewerb aufmerksam geworden?
Yannis: Ich sehe die Code Competitions immer als eine Art Möglichkeit mich zu verbessern und meine in der Zwischenzeit erlernten Fähigkeiten auf ein neues Problem anzuwenden. Ich habe schon einmal an einer Competition teilgenommen und habe dadurch von dem Blog und den monatlichen Competitions erfahren. Außerdem ist es immer gut sich ein Feedback zu seinem Code und der Dokumentation abzuholen, um seine eigenen Schwächen zu finden und auszugleichen.
IT-Talents: Wie bist Du an die Lösung der Aufgabenstellung herangegangen?
Yannis: Zuerst habe ich recherchiert, um die gängigen Lösungsansätze für das zu Grunde liegende Problem (Traveling Salesman Problem) zu verstehen und mich für einen zu entscheiden. Dabei bin ich nach einer Weile auf die Ant colony optimization gestoßen, die sehr effektiv ist und perfekt auf dieses Problem anwendbar ist. Dann habe ich mir ein kleines Konzept erstellt und schließlich einfach angefangen.
IT-Talents: Du hast Dich für eine Lösung als Webanwendung entschieden, wieso?
Yannis: Ich wollte, dass meine Anwendung von jedem Gerät ohne große Mühe erreichbar ist, weshalb ich sie als Website konzipiert habe. Um jedoch trotzdem die Rechenlast nicht auf mobile Geräte zu verlagern habe ich mich entschieden die Lösungen mit Spring Boot auf einem Server zu berechnen. Zudem wollte ich Google Maps verwenden, was sich auf einer Website am einfachsten implementieren lässt.

IT-Talents: Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert?
Yannis: Das größte Problem war wahrscheinlich, dass ich mich nie zuvor mit JavaScript geschweige denn der Google Maps API auseinander gesetzt hatte. Dies führte natürlich dazu, dass ich eine Weile gebraucht habe, um mir alles einzuprägen und die nötigen Funktionen zu erlernen. Insgesamt habe ich sicher die Freizeit einer Woche plus Wochenende in Lösung und Problembehebung investiert.
IT-Talents: Und was hast Du durch die Entwicklung gelernt?
Yannis: Ich habe sehr viel über JavaScript und das Erstellen von Webapplikationen gelernt, speziell mit der Google Maps API. Außerdem habe ich viel über das Travelling Salesman Problem erfahren, zu welchen meiner Meinung nach sehr interessante Lösungsansätze existieren.
IT-Talents: Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen?
Yannis: Ich fände die Entwicklung einer simplen Scriptsprache plus Interpreter eine sehr interessante aber auch komplizierte Aufgabe für eine kommende Code Competition.
IT-Talents: Zu guter Letzt: Wie findest Du die IT-Talents.de Plattform, welche Verbesserungsmöglichkeiten siehst Du?
Yannis: Mir gefällt die Plattform sehr, da besonders im Blog häufig für mich sehr interessante Themen angesprochen werden. Außerdem finde ich die Idee einer monatlichen Code Competition gut und die Vielfältigkeit der Aufgabenstellungen macht es möglich teilzunehmen, wenn man sich für dieses bestimmte Thema interessiert oder einen Lösungsansatz parat hat. Der direkte Kontakt zu den Unternehmen ist für mich als Schüler noch nicht allzu wichtig, ich kann mir jedoch vorstellen, dass gerade dieser später einen wichtigen Teil der Plattform für mich darstellt. Als Verbesserungsmöglickeit kann ich mir vorstellen, eine Seite zu haben, die einem qualitativ hochwertige Literatur oder Tutorials zum Lernen in einem bestimmten Bereich vorschlägt.
IT-Talents: Vielen Dank für Deine Teilnahme, das Interview und viel Spaß mit Deinem Gewinn ;)