Skillbyte Podcast #6: Must-have Skills, Technologien und Weiterbildung für Full-Stack Entwickler

Skillbyte Podcast #6: Must-have Skills, Technologien und Weiterbildung für Full-Stack Entwickler

In diesem Podcast geht es um das Thema: Must-have Skills, Technologien und Weiterbildung für Full-Stack Entwickler

// Inhalt //

  1. Was ist ein Full-Stack Entwickler?
  2. Welche Skills hat ein Full-Stack Entwickler?
  3. Welche Technologien setzt ein Full-Stack Entwickler ein?
  4. Wie bildet sich ein Full-Stack Entwickler weiter?
  5. Skillbyte als Full-Stack Experten

Wir freuen uns wenn Sie unseren Podcast abonnieren! Besuchen Sie uns auch genre auf https://www.skillbyte.de

Feedback und Fragen gerne an podcast@skillbyte.de

Skillbyte Technologie Podcast · Podcast #6: Must-have Skills, Technologien und Weiterbildung für Full-Stack Entwickler

AUTOMATISCH ERZEUGTES TRANSKRIPT

Herzlich willkommen heute zum Skillbyte Podcast Nr. 6 Must have Skills Technologien und Weiterbildung für Fouls der Entwickler. Ich freue mich, dass er wieder zuhört und erwähne noch mal, dass ihr gerne Leser Fragen stellen könnt und die einschicken könnt, da die E-Mailadresse Podcast skillbyte wurde. Ansonsten könnte den Podcast gerne abonnieren bei iTunes, dieser Spotify oder wo ihr ihn gerade hört auch bei Soundcloud.

Wenn euch der Podcast gefällt, würde ich mich freuen, wenn ihr uns einen Daumen hoch gebt oder eine 5 Sterne Bewertung hinterlasst oder uns an die Email-Adresse Podcast Skillbyte Anregungen schickt, was wir noch besser machen können. Das freut uns immer, wenn wir Feedback bekommen. Und heute bin ich hier wieder mit Masiar von Skillbyte Masiar. Du bist ja schon ein alter Hase.

Im Podcast Podcast Business.

Nein, aber ich freue mich immer, wenn du mein Gast bist oder wenn wir zusammen sprechen, weil ich das Gefühl habe, dass wir schon uns für unsere Zuhörer interessante Themen behandeln können, die unsere Zuschauer wirklich interessieren. Jedenfalls ist das mein Eindruck, nach dem Feedback nach zu urteilen schon immer stark.

Natürlich auf jeden Fall. Ich würde vorschlagen, wir beginnen einfach mal mit der Definition Was ist ein Faulstich Entwickler? Ich habe mal ein paar Gedanken dazu gemacht, aber ich würde dich gerne starten lassen, weil ich mich dann auf deine Aussagen beziehen kann und nicht einfach nur runter lese, was ich mir hier überlegt habe.

Gerne. Ich bin ja selber irgendwie seit 23 Jahren in der Softwareentwicklung des Business. 22 Jahre davon oder 21 Jahre als Selbständiger. Und das war früher mal irgendwie einfacher. Alles einfacher im Sinne von mehr. Die Technologie war halt noch nicht so weit und vor allen Dingen in den verschiedenen Bereichen so horizontal breit gefächert. Du hattest irgendwie als Java Programmierer ein Problem gehabt, das mit Algorithmen das Problem gelöst. Das klassischerweise würde ich so jemanden als Backend Entwickler bezeichnen. Und dann hast du auf der anderen Seite im Frontend Entwickler für das HTML und CSS zuständig war.

Damals hast du als Backend Entwickler dieses HTML, CSS und so weiter irgendwie mitgemacht. Also das gehörte. Ich sag mal zu deinem Köcher an Werkzeugen, was du dabei hattest. Und klassischerweise werden, wenn du beides kannst machen und Frontend ist das für mich der Punkt der Entwickler Helm. Wie? Aber ich finde, es ist halt immer schwierig geworden. Warum? Weil die jeweilige Technologie mit den Frameworks drumherum im Backend und im Frontend sind so vielfältig geworden. Das ist meines Erachtens sehr schwierig ist, beides leisten zu können?

Auf jeden Fall. Es ist natürlich einfacher, wenn man jemanden sucht, ein zu haben, der beides kann. Aber ich bin mir sicher, 95 99 prozent der jeweiligen und der Kollegen sind nicht gleich gut in beiden. Das ist man halt immer ein Muss. Entweder fehlt ihm irgendwas im Backend oder es fehlt ihm irgendwas im Frontend. Der wird nie beides gleich gut machen können, meiner Meinung nach.

Ich würde auch sagen, ein Puls der Entwickler ist jemand, der so eine Art Allround Rolle hat, also der sich in vielen Gebieten auskennt, was Softwareentwicklung angeht, natürlich aber auch Software Betrieb und der gar nicht du sagst, der alles gleich gut kann. Ich glaube auch, dass es unmöglich, gerade bei der Vielzahl von Frameworks, die die es heute gibt und die eingesetzt werden. Ich glaube schon. Faulstich Entwickler hat auch seinen Schwerpunkt, aber er hat dennoch eine gute Übersicht, wie die ganzen einzelnen Puzzleteile zusammenspielen.

Also er kennt sich, sage ich mal von der Betriebssystem Ebene aus. Er weiß wie das funktioniert, dann kennt er die Anwendung und Backend sowie Frontend und sieht halt die Verzahnung wie die ineinandergreifen. Du sagst richtig. Früher hat so ein Becket Entwickler auch mit teilweise Frontend gemacht. Das war glaube ich notgedrungen, weil in diesen PHP Skripten auch Frontend HTML mit eingebettet war und deshalb das alles so ein Kuddelmuddel war und nicht sauber getrennt war. Ich denke auch so ein Entwickler ist halt super wichtig für ein Team aufgrund.

Also desto erfahrener, desto besser, weil er diese Übersicht hat und weiß, wie die Komponenten zusammenspielen und dann schon im Vornherein oder während der Entwicklung darauf achten kann, dass man an der Schnittstelle zusammentrifft, sag ich mal, dass die einzelnen Gewerke dann an einem Strang ziehen. Was für mich auch ein Puls der Entwickler auszeichnet, ist, dass da auf jeden Fall polyglott ist, also dass er in mehreren Programmiersprachen sich zurechtfindet und dann natürlich auch da ein Schwerpunkt. Also man kann nicht alle Programmiersprachen gleich gut können, was im Backend Entwickler gesagt.

