Kategorien-Archiv Bildung

VonHickyGreen

Das hat mich zum programmieren gebracht…

Es brauch gründe um etwas zu tun, mein Grund war einfach aber auch irgendwie vielschichtig

Ich spiele seit meiner Jugend Spiele an technischen Geräten, sei es Gameboy, Playstation, Super Nintendo, Nintendo 64 oder Sega. Ich mag Spiele die mich fordern nachzudenken aber auch Spiele die einen dazu bringen mal Ziele zu verfolgen. Ich will es nicht zu leicht haben aber natürlich auch kreativ abgeholt werden.

Es ist mir oft passiert das ich stundenlang in ein Spiel versunken bin, es gab auch auch mal Phasen, da gab es für mich keine schönen Spiele oder anders gesagt ich hab sie einfach nicht gefunden oder die Möglichkeit gehabt interessante Spiele zu Spielen.

Ja meine Eltern haben versucht vieles möglich zu machen, obwohl es finanziell nie einfach war, ich hab einige Konsolen gehabt über die Jahre aber immer relativ ausgewählte Spiele dafür. Ich habe einen Gameboy gehabt, sogar recht früh aber einen PC hatte ich erst 1999 im Haushalt und das war nicht meiner, ich konnte nicht einfach am PC sitzen und zocken wie es beim Gameboy der Fall war.

Ich hab das Glück das mein Vater auch gerne mal am PC spielen wollte und so kam ich ab und an, auch mit PC-Spiele in Berührung, gerade Strategie und Organisation von Dingen war meistens das was mein Vater kaufte, das war dann auch das wo mit ich aufwuchs.

Ich war 2009 dann an dem Punkt das ich Wirtschaftsinformatik studiert habe, nach dem ich gehadert habe in meinen gelernten Beruf zurück zukehren. Ein Grund für die Wirtschaftsinformatik war damals das ich mich für die Gamesbranche interessiert habe. Ich wollte verstehen wie das alles Zusammenhängt und auch das Programmieren hat mich fasziniert aber ich empfand das Studium als Schwer, da es meinen Schwerpunkt der Begeisterung nicht ganz traf und dazu auch gefüllt war mit Inhalt der mich bis heute nicht positiv über das Studium denken lässt.

Ich lernte im Studium die Sprache C kennen, einen wirklichen Grund hat man nie genannt, nur das man als Bindeglied zwischen Wirtschaft und Informatik verstehen sollte was die Informatik da so macht. Das hätte man aber mit jeder anderen Sprache genauso zeigen können. Viele Sprachen basieren auf C oder haben sie als Vorbild oder als abschreckendes Beispiel aber sofern man nicht wirklich extrem Hardware nah programmiert ist C eine Möglichkeit(besser find ich da aber C++) um mit Atombomben auf Spatzen zu schießen. Das und andere merkwürdige Entscheidungen der Fachhochschule hat viele von uns damals das Studium extrem erschwert und das leider ohne Grund. Ich arbeite nun schon einige Jahre und interessiere mich für viele Felder aber ein wirklicher C-Programmierer ist mir nur einmal über den Weg gelaufen und der hat die Sprache für seine privaten Hobbys benutzt.

Ich brach das Studium dann leider wegen einiger Gründe am Anfang des dritten Semesters ab, ein Grund war auch die C Problematik. Es irritiert mich bis heute das man eine Branche die seit Jahrzehnter nach Arbeitnehmern bettelt so praxisfern ausbildet.

Ich studierte dann Betriebswirtschaft, war aber nie ganz weg aus der Informatik und beschäftigte mich phasenweise immer wieder mit der Programmierung, auch mit Themen die höherrangig gesehen werden sollten. Ich bin bis heute der Meinung das programmieren sehr wichtig ist aber gerade mit dem auf schwappen der AI/KI-Welle zeigt sich, das es sehr wichtig ist zu verstehen warum etwas gemacht wird und die Softwareentwicklung ehr im Vordergrund rücken muss und nicht die reine Fähigkeit code lesen zu können. Es ist schön das jemand versteht, das es eine Schleife ist die dort angewendet wird aber warum man diese dort wählt ist viel wichtiger.

Ich habe schon einige Firmen gesprochen, mein Grund für die Informatik ist das entwickeln von eigenen Spielen, das heißt nicht das ich anderen Branchen im Informatikumfeld nichts abgewinnen kann, viele Personaler drehen mit den Augen wenn sie das als Grund hören aber was will ich Lügen, ich bin nicht wegen WordPress und PHP an der Informatik interessiert, sondern weil ich Dinge erschaffen möchte.

