Erfahrungsberichte
Christophs Erfahrungsbericht #4: Der größte Lerneffekt beim Programmieren lernen: neues Wissen selber anwenden
28. November 2018
Der größte Lerneffekt beim Programmieren lernen: neues Wissen selber anwenden!
Planen, Bauen, Testen
Wir sind inzwischen in Woche neun - unglaublich! Letzte Woche haben wir noch einmal eine Menge neuen Input bekommen und nun widmen wir uns der praktischen Abschlussarbeit: dem digitalen Gesellenstück! Ich freue mich sehr darauf, in den kommenden Wochen meine eigene App zu entwickeln und damit Bootcamp-Inhalte zu festigen und weiter zu vertiefen. Ich empfinde diese Phase schon nach den ersten Tagen als besonders lehrreich und habe viele Zusammenhänge nochmal deutlich besser verstanden.
Ein großes Learning aus der Kurszeit war für mich, dass es enorm hilft, neu erlerntes Wissen selber wieder und wieder in abgewandelter Form anzuwenden, um es wirklich zu verstehen. Wenn unser Head Coach Jerry uns etwas Neues beigebracht hat oder wir eine Übung gemacht haben, dann hatte ich oft zunächst das Gefühl, es ganz gut verstanden zu haben. Zum Glück haben wir es nicht bei diesem Gefühl belassen! Denn es ist das eine, den Code eines Entwicklers logisch nachvollziehen zu können oder das Konzept einer Library wie React.js in der Theorie zu verstehen. Ich habe aber gemerkt, dass es etwas völlig anderes ist, dieses Wissen für den eigenen Code anzuwenden. Erst dann hat sich für mich gezeigt, ob ich etwas wirklich verstanden hatte oder noch Wissenslücken füllen musste.
Für mich war es daher sehr wertvoll, dass wir viele praktische Übungen gemacht haben und das Gelernte in neuen Aufgaben selber auf die Probe stellen mussten. Denn jetzt, einige Wochen später, sitzen wir vor unserer eigenen App und sollen es im besten Fall direkt anwenden können.
Mein Gesellenstück: ein Portal für Remote Work
Mein Gesellenstück ist ein Jobportal für ortsunabhängige Jobs, das ich komplett von null aufbaue und in den kommenden Wochen zum „go-live“ bringen werde. Dabei werde ich fast alle Inhalte benötigen, die wir in den vergangenen Wochen vermittelt bekommen haben: HTML5 und CSS, jede Menge JavaScript, React und natürlich ein Backend mit NodeJS und MongoDB.
Ich bin total überrascht davon, wie umfangreich mein Code schon nach der ersten Woche ist; und auch, welche beeindruckenden Features viele aus dem Kurs in so kurzer Zeit umsetzen konnten.
Programmieren ist eine Fähigkeit von vielen
Dabei beschäftigen wir uns längst nicht nur mit dem Programmieren, sondern auch mit den ebenso wichtigen Themen drumherum. So entwickeln wir alle unsere Apps streng nach dem Scrum-Modell, das agile Softwareentwicklung erlaubt und in vielen Unternehmen angewandt wird. Dabei gibt es genaue Vorgaben, wie regelmäßig das Team kommuniziert und auf welche Weise neue Features in den einzelnen Arbeitszyklen weiterentwickelt werden. Ich war sofort von der Methode überzeugt als ich sie kennengelernt habe und würde mich sehr freuen, künftig auf diese Weise zu arbeiten.
Ein weiteres angrenzendes Thema ist das Testing. Da wir noch am Anfang unserer App sind, ist es zwar noch möglich, die Anwendung selber auf Fehler zu prüfen, aber das wird sich schnell ändern. Mithilfe von React PropTypes sowie dem Testing Tool Cypress können wir automatisch testen, ob ein neues Feature die funktionierende App an anderer Stelle crashen lässt. Das ist zwar am Anfang etwas aufwändig einzurichten, spart uns aber später viel Zeit. Außerdem ist das Testing für Unternehmen natürlich von großer Bedeutung, weil z.B. ein fehlerhafter Checkout im Onlineshop schnell sehr viel Geld kosten kann.
Ebenso achten wir sehr darauf, sauberen und skalierbaren Code zu schreiben. Denn: Funktionierender Code ist nicht automatisch auch gut und sauber geschrieben – und auf Letzteres kommt es an, auch wenn es erstmal einen Mehraufwand bedeutet. In unserem späteren Berufsalltag wird es wichtig, Code so zu schreiben, dass auch andere Entwickler ihn verstehen. Daher sind regelmäßiges Refactoring (sprich: dass Verbessern der Lesbarkeit und die Reduktion von Code) sowie ein logischer Aufbau, saubere Formatierung und genaue Funktionsbezeichnungen ein absolutes Muss für unsere App.
Generell verbringe ich nicht nur viel Zeit mit dem tatsächlichen Codeschreiben, sondern auch mit Reviews, Bugfixes, Googlen, etc. Ich finde es herausfordernd und abwechslungsreich, dass es so viele unterschiedliche Fähigkeiten gibt, die einen guten Entwickler auszeichnen. Das Programmieren ist ein Teil davon. Und da ich mich seit langem mit Unternehmertum beschäftige, freut es mich, dass Entwickler in den letzten Jahren deutlich stärker in den größeren Kontext der Produktentwicklung bzw. dem Business im Allgemeinen einbezogen werden. Programmieren ist schließlich kein Selbstzweck, sondern muss echten Nutzen für den User bringen. Wenn mir das mit meinem Jobportal gelingt, wäre das toll. Aber auch unabhängig davon betrachte ich unsere Abschlussarbeiten schon jetzt als Erfolg, weil wir dadurch sehr viel gelernt haben - und genau darum geht es uns ja.
Die kommenden Wochen werden spannend, ich freue mich, euch beim nächsten Mal mehr von meinen Erfahrungen zu berichten!
Worauf wartest du?
Bewirb dich noch heute! Unser Student Admissions Team freut sich mit dir zu sprechen und dir alle offenen Fragen zu beantworten.