Ich denke der Weg vom Backend zum Entwickler, der wird wahrscheinlich häufiger beschritten werden als jemand, der Frontend macht. Dass er sich quasi runter zum Backend weiterbildet. Und so haben diese Entwickler eben darum schon einen Schwerpunkt und können eben in mehreren Programmiersprachen oder Universen kennen sich da aus. Also mit Universum meine ich zum Beispiel bei Java. Hast ja nicht nur Java, sondern das ganze JVM Ökosystem über Maven, die verschiedenen zigtausend Libraries, die man da heranzieht, Apache Commons oder Google Glass etwa oder Spring.

Und im Bereich gibt es das natürlich genauso.

Das Ökosystem ist ja fast noch wichtiger als die Programmiersprache selber, weil wenn man eine gute Idee hat. Dazu komme ich gleich noch, dann schreibst du ja gar nicht mehr so viel Code, sondern kriegst durch die AutoCAD schon relativ viel. Vor allem bei der Syntax quasi per Auto komplett schon vorgeschlagen. Wenn du weißt, was du sagen willst, dann du hast natürlich völlig recht. Die Kunst der Entwickler gehört meines Erachtens nie der Softwareentwicklung bestimmt, weil er im Prinzip im Zweifelsfall die Schnittstelle zwischen den Fronten bilden kann.

Er weiß architektonischen Besonderheiten der jeweiligen Bereiche umgehen kann. Bevor da irgendwas schief läuft oder in die falsche Richtung läuft, kann er schon im Prinzip dafür sorgen, dass beide Teams in die richtige Richtung laufen. Aber der Teufel steckt wie so oft im Detail. Also als Beispiel, wenn ich das Angular nehme, als als typisches Frontend Projekt und und Java als Backend, jetzt mal als Beispiel. Dann macht das zum Beispiel ein Unterschied, wie du das Ding nachher betreibst und Angular Applikation baust.

Das hat für die Produktion. Ich sage mal mit entsprechenden Schaltern, so dass es quasi in der Produktion schneller läuft. Also vom Stichwort her noch kein Compiler. Und das ist so komplex und geht so tief ins Detail, dass wenn du alleine in diesem Bereich sich nicht auskennen willst, schon Vollzeit beschäftigt ist und so ein Vollzeit entwickelter Masiar nur mit der Zeit entstehen. Das hast du bis irgendwo gut im Ansatz. Okay, jetzt beherrsche ich das Frontend oder ich beherrsche das Netzwerke.

Jetzt möchte ich mich aber selber weiterentwickeln, gucke ich mir mein Kunden Feedback an und andersherum. Das ist keine. Leider ist es. Wenn du gerne mal unsere Stellenausschreibungen liest, dann suchen die Firmen im Prinzip alle 50 Entwickler. Der Mann soll genau um die Fronten als auch im Backend sein. 10 Jahre Erfahrung haben, aber das Gehalt eines Juniors kriegen. Das ist auch schwer bei der Suche. Eine solche Leute zu finden ist wirklich wirklich super selten. Ich habe mal 50 Entwickler zu kriegen, die aus beiden Bereichen sich gut auskennen.

Und nur weil ich jetzt wegging. Ich bin jetzt auch klassischer Weise. Ich komme aus der Entwicklung, bin jetzt aktuell die letzten paar Jahre, mache bei der Box, aber ich fühle mich klassischerweise als Backend Entwickler bezeichnet und kann ein bisschen Angular uh, hab ich mal angeguckt. Naja, gut, dann bin halt auch in der Entwicklung, aber ich würde mich echt nicht in größeren Projekten. Ich habe mal eine Architektur von Angular Fiction, es ist aber nicht mein Gebiet.

Wobei man sagen muss, also auch die die Frontend Technologien sind ja heute schon so komplex, dass man fast von Backend Software Umgebungen sprechen kann. Also da passiert da sehr sehr sehr viel Logik auch mittlerweile im Frontend und von daher passt das wieder ganz gut. Aber ich glaube Faulstich Entwickler Firmen die Entwickler suchen, die haben sich vielleicht noch nicht so ganz entschieden. Also die wissen selber noch nicht genau was sie brauchen oder welche Technologien sie dann ultimativ einsetzen. Oder es ist ein sehr kleines Entwicklungsteam.

Da glaube ich, ist es auch von Vorteil, weil am Ende muss ja immer eine Anwendung rauskommen oder irgendein Tool. Und wenn das jetzt nicht Kommandozeile Tool ist oder ein Konverter, der überhaupt keine Oberfläche hat, dann brauchst du eigentlich auch jemanden, der diese Präsentation Sicht umsetzt. Und das sind ja meistens Web Entwicklungen oder bei Apps die Screens dann und dann ist man relativ schnell, dass man sagt ach ja, dann hätten wir gerne ein Fußsteig Entwickler. Also bei mir auch so ich sehe mich auch Stück weit als Faulstich Entwickler, wobei ich auch eine ganz klare Tendenz im Backend habe.

Gerade auch wenn für mich Kunden fragen, kann es auch die Gestaltung machen. Dass das schön aussieht, sag ich mal zu. Also ja, ich kann einen guten STANDARD setze ich da hin, keine Frage. Aber wenn ihr da wirklich gestalterisch euch austoben will, da gibt es einfach Menschen, die schneller und besser sind als ich.

Shantanu ist ein dritter Bereich Webdesigner. Das ist noch mal was anderes als als Frontend Entwickler.

Ja, Frontend Entwickler ist da. Das ist jetzt die Frage. Wenn du völlig gestalterische Freiheit hast, dann fange ich zum Beispiel an und Twitter Bootstrap und baue halt einfach die Masken, dass sie einigermaßen ordentlich aussehen. Jetzt für eine Firmen Anwendung. Wenn du allerdings so Photoshop Designs bekommst und jemand sagt, das möchte ich gerne als HTML umgesetzt haben, dass Bär klassischerweise so die Frontend Entwickler. Rolle, dann ist das ein anderer anderer Arbeitsschritt, bei dem ich persönlich jetzt auch nicht so schnell bin, einfach weil ich nicht so ein gutes Auge habe, aber am Ende erzeugt dort HTML und CSS Code aus entwicklungs technischer Sicht.