Ich bin kein Entwickler geworden weil es mir so unfassbar Spaß macht im Support zu arbeiten oder Internetseiten stumpf immer wieder mit den simpelsten Mechaniken runter zu tippen. Ich mach das auch mal und bin gerne bereit solche Aufträge entgegenzunehmen aber das sind nicht die Aufträge die mich in die Informatik getrieben haben.

Ich entwickle seit 2020 Spiele für mich und meine Familie, immer mal wieder kleine Spiele. Meine Kinder finden Sie toll, ich merke wie ich jedes mal mit Begeisterung dabei bin wenn ich darüber nachdenke oder mitten dabei bin.

Ich will mich daher nebenberuflich selbstständig machen um meine eigenen kleinen Spiele zu entwickeln, nicht im Vollerwerb, gerne aber auch mit Leuten die Bock haben. Ich sehe nicht das ich den nächsten großen Hit programmiere und Millionen verdiene, es wäre schon cool wenn ich kostendeckend arbeiten könnte neben meinem Haupterwerb. Ich will endlich das machen was mich in diese Branche gebracht hat und vielleicht eine Inspiration für Leute sein die jetzt gerade die Faszination an Computerspiele für die verschiedensten Plattformen entwickeln, vielleicht sogar meine eigenen Kinder.

VonHickyGreen

OSI Modell von ISO

Ohje … dieses Modell, es begleitet mich seit Monaten und es fühlt sich an wie ein Dschungel von theoretischem Wissen.

Es gibt auf dem ersten Blick eigentlich nicht so viel über das Open Systems Interconnection(kurz: OSI)-Modell zu erzählen, doch ist dieses Modell für Netzwerkprotokolle als Schichtenarchitektur schon extrem wichtig und es hängt Rattenschwanzartig mit so vielen komplexen Themen zusammen die in der Ausbildung zum Fachinformatiker wichtig sind, das ich doch schon sehr tief abtauchen kann.

1. Bitübertragungsschicht

Diese Ebene wird auch Physical Layer im englischen genannt, wodurch sich zusammen mit dem deutschen Namen schon erahnen lässt, für was diese Schicht zuständig ist.

Sie ist zuständig für die physische Übertragung von der kleinsten Einheit im Modell, den Bits. Es werden hier Kabel benutzt oder auch Bits über Wireless Lan also über Antenne übertragen.

Dieser Layer kommt mit dem Ethernet Protokoll aber auch mit dem RS-232 und dem IEEE802.11 Protokoll in Berührung.

2. Sicherungsschicht

Die Sicherungsschicht ist auch als Data-Link-Layer im englischen bekannt und beide Begriffe sowohl der deutsche als auch der englische, ergänzen sich zur Erklärung ganz gut.

Auf dieser Ebene wird geklärt wie der vollständige Datenpaket, in dieser Ebene „Frame“ genannt, vollständig und fehlerfrei beim korrekten Empfänger ankommen um dies zu gewährleisten werden dem Frame physikalische Adressen mitgegeben. Die Schicht ist in zwei Unterschichten geteilt, einmal die MAC-Schicht und einmal die LLC Schicht.

Brigde und Switche arbeiten als Hardwaregeräte in dieser Schicht, sowie auch Wireless Access Points.

Protokolle wie CSMA/CD aber auch ARP arbeiten in Schicht zwei.

2a – MAC-Schicht

Diese Schicht, auch Media Access Control(MAC)-Schicht genannt, vergibt eine Hardware-Adresse(MAC-adresse), durch das Protokoll IEEE802.1 und das völlig nebensächlich von der Übertragungsform Wlan(IEEE802.11) Ethernet (IEEE802.3) oder Bluetooth (IEEE 802.15).

Jede MAC-Adresse ist vom Hersteller konfiguriert und lässt sich vom Anwender nicht ändern In jedem Frame (Datenpaket) befinden sich die MAC-Adressen von Sender (Quelle) und Empfänger (Ziel).

Wenn der Frame am (vermeintlichen) Ziel angekommen ist, vergleicht die Empfangseinheit der empfangenden Station die MAC-Zieladresse mit der eigenen MAC-Adresse.

2b – LLC-Schicht

