Louis reicht eine tolle Lösung zum “Online Freizeit-Organisator” ein und sichert sich den ersten Platz!
Viele Probleme – trotzdem die beste Lösung: Louis sichert sich den ersten Platz bei der Code Competition zum “Online Freizeit-Organisator” von enowa! Wir sagen: Herzlichen Glückwunsch! In unserem Interview mit ihm könnt Ihr mehr über seinen technischen Ansatz, sein Vorgehen und seine Probleme erfahren.
Begrüßung
IT-Talents: Hallo Louis! Herzlichen Glückwunsch zu Deinem beeindruckenden ersten Platz bei der Code Competition. Du konntest mit Deinem Online-Freizeit-Organisator überzeugen. Stell Dich den anderen Talenten doch kurz vor. Louis: Hi! Ich bin Louis, 20 Jahre alt und studiere aktuell im 6. Semester Luft- und Raumfahrttechnik an der Uni Stuttgart und arbeite parallel als Werkstudent bei Bosch im Bereich des Autonomen Fahrens. Neben dem Studium beschäftige ich mich mit so ziemlich allem rund um Technik. Von kleineren Hardwarebasteleien bis hin zum Programmieren (offensichtlich ^^). Zusätzlich spiele ich auch sehr gerne mit meinen Freunden Computerspiele. Die Zeit, die dann noch übrig bleibt, fließt in Fotografie, Sport, Filmen und Serien.
Die Motivation zum mitmachen
IT-Talents: Was hat Dich motiviert, an der Competition teilzunehmen und wie bist Du auf den Wettbewerb aufmerksam geworden? Louis: Eure Seite kannte ich schon ein bisschen länger. Auf den eigentlichen Wettbewerb bin ich eher zufällig gestoßen, als ich seit Langem mal wieder über die Website geschaut habe. Der Grund für die Teilnahme war relativ simple: ich hatte in dem Zeitraum gerade etwas mehr Zeit gehabt und hatte eh vor mich wieder mehr mit den Bereichen Webentwicklung und Python zu beschäftigen. Da hat das dann echt gut gepasst – und mit einer konkreten Aufgabe macht es gleich viel mehr Spaß : )
Dein Lösungsansatz
IT-Talents: Wie bist Du an die Lösung der Aufgabenstellung herangegangen? Louis: Ich habe erst einmal auf einem Blatt skizziert, wie das UI bzw. die Benutzerführung aussehen soll. Parallel dazu habe ich alle Ideen zu Features aufgeschrieben, die die App haben muss und haben könnte. Danach ging es dann ans Coden. Das verlief allerdings mehr „Try and Error“-Style.
Warum dieser Tech-Stack?
IT-Talents: Wieso hast Du Dich für Deinen Technologie-Stack (Python, Django, Docker) entschieden? Louis: Mit Django hatte ich schon ein wenig Erfahrung und die Grundidee der Competition war für mich, dieses Wissen weiter zu vertiefen. Daher waren Django und Python quasi im Vorhinein schon gesetzt. Trotzdem musste ich natürlich überlegen, ob die gewünschte App damit realisierbar ist – da Django ja z.B. eher dafür ausgelegt ist, statische Seiten zu rendern. Aber da mein grobes Konzept der Webseite damit übereingestimmt hat (und man für Kleinigkeiten wie Schalter etc. mit lokalem JS ja ein wenig aushelfen kann) habe ich die Challenge angenommen. Docker habe ich schlicht und einfach benutzt, da es aus den mir bekannten Methoden für Python-Deployment die einfachste für den User ist.
Probleme und Dauer des Projekts
IT-Talents: Welche Probleme sind bei der Entwicklung der Software aufgekommen? Wie lange hat die Entwicklung gedauert? Louis: Welches Problem ist nicht aufgetreten? ^^ Aber vielleicht ein paar Beispiele: Mit das größte Problem für mich waren wohl die Formulare. Zum einen die, in denen ich externe JS-Libraries verwendet habe (um z.B. Uhrzeit oder Datum touch-gerecht abzufragen). Die haben sich leider nicht sehr gut mit dem verstanden, was Django von einer form erwartet. Sprich ich „durfte“ eigene Form-Klassen definieren (ink. Validation und Speicherung). Zum anderen ist bei mir das Formular mit den Zeiten, an denen man an einem Tag kann, dynamisch groß, wovon Django auch wieder kein Freund ist. Aber durch das Debuggen von solchen Problemen lernet man dann auch besser, wie Django unter der Haube funktioniert. Als letztes Beispiel vielleicht noch der Klassiker, in dem mein Start-Skript an sich fehlerfrei ist, doch im Docker unter kryptischen Fehlermeldungen nicht läuft. Ein Hoch auf line endings unter Windows. Alles in allem waren es 23 commits über einen Zeitraum von 21 Tagen. Eine genaue Stundenanzahl fällt mir schwer zu schätzen. Aber es ging definitiv viel Zeit in Tests und Recherchen, wie etwas so funktionieren kann, wie ich es mir vorgestellt habe.
Deine Learnings
IT-Talents: Und was hast Du durch die Entwicklung gelernt? Louis: Ich habe viel über Django gelernt und wie es manche Dinge händelt. Dazu wurde mir wieder klar, wie viel einfacher es doch mit guter Dokumentation geht (die von Django ist echt top). Insgesamt war es mein erstes Projekt für einen „Kunden“, sprich mit Deadline und der Erfahrung irgendwann einen Schlussstrich ziehen zu müssen. Als letztes habe ich gelernt, dass die Familie tolle Beta-Tester abgibt! : )
Ideen für weitere Code Competitions?
IT-Talents: Was würdest Du Dir thematisch gerne einmal als Code Competition wünschen? Louis: Ich weiß nicht wie realisierbar das ist (da ich mich leider in der Materie auch noch zu wenig auskenne), aber eine Competition hinsichtlich den Basics von Machine-Learning fände ich sehr interessant. Zum Beispiel eine Aufgabe, bei der es nicht darum geht, ein fertige Library zu verwenden, sondern in die Richtung etwas selbst zu entwickeln. Vielleicht findet man da irgendeinen Edge-Case der noch nicht viel bearbeitet wurde und im Rahmen einer Competition vertretbar wäre.
Deine Verbesserungsideen für IT-Talents und CC
IT-Talents: Zu guter Letzt: Wie findest Du die IT-Talents.de Plattform, welche Verbesserungsmöglichkeiten siehst Du? Louis: Ich finde es toll das ihr hier unabhängig von Voraussetzungen Dinge wie die CodeCompetition veranstaltet. An dieser Stelle nochmal ein Danke dafür. In dem Spirit fände ich es auch schön, wenn ihr auch den Mitgliedern eine Möglichkeit bzw. Plattform geben könntet, sich untereinander zu vernetzten. Quasi den Plattform-Gedanken etwas über die Firmen auszuweiten. Als kleineren Verbesserungsvorschlag hätte ich noch, dass bei den Talent-Pools etwas klarer gemacht wird, wonach die Firmen suchen, bzw. wonach nicht ^^. Also einfach ein kleines Feedback warum man angenommen/abgelehnt wurde – dann hat man in jedem Fall etwas davon. IT-Talents: Vielen Dank für Deine Teilnahme, das Interview und viel Spaß mit Deinem Gewinn 😉