Was mir auch aufgefallen ist ist, dass Faulstich Entwickler, da sie mit mehreren Gewerken in Kontakt kommen und auch beim Fachbereich dann sprechen, weil sie dann auch gefragte Ansprechpartner sind, immer sagt Mensch, der kann sich da in beide Frontend Backend Sachen hineinversetzen, dass sie oft mehr kommunizieren müssen und auch ganz gut da drin sind, weil sie eben mit dem Kunden sprechen oder mit dem Auftraggeber sprechen und das dann für die anderen Teams Teammitglieder runterbrechen können. Okay, also haben wir quasi erklärt ein Furz der Entwickler kennt sich, um das zusammenzufassen, kennt sich im Backend wie im Frontend aus.

Aber ich glaube, man kann sagen, hat auf jeden Fall einen Schwerpunkt.

Ja, würde ich auch so sehen.

Manche Tools haben ja gar kein Frontend. Wir haben es ja eben schon angesprochen. So ein Kommandozeile, ein Tool oder so ein Datenbank Script, was einfach nur Daten aufbereitet oder verändert. Da würde man dann wahrscheinlich vom Backend Entwickler sprechen, auch wenn das der Entwickler macht, man einen ganz mit Zusammenhang zwischen Bereich gekommen sind, so Beckenbauer und mich nicht im Frontend oder andersherum. Automatisch bilden sich da Schwerpunkte und Grenzen sind fließend.

Jetzt wissen wir, was ein Entwickler ist oder was er macht. Welche Skills hat denn ein Entwickler, wenn er jetzt schon einige Punkte angesprochen? Aber vielleicht gehen wir dann noch mal genauer drauf ein. Ein Schwerpunkt. Das machen natürlich auch andere Entwickler, Frontend und Backend Entwickler, aber frühzeitig Entwickler ganz besonders, eben weil sie sich in mehreren Universen bewegen können, ist Debugging bei Problemen. Gerade wenn mehrere Systeme zusammenspielen und dann Fehler auftreten, muss man sich ja in unterschiedlichen Bereichen auskennen.

Also zum Beispiel man schickt eine Suchanfrage ab auf einer Webseite und dann kommt kein Ergebnis zurück. Oder die Ergebniß Darstellung ist irgendwie verzerrt und dann weiß man nicht okay, ist die Suchanfrage jetzt gar nicht abgeschickt worden oder ist das Ergebnis leer oder kommt das Ergebnis korrekt zurück? Wird aber nicht korrekt dargestellt.

Also diese ganzen Möglichkeiten kann es ja geben und das ist auf jeden Fall ein Schwerpunkt den Fußsteig Entwickler machen, dass sie quasi dann sich wie ein Maulwurf durchbohren durch die Anwendung um zu gucken okay, woran liegt das denn jetzt?

Das hängt im Prinzip mit einem weiteren Punkt zusammen, der durch das Ja getrennt, also schon längst da ist, dass das Freundinen Backend völlig voneinander unabhängige Domänen sind und auch eventuell unterschiedliche Software ist. Und dann müssen wir miteinander kommunizieren. Also klassisch Protokoll, also über http das heißt, du musst dich als als Kurzeck Entwickler auch entsprechend einigen Kommunikations Protokollen auskennen, im speziellen Möglichkeiten WP, damit du weißt was da los ist, wo du nachgucken kannst, wenn was nicht funktioniert und und auf was du achten muss.

Das heißt ja so ein bisschen so ein Netzwerk und interne Protokolle gehören auch dazu.

Auf jeden Fall auch die. Da sind wir wieder beim Debugging, dass man im Browser, also hier Chrome oder Firefox eben die Debugging Tools verwenden kann, wo man dann ja genau die die Netzwerk Kommunikation oder das muss ja gar nicht übers Netzwerk sein, das kann ja auch lokal auf einem Server passieren, aber das Austausch protokolliert eben http dass man das verfolgt und auch lesen kann und entsprechend debuggen kann, weil das ist ja genau die Schnittstelle, wenn ich das mal so sagen darf zwischen Backend und Frontend, wo die Teams eben zusammenarbeiten.

Das Backend stellt ja meistens die Daten und die Application Logik bereit und das Frontend zeigt es dann eben entsprechend an. Und auch da im Frontend ist es ja so über die letzten Jahre, wenn du mal auf so eine Webseite gehst wie Google Maps oder auch andere komplexe Webseiten, da passiert ja super viel. Da wird schon das Animationen auf der Webseite, es werden Dinge ein und ausgeblendet, Checks im Hintergrund durchgeführt, Verfügbarkeiten bei Hotels oder so und da macht das Frontend schon relativ viel.

Wenn man eine Email-Adresse eintippt und das Abzeichen vergisst, wird sofort die Box rot und ohne dass das Backend das validiert hätte. Also das sind da alles Frontend Logiken. Das kann schon sehr komplex werden. Genau. Aufbau und Verständnis von Computer Netzwerken sehe ich auch als ganz zentraler Punkt. Auch meiner Ansicht nach sollte ein Faulstich Entwickler und natürlich auch im Backend Entwickler Ahnung haben von Datenbanken, also SQL Datenbanken und no SQL Datenbanken. Wie werden die Daten da abgelegt? Was für Implikationen hat das?

Wenn ich die Daten zum Beispiel in einem BMS Ableger von einer relationalen Datenbank, wie setze ich da die Schlüssel? Fremd Schlüssel Primärschlüssel? Was? Wie hängt das zusammen? Auch um eine Anwendung zu. Aber auch um eine Anwendung überhaupt erst erstellen zu können, haben diese ganze Datenhaltung ist ja essenziell für im Grunde jede Anwendung.

Was noch wichtig ist, ist es ganz unabhängig von entweder zu Frontend oder Bäckchen Entwickler bist, aber ich finde, jeder gute Entwickler sollte auch mit einer Schelle umgehen können. Es gehört heute einfach dazu.