Die Logical-Link-Control-Schicht arbeitet eng mit der MAC-Schicht zusammen, sie ist hauptsächlich für die Steuerung und Verwaltung der Datenübertragung zwischen verschiedenen Netzwerkgeräten verantwortlich.

3. Vermittlungsschicht

In der dritten Schicht hilft uns die englische Übersetzung wieder weiter, weil Sie uns mit „Network-layer“ zusätzliche Anhaltspunkte auf den Tätigkeitsbereich gibt.

Es wird auf dieser Schicht möglich gemacht das Daten über Netzwerkgrenzen zum korrekten Empfänger kommen, das heißt ab der Schicht drei können Daten dein Heimnetzwerk verlassen und mit anderen kommunizieren.

Wenn man von den übermittelten Daten spricht, spricht man in dieser Schicht von Paketen, diese enthalten neben den Daten aus der Schicht ein und zwei auch noch logische Adressen.

Waren es in der zweiten Schicht nicht noch physische Adressen? Ja genau aber zu diesen gesellen sich jetzt die logischen Adressen, diese werden durch das IP-Protokoll erzeugt und sind dir bestimmt schon bekannt unter dem Namen „IP-Adressen“.

IP-Adressen

IP-Adressen sind die Adressen die das logische Ziel ausweisen, davon gibt es eine „alte“ Version, das ist die IPv4, da diese aber mit Ihren knapp 4 Milliarden Stück nicht ausreichend sind gibt es eine neue Version die seit einigen Jahren nach und nach ausgerollt wird, die IPv6.

4. Transportschicht

Jetzt haben für ja schon eine ganz schön große Menge Daten bis hier hin angesammelt, diese vierte Schicht sorgt jetzt dafür das diese große Menge an Daten vollständig und wenn nötig in korrekter Reihenfolge beim richtigen Bereich(Dienst) des angesprochen Systems(Empfängers) ankommt und das ganze durch Ports von Ende-zu-Ende-verschlüsselt ist.

Ports

Ports sind je nach dem was du ansprechen möchtest, die Tür zum entsprechenden Dienst. Port 80 spricht Http an, auch wenn http erst in Layer 5,6 und 7 zu finden ist (SPOILER😅), ohne dem du das hier gar nicht lesen könntest, wobei ich meinen Blog auf https laufen lasse, das wäre der Port 443 und selbst wenn du versuchst meine Seite über Http zu öffnen wird es immer eine Umleitung auf das Https Protokoll geben, weil es einfach sicherer ist. Es gibt aber viele wichtige Ports die man sich merken sollte gerade einige die unter den Well-Known-Ports(die ersten 1024) befinden.

TCP vs. UDP

Diese Schicht teilt sich jetzt wie Schicht 2 in zwei Bereiche, einmal in den Bereich TCP und dann in den Bereich UDP, sofern man von den versendeten Datenmengen innerhalb von TCP spricht, spricht man von Segmenten. Wenn man von Datenmengen innerhalb der UDP-Schicht spricht, dann spricht man von Datagrammen.

Meiner Kenntnis nach benutzt man UDP wenn man schnell Daten von A nach B verschicken muss und es dabei „nicht ganz so wichtig“ ist ob mal ein paar Datagramme unvollständig oder nicht in der richtigen Reihenfolge ankommen, z.b. beim Telefonieren über VoIP oder beim Streamen von Datenpaketen(Datagrammen).

In den anderen Fällen weicht man ehr auf das TCP-Protokoll aus und leitet dadurch die Datenmengen(Segmente) vollständig und in korrekter Reihenfolge zum richtigen Dienst des Empfängers.

5. Sitzungsschicht

Die fünfte Schicht, auch Sessionlayer genannt, ist nicht die Sitzung die du kennst wenn du eine Internetseite für eine Zeit lang besuchst. Diese Sitzungsschicht regelt die dauerhafte Kommunikation von Netzwerkteilnehmern aus unterschiedlichen Anfragen und Antworten zb Wenn der Warenkorb die Daten enthält die du vorher im Shop ausgewählt hast, mit der Anzahl und der Größe. Die Schicht ist für mich persönlich die abstrakteste Schicht und am schwierigsten zu visualisieren.

Es wird, neben den Protokollen die auch die Schicht 7 betreffen, das Protokoll RPC hier auf der Schicht ausgeführt, dass das Client-Server-Modell integriert und Aufgaben von Programmen erledigt, die in Clients und Server unterteilt werden.

