Erfahrungsberichte
Axels Erfahrungsbericht #5
19. August 2018
JavaScript, oh JavaScript!
Meine neue Liebe – wie konnte ich bloß ohne dich leben?
Mein Name ist Axel, ich bin 32 Jahre alt und befinde mich auf dem Weg zum digitalen Nomaden. Ich habe mich nach längerem Vorlauf und Selbststudium zu einem Bootcamp bei neue fische entschieden. Wie es dazu kam, welche Erfahrungen ich im Bereich Web-Developmen bisher gemacht und welche Lehren ich daraus gezogen habe, das werde ich an dieser Stelle Schritt für Schritt mit euch teilen.
Ich berichte euch heute über die dritte und vierte Woche unseres Web Development-Bootcamps. Unser Thema war JavaScript und ich habe einmal mehr festgestellt: Programmieren macht Spaß! Und ich gebe euch gleich zu Beginn das Credo dieses Blogs mit auf den Web Developer-Lebensweg:
“Any application that can be written in JavaScript, will eventually be written in JavaScript.” — Jeff Atwood
JavaScript beherrschen, bedeutet Front- und Backend-Web-Programmierung...
JavaScript ist eine von vielen Programmiersprachen, die im modernen Web auch als Backend-Programmiersprache verwendet werden kann. JavaScript im Web-Backend hat sehr viele Vorteile. Der größte: Wenn ich als Frontend-Entwickler zur Backend-Programmierung übergehen möchte, kann ich diese Programmiersprache auch dort nutzen, während ich die Syntax anderer Backend-Programmiersprachen erst von Grund auf neu lernen müsste.
...denn NodeJS von Googgle kann JavaScript interpretieren
Anfangs war JavaScript mit NodeJS im Backend nur ein Hype, etwas für die Hipster und Hacker. Doch NodeJS hat sich etabliert und in Sachen Nutzerzahlen und Projekten eine starke Kurve nach oben gemacht. Mittlerweile nutzen sogar Big Player wie eBay, Uber, Netflix, Trello, PayPal, LinkedIn, Medium, Group und viele weitere JavaScript als Backend-Technologie. JavaScript ist keine Programmiersprache im eigentlichen Sinne, sondern eine Skriptsprache. Der JavaScript Code, den wir schreiben, muss also nicht kompiliert werden, damit verschiedene „Maschinen” diesen Code lesen können. Eher ist es so, dass der JavaScript-Code interpretiert wird. Im Frontend haben wir dafür den Browser und im Backend NodeJS.
NodeJS besteht aus der von Google entwickelten V8 Engine. Diese ist auch im Google Chrome Browser vorhanden, um JavaScript clientseitig zu interpretieren. Diese V8-Engine wurde aus dem Browser extrahiert und so „umgeschrieben”, dass wir sie mit NodeJS als JavaScript Interpreter im Backend nutzen können.
Web Developer müssen JavaScript beherrschen
JavaScript ist sehr vielseitig: Es kann für Native- und Mobile-Apps genutzt werden, und zwar für Android, Windows, Linux, iOS und MacOS. Selbst dezentralisierte Technologien wie die der Blockchain oder Internet of Things- (IOT) oder Robotics-Projekte können mit JavaScript realisiert werden. In diesen spezielleren Fällen kommen zusätzliche Engines und Technologien zum Einsatz. Wir haben im Camp mit unserem Coach Jerry darüber gesprochen, die Details lasse ich hier aber weg, denn sie würden den Rahmen sprengen.
Im neue fische Bootcamp lernen wir alles anhand modernstem JavaScript. Wir schreiben den Code ab der ES6 Syntax, auch genannt ES2015 (ECMAScript 2015). In 2015 wurde JavaScript um ein großes Update erweitert. Das erlaubt Entwicklern elegantere und einfachere Codes zu schreiben. Mein Fazit: Jedes Unternehmen sollte seine Projekte mit modernem JavaScript-Code ab ES6 realisieren. Die Vorteile sind beeindruckend. Es gibt allerdings noch zahlreiche ältere in ES5 geschriebene Projekte, die Web Developer selbstverständlich auch interpretieren und (um)schreiben können müssen. Deshalb ist es aus meiner Sicht auch wichtig, sich auch mit dieser Syntax auseinanderzusetzen. Außerdem sind immer noch 95% aller Ressourcen und Tutorials im World Wide Web in ES5 geschrieben.
Der etwas andere Curriculum-Ansatz bei neue fische
Eigentlich starten alle Ressourcen zum JavaScript starten mit den gleichen Basics: Variablen, Datentypen, Funktionen, Arrays, Loops, Objekte, Methoden, Klassen und viele mehr. Das ergibt in meinen Augen auch Sinn, denn wenn man die Grundfunktionen einer Programmiersprache nicht versteht, ist es sehr schwierig in erweiterte Themen einzusteigen.
Bei neue fische starteten wir mit einem etwas anderen Ansatz. Wir tauchten direkt in die DOM-Manipulation ein (DOM steht für Document Object Model). Das „Document” (das HTML-Dokument) stellt jeden Tag, jede Klasse und jede ID als „Object” dar, dem wir uns mit Hilfe von JavaScript bedienen können.
So können wir clientseitig unseren HTML-Code ändern und zum Beispiel Animationen gestalten, Farben ändern, Objekte ein- und ausblenden und vieles mehr.
Ich war zuerst verwirrt und fragte mich, wie Absolventen ohne Basiskenntnisse in JavaScript-Basics DOM-Manipulation verstehen und anwenden sollen. Jetzt ist es mir klar: Im neue fische Web Development Bootcamp werden die Basics direkt anhand der DOM-Manipulation gelehrt. Das beginnt mit den Variablen und reicht bis zu den Funktionen. Wir lernen also die einzelnen JavaScript Basics direkt in angewandter Praxis, unterstützt durch kleinere Übungsaufgaben zu den jeweiligen Basics.
Die neue fische Bootcamp-Formel: praktisch arbeiten und dabei Theorie lernen
Wir haben reale Anwendungsfälle auf dem Schirm, um die einzelnen Themen besser zu verstehen. Aus meiner Sicht haben beide Lehrmethoden Vor- und Nachteile. Lernt man direkt anhand der DOM-Manipulation die JavaScript-Basics, hat man meiner Meinung nach eine höhere Hürde zu nehmen. Man muss also teilweise einfach mal hinnehmen, dass etwas so funktioniert, wie es funktioniert. Auf der anderen Seite glaube ich, dass man mit der neue fische-Methode größere Zusammenhänge besser verstehen und überblicken kann, nachdem es einmal „Klick“ gemacht hat.
Frust und Freude sitzen nebeneinander
Aktuell beobachte ich bei den anderen Kursteilnehmern noch zwei Gruppen. Die einen warten noch auf ihren „Klick“ und zweifeln. Die anderen gehen in JavaScript auf und sind richtig im Coden angekommen. Ich habe bereits über das Thema Mindset geschrieben. Man darf sich auf gar keinen Fall demotivieren lassen. Im Gegenteil! Man sollte gerade aus so einer Situation die Motivation schöpfen: Themen wiederholen, Übungsaufgaben wiederholen, Kursinhalte wiederholen. Wer jetzt dranbleibt, wird am Ende belohnt. Ich habe solche Erfahrungen schon oft gemacht und weiß, wie ich am besten damit umgehe. Es ist nicht immer leicht - aber machbar.
Im Bootcamp können wir uns direkten Support von unserem Coach Jerry oder von unseren Kommilitonen holen. Nach dem Bootcamp hat man diesen Luxus nicht mehr und darüber muss man sich bewusst sein. Ich bin auf jeden Fall dankbar für die Hilfe und nutze jetzt meine Chance. Allein dadurch bin ich innerhalb von vier Bootcamp-Wochen schon auf einem ganz anderen Level als Webentwickler.
Nächste Woche starten wir mit den Themen Advanced JavaScript, OOP (Objekt-Orientierte-Programmierung), weiteren Toolings (Webpack und Babel), Serverseite mit NodeJS, APIs und dem JavaScript Frontend-Framework React mit Redux.
Ich freue mich und werde berichten.
Bis bald
Euer Axel
Worauf wartest du?
Bewirb dich noch heute! Unser Student Admissions Team freut sich mit dir zu sprechen und dir alle offenen Fragen zu beantworten.