Absolut. Und zwar auf jedem System. Also Bash bei Linux und Mac oder bei Windows, PowerShell oder CMD. EXE Auf jeden Fall. Das sollte man vielleicht auch noch mal sagen von die Anwendungen, die gebaut werden, die aus Backend und Frontend bestehen, die müssen ja auch irgendwo betrieben werden. Und der Betrieb erfolgt ja meistens dann. Man wählt einen Server Betriebssystem und startet die Anwendung dann. Oder die Anwendung wird in einem Cluster gestartet, zum Beispiel in einem Kubernetes Cluster und auch ein grundlegendes Verständnis.

Ok. Wie funktionieren Dienste? Wie starte ich einen Dienst? Wie stoppe ich einen Dienst? Was für Möglichkeiten zum Monitoring von Festplatten, Auslastung, CPU, Auslastung, Speicher, Auslastung habe ich? Welche Tools kann ich direkt von der Kommandozeile ausführen und brauche keine grafische Benutzeroberfläche? Das sind für mich Wasserbasis Anforderungen, die eigentlich jeder Entwickler umsetzen können sollte. Wenn man das nicht kann, kommt man sehr oft bei der Entwicklung an Punkte, wo man dann einfach nicht weiterkommt oder jemand anders fragen muss und da Hilfe zu bekommen.

Eben gerade auf dieser Betriebssystemen eben.

Vor allen Dingen, wenn du einen Trend immer als Mahnmal betrachtest. Immer mehr Unternehmen stiften quasi ihre alten angestaubten Admin Strukturen in Richtung der agilen Infrastrukturen, wo quasi bei jedem Poster irgendwas gebaut wird. Die Projekte der Stichwort und die Integration von Bäumen und es immer mehr von den Entwicklern gefordert, auch nicht Richtung Admin auszugeben. Siehst du allein schon an den Stellenanzeigen doch Erkenntnisse von Vorteil Kubernetes Kenntnisse von Portal Profil entwickeln gefallen, wenn er in diese Richtung denkt und um seine Skills weiterbilden.

Da müsste man fast sagen da gibt es schon eine, kommt eine neue Gattung Fouls plus Admin oder so ist also der, der der Full Service Entwickler zusammenfasst und der Kopf, der Kopf. Das gefällt mir. Es ist natürlich die Kunden. Musst ja sehen, wenn die einfach nur fachliche Anforderungen haben, die am Ende wie das alles zusammengebaut ist, ist ja fast oder für den Business Case fast egal. Hauptsache es wird stabil betrieben und zuverlässig. Und wenn nicht?

Man kennt das, man entwickelt eine Anwendung. Ich sage mal für 10 Transaktionen in der Minute und 3 Jahre später werden 500 Transaktionen damit durchgeführt, weil einfach das System erfolgreich war und benutzt wird. Dann wird es noch von anderen Workflow benutzt und wächst halt dynamisch. Wenn man das nicht so ein bisschen mitdenkt, dann läuft man Gefahr, sich in so eine technologische Sackgasse zu bewegen. Und das sollte man nach Möglichkeit ja auch antizipieren. Und dafür sind diese OPs und Kenntnisse wichtig, dass man dann eben die Anwendung so Container visiert, dass man eben zur Not auch mit mehreren Servern gleichzeitig daran arbeiten kann.

Was für mich noch ein ganz wesentlicher Skill ist in jeder Faulstich Entwickler und jeder Entwickler und jeder Athmen und jeder im Technologiebereich eigentlich haben sollte, ist der Wille zur Weiterbildung, weil es bewegt sich alles so schnell und das ist nicht nur im Frontend so, das ist im Backend so, das ist auf der Operations Seite so, dass ich auf der Methoden Seite so, das ist auf der Tool Seite ganz besonders so, dass Projekte im Jahresrhythmus sterben und neu aufgelegt werden oder ganz ganz große Verschiebungen, krasse Verschiebungen in diesem Ökosystem stattfinden.

Horton Works von Plauderer gekauft worden, ist letzte Woche von einem anderen Anbieter gekauft worden. Ja, Amazon hat letzte Woche einen Marktplatz für Daten in Betrieb genommen, wo man wirklich Datenpakete kaufen kann. Von was habe ich gesehen? Für 90000 Dollar im Jahr kriegst du Zugriff auf alle Besucher, die bei Foursquare bei McDonald's einchecken. Und da kannst du dann Analysen drauf machen auf diesen Datensatz, um weitere Erkenntnisse daraus zu ziehen. Oder von Konzertbesuchern in ganz Europa gibt es einen Datensatz.

Jeder, der eine Konzertkarten gekauft hat, ist natürlich anonymisiert. Aber kannst du halt gucken, wie sind da Dynamiken? Jemand, der auf ein Konzert von Band A geht, geht zu einer gewissen Wahrscheinlichkeit auch zu Band B CD und daraus lässt sich dann erkennen, wie die vielleicht aktuelle Musik Trends für Werbung genutzt werden können oder so.. Wir sind jetzt schon so ein bisschen bei den Technologien angekommen, die Entwickler einsetzen werden. Die Skills haben wir ja jetzt genannt.

Also Debugging Kenntnis von. Netzwerken, Internet, Datenbanken, SQL finde ich auch einen ganz zentralen Wert Zentrale Sprache, die man in jedem Fall beherrschen sollte, nicht vielleicht nicht nur als der Entwickler, sondern auch als Freund und Entwickler, weil man immer wieder damit in Kontakt kommt. Welche Technologien ganz konkret setzenden Faulstich Entwickler ein? Ich habe schon Angst, dass ich da jetzt einen riesen Glaubenskrieg vom Zaun breche. Aber ich denke so auf unterster Ebene Betriebssysteme, also Linux, Mac, Windows.

Damit sollten Sie sich auf jeden Fall auskennen und du hast es eben schon gesagt ID auf der Kommandozeile sein.

Ja und ich tendenziell würde tendieren, ist auch mein Schwerpunkt. Mehr zu Linux, weil damit einfach mal weg. Persönlich habe ich auf dem Mac und serverseitig bei Kunden auf Linux Maschinen. Mit Windows hab ich persönlich ganz ganz wenig Berührungspunkte, da es bei mir ähnlich.