6. Darstellungsschicht

Der Presentationlayer sorgt dafür das die Daten eine Syntax bekommen oder ein Encoding erhalten, sofern eines benötigt wird oder eine Verschlüsselung der Daten stattfindet oder auch diese komprimiert werden, sollte dies nötig sein. Ja, seit der Schicht 5, heißen die Datenmengen im übrigen einfach nur noch Daten, das bleibt auch bei Schicht 7 der Fall.

ASN.1 ist auf dieser Schicht zusammen mit den Protokollen von Schicht 7(die auch teilweise auf Schicht 6 und 5 wirken) genauso wie die Hardware die auf diese Schicht arbeitet.

ASN.1

Angenommen, wir haben ein Netzwerkprotokoll für den Austausch von Benutzerinformationen zwischen einem Server und einem Client. Die Informationen könnten den Benutzernamen, die E-Mail-Adresse und das Geburtsdatum eines Benutzers enthalten. Diese Informationen müssen in einer standardisierten Weise übertragen werden, unabhängig von den spezifischen Datenformaten auf Server- und Clientseite.

Hier kommt ASN.1 ins Spiel. Mit ASN.1 können wir die Struktur dieser Informationen definieren:

UserInformation ::= SEQUENCE {
username UTF8String,
email IA5String,
birthdate GeneralizedTime
}

In diesem Beispiel wird festgelegt welche Benutzerinformationen zu welche Datentyp passen vom Protokoll ASN.1

7. Anwendungsschicht

Der Applikationlayer hat nun alle Daten der unteren Schichten und sorgt dafür das die Semantik der Daten hinzukommt, also ist 39104 eine Postleitzahl oder eine Telefonnummer oder der Umfang in Millimeter von meinem rechten Bein und ob diese Daten anwendungsspezifische Daten und Befehle ein und ausgegeben werden.

Die wichtigsten Protokolle die ich hier nennen kann sind HTTP, FTP, SMTP, POP3-Protokolle. Die Hardware die hier aber auch in der Schicht 5 und 6 genutzt wird sind Gateway(dein Router), Loadbalancer, Proxy und Firewall.

VonHickyGreen

Wo geht es lang?

Du stehst morgens auf, wissend die Arbeit wartet auf dich… du hast keine Lust … nächste Tag, nächste Woche, nächster Monat… das Gefühl bleibt! Du hast keine Ahnung, irgendwie fühlt es sich nicht mehr richtig an, jeder Grund die Arbeit mit Motivation auszuüben verfliegt aber warum?

Die einen reden von „Burnout“, wobei es das ganz und gar nicht ist, die anderen von „die schnauze voll“, der nächste sagt „das Spiel ist durchgespielt“. Es ist oft nicht der Betrieb schuld daran, es sind auch nicht die Kollegen die einen Nerven. Es ist die Tätigkeit die man macht, die sich nicht mehr nützlich und zufriedenstellend anfühlt.

Wenn der Beruf nur ein Hamsterrad

ohne Funktion und Nutzen ist!

So ging es mir, ich wusste nicht wohin mit sich, irgendwie fühlt es nicht nicht richtig an, weiter zu machen. Irgendwie hatte ich das Gefühl andere würden das besser machen, mit mehr Eifer dabei sein und die anderen können sich noch neu erfinden in dem was sie tun.

Ich stand still, geriet ins Zweifeln, hadert mit jeder Veränderung aber auch mit dem Ist-Zustand, ich wollte das so nicht mehr, aber was genau wollte ich denn?

Das Hamsterrad demontieren?!

Hier kommt meine Familie ins Spiel, ich bin Vater und Ehemann. Ich bin ein Facharbeiter für eine bestimmte Tätigkeit aber ist diese Tätigkeit noch mit meinem privat Leben vereinbar?Ist diese Tätigkeit das was ich JETZT noch Jahrzehnte machen möchte, ist diese Tätigkeit verbunden mit persönlichen Zielen(Weiterbildung, Aufstiegschancen eca)? Ist diese Tätigkeit ausreichend um sein Leben damit zu finanzieren. Macht diese Tätigkeit mich glücklich? Ist diese Tätigkeit nicht besser aufgehoben bei jemanden der die Fragen mit Ja beantworten kann?

