Sebastian gewinnt Code Competition
Herzlichen Glückwunsch zu einer tollen Lösung und zu 500€ Preisgeld!
Sebastian hat seine Lösung in Java entwickelt und durch seinen stringenten Code und die umfangreichen Funktionalitäten die Fachabteilung von EDEKA Digital mehr als nur überzeugt und zurecht den ersten Platz der Code Competition “Hey Alexa, lass uns coden!” erreicht – herzlichen Glückwunsch!
Tipp: Schau dir die Lösung von Sebastian auf GitHub an!
Was hat dich motiviert, an der Competition teilzunehmen und wie bist du auf den Wettbewerb aufmerksam geworden?
Sebastian: Schon länger habe Ich verschiedene spannende Beiträge oder gestellte Code Competitions auf IT-Talents verfolgt. Als Ich schließlich über Instagram von der Code Competition in Kooperation mit EDEKA DIGITAL erfuhr und Ich ohnehin interessiert an dem umfangreichen Themenblock Sprachsteuerung war, habe Ich mich entschlossen teilzunehmen. Gleich im ersten Versuch habe Ich glücklicherweise die Jury von meiner Idee und meiner Lösung überzeugen können. Motiviert hat mich vor allem die freie und interessante Fragestellung.
Wie bist du an die Lösung der Aufgabenstellung herangegangen?
Sebastian: Ich habe erst ein wenig überlegen und recherchieren müssen, bis Ich auf die Idee gestoßen bin Bringmeister – von dem Ich ehrlicherweise vorher noch nie gehört habe – in Alexa umzusetzen. EDEKA ist viel mehr als der lokale Supermarkt: Die Digital-Abteilung greift viele spannende Themen an, fasst sich mit wichtigen Fragen der digitalen Zeit auseinander und hat eben auch den Lieferservice Bringmeister ins Leben gerufen. Als die Idee stand, musste Ich grob gesagt Reverse Engineering betreiben mithilfe des Chrome Dev Tools, um überhaupt erfassen zu können, wie Bringmeister intern funktioniert. Zu meinem Glück wird eine externe API bzw. ein GraphQL-Server verwendet, anstatt des Ansatzes auf der Server-Side über PHP etc. Daten zur Verfügung zu stellen. Das hat die Entwicklung vereinfacht und es meiner Software ermöglicht auf die Bringmeister Daten zuzugreifen.
Wieso hast du dich für Deinen Technologie-Stack (Java) entschieden?
Sebastian: Als Ich im Alter von 12 Jahren mit dem Programmieren begann, war Java die erste Sprache mit der Ich in Kontakt kam. Ich war begeistert als Ich grundlegende Prinzipien der Programmierung verstanden habe. Es hat mir immer großen Spaß bereitet und Ich bin immer bei der Informatik, beim Coden und beim Programmieren geblieben. Im Laufe der Jahre habe Ich mir natürlich auch andere Programmiersprachen angeschaut. Trotzdem bin Ich immer wieder zu Java zurückgekehrt und bin ein großer Fan geworden. Trotz (teilweise berechtigter) Kritik muss man sagen, dass es Java gelingt einen übersichtlichen und organisierten Code zu schaffen, der einfach zu lesen und zu erweitern ist. Java ist schnell, sicher, umfangreich, erweiterbar, sauber und hat klar definierte Regeln. Das gefällt mir sehr. Als Framework habe Ich mich für Spring entschieden. Dieser Framework erweitert Java-Funktionen noch einmal um ein Vielfaches. Mit geringem Aufwand können schon Applikationen entwickelt werden, die dynamisch auf Datenbanken aller Art zugreifen, und/oder eine REST API entwickeln. Spring bietet so viele Möglichkeiten und ist eigentlich in jeder Hinsicht konfigurabel. Da frage Ich mich manchmal, ob überhaupt einmal die Entwickler selbst alle Funktionen kennen.
Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert?
Sebastian: Größte Schwierigkeit bei der Entwicklung war es wohl die GraphQL-Schnittstelle von Bringmeister selbst erst einmal zu verstehen und verwenden zu können. Die POST-Anfragen die über den Reiter Netzwerk in den Chrome Dev Tools ausgelesen werden können, sind längst nicht ausreichend. Ich musste tief in den React-interpretierten Code einsteigen. Das war zeitaufwändig, aber auch sehr interessant. Hingegen war die Umsetzung der Alexa App und das Account Linking selbst erstaunlich einfach dank guter Dokumentation. Schwierigkeit da war es aber die “Ja”- und “Nein”-Anfragen des Alexa Nutzers in den verschiedenen Kontexten des Skills zu deuten. Insgesamt habe Ich (während der Schulzeit) aber nur wenige Tage für die Entwicklung benötigt. Wenn man halt einmal im Fluss des Programmierens ist…
Und was hast du durch die Entwicklung gelernt?
Sebastian: Vor der Code Competition habe Ich zwar schon von GraphQL gehört, aber mich nie wirklich damit auseinandergesetzt. Der kleine Exkurs in diese “Query Language” war sehr spannend und Ich werde definitiv noch einmal auf das Gelernte zurückgreifen.
Was würdest du dir thematisch gerne einmal als Code Competition wünschen?
Sebastian: Natürlich etwas, wo Ich Spring verwenden kann! Ich entwickle gerne klassische Backend-Frontend-Systeme und umfangreiche REST APIs. Das wäre interessant. Ich bin aber auch an komplizierten Algorithmen, die Ich entwickeln, verstehen und erklären muss interessiert. Eine Verbindung der beiden Themen wäre großartig!
Zu guter Letzt: Wie findest du die IT-Talents.de Plattform, welche Verbesserungsmöglichkeiten siehst du?
Sebastian: Super! Viele verschiedene Angebote, Beiträge, super-interessante Informationen, Quellen für junge IT-Talente u.v.m. Mehr Code Competitions fände Ich natürlich toll 😉
Rückmeldungen