Also insofern für mich steht schon fest oder ich habe mich entschieden. Aber genau so kann man sich unter Windows arbeiten. Zumal Windows jetzt mit seinem Sattgesehen für Linux ein. Ich will nicht sofort eine Quartz nutzen, aber ich sage mal ein brauchbares Linux System. Aber nichtsdestotrotz musst du dich natürlich mit ihnen zusammen setzen. Der Schwerpunkt sehe ich eher Linux, weil gerade viele Server auf Linux laufen.

Linux Kenntnisse sind auch für jeden Entwickler vielleicht für Frontend braucht man es nicht so, aber für alle anderen Entwickler sollten sie auf jeden Fall unter Linux auskennen. Unter Windows glaube ich sollte man arbeiten können. Das ist ja auch nicht immer so. So einfach. Gerade wenn ich an die Leute denke, die viel mit Python arbeiten. Da gibt es auch IDEs für Python, die ganz gut sind unter Windows. Aber das mit diesen Paketen für Python und den unterschiedlichen Versionen Version 2, Version 3 und dann den jeweiligen Dependency ist das kann schon fummelig werden.

Dann der nächste Steeg. Wenn man mal so auf dem OS Layer aufsetzt ist diese ganze Wissens Welt um TCP IP was ist eine IP-Adresse? Was ist eine Subutex Maske? Wie sieht eine IP Adresse V4 aus? Wie sieht eine IP Adresse V6 aus? Was ist ein Port? Welche www dienste gibt es also hier? DNS http s ftp s Was ist eine secure Shell? Was macht die eigentlich? Ein bisschen HTML, CSS und JavaScript. Das kann jeder, der den Browser den Browser benutzt.

Der kann einfach auf 12 drücken und die Developer Tools aufmachen, um da rein zu gucken. Wie sieht das jetzt eigentlich unter der Haube aus? Dass man da so ein grundlegendes Verständnis hat, das würde ich auch voraussetzen. Scripting Bash bei Linux, Mac und Windows Subsystem für Linux. Diese neue Emulation ist es nicht, sondern es ist glaube ich wirklich, der Linux-Kernel ist so umgebaut worden, dass er glaube ich auf die Windows API, die Kommandos von den Linux Tools einfach durchreist und das funktioniert ganz gut.

Aber Bash Scripte sind ja allgegenwärtig oder eben in der Netzwelt oder auf der Win. In der Windows Welt wird auch viel mit PowerShell gemacht. Ich finde es ein bisschen umständlich mit PowerShell zu arbeiten mit diesen CMD LEDs, aber ich glaube das ist nur eine Gewohnheitssache. Ich arbeite halt 99 prozent mit Bio-Milch, da mein PowerShell Skript anpasse, dann bin ich einfach nicht so flüssig da drin. Also ich will nicht sagen, weil ich sie einfach nicht dahingehend kenne, dass ich sagen könnte, da ist das eine besser als das andere.

Welche Programmiersprachen setzenden der Entwickler ein ganz modernes JavaScript auf dem Server Helm Daviscup im Frontend, also auch im Backend einsetzen kann, wovon ich jetzt persönlich JavaScript im Backend Programmierung als völlig ungeeignet empfinde. Jeder der mal komplexere Software damit geschrieben hat oder schreiben musste und sich in dieser Hölle verloren hat, der weiß, was ich meine. Unabhängig von dem ganzen Objektorientierung oder Filmidee Unterstützung im Sinne von also dadurch, dass damals interpretierte Sprache ist, ist es natürlich sehr schwierig zu programmieren, wenn man größere Probleme oder komplexere Probleme damit lösen will.

Aber das ist absolut Ansichtssache. Jeder mag wie er will, aber ich will dabei Skripten und Java. Ich selber bin Java Programmierer und Python und sie schaut nicht das isoliert gängigsten.

Wahrscheinlich gibt es auch so moderne Sprachen wie Koppelin oder Scala, die dann in gewissen Bereichen eingesetzt werden. Aber das ist so Mainstream Programmiersprachen, mit dem man wahrscheinlich viel Web machen kann. Auf dem Server arbeiten und auch ein paar Tools entwickeln und deren Ökosysteme. Das sehe ich auch so. Dann ein ganz wichtiger Punkt den Fouls der Entwickler können oder eine Technologie, die sie einsetzen. Soll ich sagen, sollte ich besser sagen ist. Und jetzt werden mir viele entgegen springen.

Der Einsatz einer Idee, welche auch immer es ist, also die das Herz begehrt, da bekomme ich da Glaubenskriege mit. Die einen sagen IMAX reicht für alles oder Vim reicht für alles. Und die sind auch sehr schnell damit. Ich behaupte, wenn die Menschen, die sehr schnell sind, mit wem, sich auf eine neue Idee einlassen würden und versuchen würden, in dieser Idee so schnell zu werden oder da die ganzen Produktivitäts Hilfen zu nutzen, dann wären sie noch viel schneller.

Weil ist es so ja ich meine bei statisch typisierten Sprachen kriegst du eine Hilfe zu den Typen, wenn du es brauchst. Du siehst sofort, ohne dass du was liest, wo Probleme liegen oder wo man Fehler getippt hat. Du weißt nicht mehr, hieß die Methode Feind oder Feind, Fürst oder Feind oder Fixpunkt und er bietet dir alle Möglichkeiten an und und das ist nur das sind ja nur die Basis Sachen. Von den Refactoring will ich jetzt mal gar nicht anfangen.

Also wenn man eine Variable umbenennt oder eine Klasse umbenennen, dass er sofort erkennt okay, da muss ich die überall umbenennen und auch den, den die Code Dokumentation kann ich nachziehen und in den Test kann ich das nachziehen. Also das ist ja der Wahnsinn. Wenn man das nicht mit einer Idee macht und da wie gesagt welche Idee, dann lass ich ja auch gerne mit mir sprechen. Aber ich glaube man muss. Wenn man in einem Ökosystem entwickelt, sollte man sich die Idee dieses Ökosystems angucken und dann da entsprechend diese auch in Anspruch nehmen.

Und wenn es nur Microsoft Visual Studio Code ist, was ja frei verfügbar ist mit den entsprechenden Plugins für den eigenen Umgang für Code Versionierung auch eine ganz wichtige und zentrale Technologie, die jeder Entwickler beherrschen sollte. Da hat ja Git in den letzten Jahren allen anderen, das kann man glaube ich so sagen, das Wasser abgegraben. Also ganz alte Projekte nutzen noch Subversion vielleicht, aber im Grunde hat Gott alles verdrängt, sogar Microsoft benutzt. Der git für die Windows Quellcode Verwaltung auch.