Ich konnte viele dieser Fragen nicht mehr klar und deutlich beantworten, dabei rutschte mir im Gedanke schon oftmals ein Nein bei einigen Fragen über meine Stirn und ich glaube das ist das Zeichen um es auch mal laut auszusprechen.

Ich war nicht mehr glücklich damit!

Ich verließ die Strukturen die ich mir erarbeitet hatte und versuchte einen Plan zu finden, ein Ziel zu finden ein Weg zu finden … ich arbeitete in verschiedenen Branchen, die aber doch alle eines gemeinsam hatten, das es mir keinen Spaß machte. Ich wusste lange nur was ich nicht wollte aber nicht was ich wirklich wollte, doch wie krieg ich raus was ich will?

Informatik

Ich habe in den 20 Jahren schon so einiges ausprobiert, der eine ist vielleicht erschrocken wie unbeständig das klingt aber ich kann mit Sicherheit jetzt sagen was ich nicht will aber das ist eine andere Geschichte.

Ich bin jedoch dadurch immer wieder wieder an den selben Punkt rausgekommen, wenn ich kann beschäftige ich mich mit technischen Begebenheiten, völlig egal was es ist solange es technisch Interessant klingt bin ich dabei aber wo liegt da jetzt der zusammenhängende Grund?

Informatik! – Es ist die Informatik die mich begeistert, auf die ich zurückgreife wenn ich Langeweile habe. Das Thema über das ich reden kann und vor allem auch will, stunden lang, das was mich beschäftigt wenn ich nicht Vater und Ehemann bin!

Es gibt so viele Bereiche, so viele Gründe warum Informatik einfach nicht langweilig für mich wird!

Diese Gründe sind so verschieden wie sie eigentlich nur sein können, wenn man für eine Sache brennt um es auch beruflich ausüben zu wollen!

  • Logik
  • Verständnis
  • Vielseitigkeit
  • Kontrolle
  • breit aufgestellt
  • tief aufgestellt
  • zukunftssicher
  • informativ
  • gut bezahlt
  • gebraucht werden
  • Wissen anwenden
  • Wissen erweitern können
  • anderen helfen
  • Verstanden werden
  • nicht Verstanden werden (Ja, auch das ist cool)
  • Anwendbarkeit auf vielen anderen Gebieten
  • problemlösungsorientiert
  • Möglichkeiten
  • und vieles mehr
  • verschiedene Wege an das Ziel zu kommen

Ich habe mich daher vor Jahren entschieden im Bereich der Informatik zu arbeiten, einer der ersten beruflichen Schritte war der Versuch Informatik zu studieren, schwer wenn man wenig Ahnung hat und finanziell nicht unbesorgt ist. Es hat mich daher in die Ausbildung zum Informatiker getrieben, finanziell erstmal abgesichert beruflich fundiert Kenntnisse aufbauen.

Ausbildung ?

Ja, ich wollte eine Ausbildung die mich zum Fachinformatiker ausbildet aber wer stellt jemanden ein der Bock hat aber vielleicht nicht die idealsten Alterswerte und Abiturnoten mitbringt, in einer Stadt die technisch gesehen 20 Jahre hinterher hingt? Ich setze auf Praxis, diese zubekommen ist allerdings gar nicht so einfach, gerade weil es so viele Möglichkeiten und Wege gibt, hat man das Gefühl sich oft zu verrennen, wenn einem niemand zur Seite steht der einen „sicheren“ Weg gibt!

Ich entschied mich dann eine Weiterbildung zu machen, offiziell ist das eine Umschulung aber man vergisst ja nicht was man vorher gemacht hat, sondern man verbindet seine Erfahrungen mit dem neuen Wissen und bildet sich weiter, deshalb spreche und schreibe ich meistens ganz unbedarft von einer Weiterbildung zum Fachinformatiker für Anwendungsentwicklung!

Hier steh ich nun!

Jetzt ein Jahr nach Beginn der verkürzten 2 jährigen(eigentlich sind es drei Jahre) Ausbildung und Jahren an Erfahrungen in der Informatik steh ich nun hier, wenige Wochen vor der ersten Prüfung und versuche mir soviel Wissen wie es mir möglich ist sinnvoll anzueignen um meine Umschulung Weiterbildung so gut es eben geht abzuschließen!

Die Zeit ist sehr, sehr schnell am fliegen auch wenn vieles nicht so läuft wie ich es mir vorstelle, weiß ich das Ziel ist das richtige!