Was ist ein Branch? Wie merke ich, dass die Marchen Release und grundlegende Kooperation mitgeht? Definitiv sollte man können. Musste auf jeden Fall Datenbanken SQL, das habe ich eben schon gesagt. Also die Abfrage Sprache für relationale Datenbanken sollte man auf jeden Fall beherrschen. Auch schadet es nicht, wenn man sich mal mit diesen Datenbanken beschäftigt hat. Also Maria de oder Masiar PostgreSQL Oracle, MS, SQL Server. Da gibt es ganz, ganz viele. Auch wichtig halte ich die Verwendung von APIs Masiar.

Das hat es ja eben auch schon angesprochen, also dieser Schnittstelle von Frontend und Backend für No SQL Datenbanken oder Document Store Datenbanken wie Mongo, DB oder Elastisches Search, wo du einfach ganze Jason Dokumente abspeichern kannst oder oder natürlich auch wieder rausbekommen kannst und danach suchen kannst oder nach verschiedenen Schlüsseln suchen kannst. Das ist ja. Seit fünf Jahren werden solche Systeme häufig genutzt und die Verwendung nimmt eher zu, weil man eben auf diese Datenbank Systeme genauso einfach zugreifen kann wie einfach auf ein Backend Point aus dem Frontend.

Ja dann würde ich auch sagen ein Faulstich Entwickler sollte sich grundlegend mit den Cloud Services auskennen. Also was ist Amazon Webservice? Welche Dienste werden angeboten? Wie verwendet man die? Oder auch von anderen Konkurrenten, also von der Google Cloud oder der Microsoft Cloud? Nicht jeden Dienst kann man da ausprobieren und kennen, weil da entwickelt sich da auch viel zu viel. Aber dass man grundlegendes Verständnis hat, wie funktioniert die Cloud und welche Services sind da verfügbar? Weil man das einfach braucht, um Entscheidungen zu treffen, möglichst effiziente Technologie zu verwenden.

Also zumindest mal die grundlegenden Dienste kennen. Also was ist die? Was ist mit 2. bei Amazon einfach nur die Basic Dienste, damit man versteht, wenn man sich über über den Betrieb der Software unterhält. Dass der Entwickler weiß auch worum es geht und und was die Vor und Nachteile gewisser Technologien sind. Auch hier klar, man kann sich in jedem Bereich so tief eintauchen, aber ich sage mal in ein zwei Gebieten nicht richtig Experten technisch auszukennen und in anderen Bereichen unter die Decke schauen können, was bedeuten, die einzelnen Begriffe einordnen können.

Damit fängt man ganz gut.

Ja genau. Und dann ist es ja auch so, wenn man diese Metasprache ich greife jetzt einfach noch mal SQL raus oder Rennen aus beherrscht und dann kommt eine neue Datenbank Technology heraus. Dann nutzt die sie ja häufig die bereits etablierten Sprach Standards oder Kommunikations Standards, so dass man da direkt aufsatteln kann und nicht alles von Null lernen muss, sondern nur so peu à peu diese neuen Technologien eben mit aufgreifen kann. Ich glaube die Container Technologie Docker kann man auch absolut dazuzählen als notwendige Technologie für Fouls der Entwickler, wenn man auf dem Notebook einfach schnell was installieren möchte.

Es gibt einen Docker Image. Man installiert sich nicht sein Notebook kaputt, indem man sich da irgendwelche Abhängigkeiten drauf schmeißt, die sein System beeinträchtigen, oder man möchte 3 4 Versionen einer Software Komponente nebeneinander ausprobieren. Dann kommt man um Docker kaum drum herum. Die die alte Version vor Docker würde ich sagen, ist die klassische virtuelle Maschine hier mit VirtualBox und Co, die man gestartet hat, um dann in der virtuellen Maschine irgendwas auszuprobieren oder an den Start zu bringen.

Das ist ja fast, wenn man so sagt auf dem lokalen Entwicklungs Rechner kann man fast sagen die Docker Container wirken fast wie virtuelle Maschinen. Mit dem Unterschied, dass man die dann auch direkt auf dem Server monitoren kann, wenn man die Konfiguration eben entsprechend einstellt.

Das sind die meiner Ansicht nach relevantesten Technologien für Fools der Entwickler. Und dann haben wir noch einen Softskills und zwar würde ich sagen, die Project Managementmethoden Kanban und Scrum, die ja allgegenwärtig von also ich glaube, ich hatte noch kein Projekt, was eine andere Methodik benutzt hat, dass man weiß, was Story Points sind, was ein Task ist, was eine Retro ist, was ein Sprint ist, dass man sich in diesem Kontext eben auskennt, einfach um das Vokabular drauf zu haben, sich in der Projektplanung unterhalten zu können oder zu wissen Was sind denn jetzt meine Aufgaben und was muss ich machen.

Das ist jetzt auch nicht Full Stack Entwickler spezifisch, sondern Backend Frontend und auch der Projektmanager. Die sollten da Bescheid wissen. Dann haben wir noch einen Punkt und zwar Weiterbildung. Wie bilden sich Faulstich Entwickler weiter?

Also ich selber bin bin Autodidakt, sprich ich gucke mir sehr gerne online Kurse an oder es gibt zum Beispiel aber Dienste Safari online. Das ist initiiert von O'Reilly, wo jetzt andere Publisher noch unter einem Dach quasi alle ihre Bücher publizieren und du bekommst den Betrag von 10 oder 20 Dollar im Monat. Also Zugang zu all den Büchern, wo du dich immer für ein spezifisches Problem nachschauen kannst, suchen kannst, aber auch einzelne Bücher durchlesen kannst. Und wenn du mal hochrechnen zu knapp 300 Dollar im Jahr in Fortbildungen und Zugriff auf so viele Bücher so viel Wissen finde ich gigantisch.

Dann habe ich glaube ich die Hälfte von allen Juden in Skillbyte gekauft.

Wahrscheinlich schon mehr, aber ich hatte ja keine Ahnung. Ich würde mich sehr gerne von wissen, was technologisch, wenn etwas rauskommt, nicht sofort Bescheid wissen, die zwar keinen Gebrauch gebrauchen, Pflanzenkunde gebrauchen muss, als Berater einfach mehr wissen als jeder andere im Raum. Das ist, das ist mein Credo und deswegen stört es mich natürlich auch auf die Schiene. Und auf Grund der Erfahrung kann ich das ein bisschen einschätzen. Mag das Zukunft, hat das in die Zukunft?

Kann ich das links liegen lassen? Ist vielleicht ein Hype. Und ja, guckt dann was ich für mein Berater Alltag im Artikel auch.

Wie kann ich diese neue Technologie einordnen, das bestehende Ökosystem zeigen? Das ist auch ganz wichtig. Sei also diese Online Lern Portale und Dimi und Lynda. Ich weiß nicht wie es dir geht, aber ich habe fast den Eindruck, dass wenn man da so einen Kurs macht, also 4, 5, 6 Stunden, je nachdem. Es gibt auch teilweise über 15 stündige Kurse. Das ist fast effektiver, als wenn man ein Buch zu dem Thema liest.

Es ergänzt sich also der eine ist überraschend visuell, aber der andere braucht eine Anleitung. Man liest davon wieder und und kurz andere keine Ahnung. Also es gibt ganz unterschiedliche Lerntypen, jeder kommen des anderen zurecht. Ich habe die Erfahrung gemacht für mich am besten in Büchern, Videos. Das ergänzt sich bei mir super gut und zum Beispiel bei Präsenz. Schulungen hab ich jetzt persönlich nicht so viel von ich habe schon einmal im Leben das gemacht, ganz am Anfang meiner Karriere.

Und es ist halt immer so, dass die Leute mit unterschiedlichen Skills im Kurs erkennen. Entweder Helm erhalten die langsamen, die schnellen Autos, die schnellen gegenüberstehende gelangweilt und schalten ab oder es geht zu schnell hinten vorne die Langsamen ab. Das finde ich super schwierig Narayen einzubauen und ich persönlich habe da nichts vor.

Ja, dann könnte man den Kurs wahrscheinlich fast auch aufzeichnen und die Fragen dann per E-Mail später stellen oder so was dann.

Oder Webinar oder was auch immer.

Also bei mir ist es so Ich merke, dass ich, wenn ich konkret zu einer Technologie wissen möchte, wie setze ich die ein mit Beispielen? Dann finde ich so ein Online Video Kurs von Judith mir super und wenn ich eher konzeptuell verstehen möchte zu einem Thema, also wie design ich Anwendungen, Ausfallsicherheit, die mit großen Datenmengen umgehen müssen oder so. Also das ist ja schon so ein Thema, dann lese ich lieber ein Buch, weil das sinkt bei mir dann einfach besser ab, oder das verstehe ich dann besser, aber das ist auch meine persönliche Präferenz.

Aber halten wir mal fest, die Online Portale sind auf jeden Fall auf dem Format. Und meiner Ansicht nach kann man sich auch superschnell draufschlagen zu einzelnen Themen innerhalb weniger Stunden mehr.

Weißt du, was das Schöne ist? Du kriegst die Kohle zum Beispiel, um den Krieg zu führen. Die haben permanent irgendwelche Promotions kriegst du für 10 Dollar oder so. Ich liebe zum Beispiel Linux erkennen. Das ist speziell für ein Online-Portal. Da habe ich 297 Dollar bezahlt man ein ganzes Jahr Zugriff auf alle Kurse, alle alten, alle neu erscheinenden. Du kriegst so viel Wert für ein paar Euro. Ich muss nicht immer zu meinem meinem Chef laufen sagen Bitte, bitte kannst du mir eine Schulung bezahlen?

Dieses Jahr fast 3000 Euro kostet und meines Erachtens nicht so viel bringen. Nimm das Geld selber in die Hand. Die paar Euro investiert in euch und wartet nicht darauf, bis eine Firma einen Chef in euch investiert.

Das geht doch einfach schneller. Viele Leute gehen auch auf Messen oder Fachvorträge. Ja, da habe ich eher so das Gefühl, da passiert das, was du eben angesprochen hast, sehr unterschiedliche Kenntnisse stände. Die einen kommen mit total spezifischen Fachfragen, die anderen haben hören von dem Thema zum Ersten Mal und und wollen eher so auf der Meta-Ebene wissen. Wofür ist denn das gut? Und finde ich auch toll wegen der Leute, die man trifft und mit denen man sich unterhalten kann.

Aber fachlich würde ich auch sagen, nimmt man da nicht so viel mit.

Würde ich auch so sehen. Also Netzwerken.

Ich bin häufig auf Meet ups, also einfach bei Mitarbeitern kommen kann jeder in seiner Stadt weltweit gucken. Welche Meetups gibt es denn in meiner Stadt und wo werden die ausgerichtet? Und welche Themen interessieren mich denn? Da kann ich hingehen. Das ist in den allermeisten Fällen sogar kostenlos. Also Firmen bieten das einfach an. Abends nach Feierabend sind einige engagierte Leute organisieren das dann und dann gibt es verschiedene Themenschwerpunkte für Tech Themen, aber auch alles andere im Grunde genommen. Ich such mir dann natürlich die Themen raus, aber das ist auch eher werthaltige, würde ich fast noch sagen, als messen, weil man eben Leute kennenlernt, die sich für das Thema interessieren, die auch geografisch sehr nah wohnen oder mit denen man sofort dann Anknüpfungspunkte hat und sich weiter austauschen kann.

Hackathons habe ich früher viele teilgenommen, da fehlt mir aber ehrlich gesagt in letzter Zeit die Zeit, so ein ganzes Wochenende oder der 48 Stunden lang ohne Schlafen an einem Projekt zu arbeiten. Das kann ich in meiner aktuellen Lebensplanung einfach nicht so gut abbilden. Aber es ist auch eine tolle Erfahrung und man wird sehr schnell lernt man Dinge umzusetzen und hat sehr schnell ein Team, was man auch kennt und mit denen man Mit einigen Leuten habe ich heute noch Kontakte eben ursprünglich auf Hackathons kennengelernt.

Habe natürlich ein ganz ganz wichtige Weiterbildungs Methode für alle Faulstich Entwickler sind Podcasts wie dieser hier zum Beispiel. Genau. Was können wir denn als Skillbyte unseren Kunden anbieten im Bereich Full Stack Development?

Ja, wir haben ja selber, welchen Zweck Entwickler im Haus wie aktuell alle möglichen größeren Kunden unterstützen. Und wir legen sehr viel Wert darauf, dass das sich wirklich bedeutet. Sprich auch hier gibt es natürlich einen Schwerpunkt. Helm ist im Allgemeinen möchte das, dass man in den ein oder mindestens zwei Experte ist, dass man sich in diesen Dingen gut auskennt. Und dann versuchen wir aber das, was drum herum benötigt wird. Also nehmen wir mal an, dieses Thema auf der Shell sich auskennen oder sich mit Kubernetes auskennen.

Und da veranstalten wir regelmäßig eigene Schulungen für für die Kollegen und Kolleginnen, um sie in diesen Bereichen weiterzubilden. Man kann auch wirklich nicht sagen, man ist jetzt 50 Entwickler. Es geht immer weiter, entwickelt sich immer, immer, immer weiter. Das heißt, man hat niemals ein Ziel erreicht, sondern alle, die Basketball arbeiten, verstehen, dass die Ausbildung immer weitergeht. Man ist nie fertig und da legen wir ganz besonderen Wert drauf. Und ich glaube, ich hatte oder hat noch nie was von diesem Berater blabla gehalten.

Ich bin in meinen Beratungen sehr ehrlich, sehr direkt. Sage auch mal, wenn irgendwas keinen Sinn macht für den Kunden, auch wenn ich dann in dem Fall das Projekt nicht kriege. Aber ich weiß, dass er mit einem guten Gefühl nach Hause gehen wird. Hey, Jungs haben uns geholfen, die haben uns bewahrt vor irgendwas. Und wenn wir das nächste Mal irgendwas brauchen, dann kommen sie, weil sie Vertrauen gewonnen haben. Ich hatte mal ein Projekt Auftrag, das wir mindestens ein halbes Jahr gegeben.

Ich bin dabei aber einen Tag das Projekt gestoppt, weil ich gesehen habe, was da für mich im Chaos herrscht und habe gesagt Leute, es macht keinen Sinn, ihr verbrennt hier nur Geld, stoppt, geht Nummer in euch jetzt das noch mal neu auf, auch wenn ich in dem Moment nicht selber darauf geklickt hat. Aber das war es mir wert, weil ich weiß, der Kunde kommt irgendwann zu mir und fragt nach.

Manchmal muss man sich den eigenen Ast absägen, aber Arbeit gibt es ja genug. Von daher mach ich auch auf jeden Fall lieber in sinnvolle Dinge. Die Leuten wirklich helfen oder die Kunden wirklich helfen? Es ist ja bei uns auch häufig so, dass wir, wenn wir von außen kommen, erst mal so eine Art Projekt Anamnese machen. Wir haben noch unseren unverstellten Blick und können dann sagen Oh, guck mal hier, guck mal da. Da kann man vielleicht noch was optimieren oder auch Es läuft schon super.

Total klasse freue ich mich immer. Und unsere Kunden sind ja meistens Großkonzerne, die sehr komplexe System Infrastrukturen haben und auch sehr komplexe Problemstellungen. Es ist ja nicht so Tool A läuft nicht, sondern in Kombination mit Cerberus und dieser Cluster Technologie und dieser US-Version und dieser Java Version und diesen allen Anforderungen haben wir folgendes Problem der Skalierbarkeit oder sowas. Das ist ja schon hochgradig individuell und da macht es natürlich Sinn, dass wir als Faulstich Experten dann da ein Gesamtbild haben und dann auch flexibel einsetzbar sind, wenn man von vornherein gar nicht so genau weiß.

Okay, wo liegt denn jetzt das eigentliche Problem?

Manchmal ja richtig.

Manchmal ist es eine Datenbank Geschichte, wo man dann Knoten auflösen kann. Also teilweise ist es ja nur eine Einstellung, die dann schon Besserung bringt. Einmal habe ich eine Software von Java 6 auf Java 8 migriert und hab ich glaube ich habe ungefähr eine Woche daran gearbeitet und hatte einen Performance Vorteil von 30 prozent hinterher, einfach nur durch die Umstellung auf eine modernere Runtime. Genau und die damit einhergehenden Verbesserungen. Ich habe auch ein paar Libraries dann aktualisiert, das sie dann eben mit Java 8 funktionierten.

Okay. Und das war dann ein toller Erfolg, weil ich glaube die die das ganze Projekt war projektiert für drei Monate, aber ich habe dann das sozusagen relativ schnell hinbekommen, habe dann aber die Zeit dann eben in andere Problemfelder dieser Anwendung investieren können, um da weitere Verbesserungen oder sogar Funktions Erweiterungen dann vornehmen zu können. Das ist auf jeden Fall ein Vorteil und ich sehe das so wie du. Also ehrlich zum Kunden sein, offen kommunizieren auch mal, wenn es unangenehme Wahrheiten sind und dann gemeinsam eine Lösung entwickeln.

Weil ich glaube, wenn man keine offene Fehlerkultur hat oder das nicht so anspricht, dann werden wir auch unserem eigenen Anspruch nicht gerecht und können unsere Kunden nicht so gut unterstützen, wie wir das eigentlich können. Und wir versuchen ja schon immer, die Potenziale dann eben auszuschöpfen, die wir dann auch erkennen. Ja, super, das war jetzt ja pure Wissensvermittlung sozusagen. Und wenn unsere Zuhörer Fragen haben und ich bin sicher, da gibt es einige, dann gerne eine E-Mail schicken an Podcasts skillbyte wenn euch der Inhalt gefallen hat, gerne einen Daumen hoch geben oder den Podcast abonnieren.

Wir strengen uns sehr an, weiter wertvollen Inhalt zu liefern und ihr könnt bei uns im Skillbyte Blog vorbeischauen auf www. Skillbyte slash Blog sehr einfach. Ich danke dir Masiar von Herzen für dieses diese tolle Podcast Episode.

Sehr gerne.

Alles klar. Dann bis zum nächsten Mal.

Schau mal komatös.