IT-Berufe-Podcast

IT-Berufe-Podcast

Download on the App Store

IT-Berufe-Podcast episodes

  • Bewerbungstipps und Recruiting-Prozess mit Personalvermittlerin Vanessa Stammnitz – IT-Berufe-Podcast #152
    Viele konkrete Bewerbungstipps und Infos über den Bewerbungsprozess in Unternehmen von Personalvermittlerin Vanessa Stammnitz gibt es in der einhundertzweiundfünfzigsten Episode des IT-Berufe-Podcasts.
    TL;DR
    Für deinen Berufseinstieg nach der IT-Ausbildung habe ich mit Personalberaterin Vanessa Stammnitz über die Jobsuche gesprochen. Bewirb dich etwa sechs Monate vor deinem gewünschten Start und zeige mit einer Projektliste, was du bereits gemacht hast. Auch wenn dir einzelne gefragte Technologien fehlen, kannst du dich auf eine passende Stelle bewerben; im Gespräch zählen ebenso deine Lernbereitschaft und wie du ins Team passt. Eine Personalberatung kann dich beim gesamten Prozess begleiten und vorab Fragen zum Gehalt klären, wobei Vanessas Beratung für dich als Bewerber:in kostenlos ist.
    Kapitelmarken
    [00:00:00] Bewerbung und Jobsuche nach der IT-Ausbildung
    [00:01:39] Vanessa Stammnitz und ihre Personalberatung
    [00:02:43] SAP und Industrie 4.0
    [00:04:43] Offene Stellen besetzen und Start-ups begleiten
    [00:07:35] Bewerber:innenmarkt und Arbeitsumfeld
    [00:08:44] Großraumbüros und wechselnde Schreibtische
    [00:11:37] Vanessas Weg in die Personalberatung
    [00:14:48] Alltag und gezielte Suche nach Bewerber:innen
    [00:16:20] Private Daten und problematische Inhalte im Internet
    [00:19:22] Fähigkeiten im Lebenslauf und im Portfolio zeigen
    [00:21:03] Brauchst du eine eigene Onlinepräsenz?
    [00:24:45] Der erste Kontakt mit einer Personalberatung
    [00:25:30] Berufliche Ziele und passende Stellen klären
    [00:29:08] Kosten und Hilfe bei Fragen zum Gehalt
    [00:31:43] Stellen vorschlagen und Wunscharbeitgeber hinterfragen
    [00:34:36] Unbekannte Unternehmen und passende Teams
    [00:36:09] Gehalt und persönlicher Eindruck
    [00:37:49] Schwache Noten im Vorstellungsgespräch ansprechen
    [00:39:51] Anschreiben, Lebenslauf und Projektliste
    [00:43:18] Arbeitszeugnisse und vollständige Unterlagen
    [00:45:22] Zertifikate und praktische Erfahrung
    [00:47:18] Bewerben trotz fehlender Technologiekenntnisse
    [00:50:38] Wann du dich vor Ausbildungsende bewerben solltest
    [00:52:47] Wie lange ein Bewerbungsprozess dauert
    [00:56:55] Mehrere Angebote und offene Kommunikation
    [01:00:07] Wie Unternehmen mit mehreren Kandidat:innen umgehen
    [01:01:38] Warum Unternehmen Personalberatung beauftragen
    [01:04:35] Fachkenntnisse und Persönlichkeit im IT-Team
    [01:07:43] Kommunikation und Zusammenarbeit in IT-Berufen
    [01:08:49] Chancen mit Ausbildung oder Studium
    [01:11:14] Umschulung und ältere Bewerber:innen
    [01:13:10] Nachfrage nach erfahrenen COBOL-Entwickler:innen
    [01:14:52] Eine passende Personalberatung auswählen
    [01:16:45] Kontakt zu Vanessa und Hinweise im Blog
    [01:18:30] Shownotes und Feedback
    Allgemeines zur Person
    Wie ist dein Name und wo arbeitest du?
    Vanessa Stammnitz, seit 2017 Inhaberin von Stammnitz Personal, einer Personalberatung mit Schwerpunkt SAP.
    Ich komme ursprünglich aus Leipzig, lebe und arbeite aber in Esslingen.
    Wir vermitteln insb. SAP-Berater, sind aber auch im Bereich Industrie 4.0 unterwegs. Die beiden Bereiche wachsen aktuell zusammen, da Künstliche Intelligenz, Robotik und autonome Bereiche der Produktion auch in SAP Einzug halten bzw. von dort gesteuert oder überwacht werden.
    An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob?
    Ich bin in der Personalvermittlung tätig, die häufig in Form von kleinen Projekten abläuft. Ein Kunde erteilt mir z.B. einen Suchauftrag für einen SAP-Entwickler und ich lege los, z.B. mit einer Internet-Recherche.
    Meine Kunden sind häufig Startups, z.B. aus dem Bereich Industrie 4.0, die oft (noch) keine eigene Human-Resources- oder Personalabteilung haben, und teils zum ersten Mal außerhalb des eigenen Freundeskreises Personal suchen.
    Ich bin Ansprechpartner für viele Aufgaben im Bereich Personal, z.B. auch Coaching, Teamaufbau, Mitarbeiter führen und halten, alte Hierarchien aufbrechen.
    Die Arbeitswelt ändert sich aktuell stark. Stichwörter sind Arbeit 4.0, Homeoffice, Agilität oder New Work. Dafür braucht man neue Prozesse oder Strategien. Unternehmen müssen mitarbeiterfreundlicher werden, denn wir haben aktuell einen Bewerbermarkt!
    Es gibt viel zu wenige Bewerber aktuell. Meine Kunden suchen teilweise 1-2 Jahre selbst, bevor sie mich ansprechen. Viele haben schon ihre Anforderungen an die Bewerber herruntergeschraubt und trotzdem niemanden gefunden.
    Mitarbeiter müssen Spaß an der Arbeit haben! Aktuelle Hypes sind z.B. Großraumbüros mit viel Glas und ohne feste Arbeitsplätze. Das führte jedoch dazu, dass viele Entwickler das gar nicht so gut fanden. Wer möchte schon jeden Tag um seinen "Lieblingsplatz" mit den Kollegen kämpfen? Wenn man dank Homeoffice nur 2 Mal im Monat im Büro ist, geht das vielleicht, aber für die tägliche Arbeit ist das Mist.
    Wie bist du zur Personalvermittlung gekommen?
    Ich habe klassisch BWL studiert. Mein duales Studium habe ich im Handel absolviert in einem eher konservativen Unternehmen. Danach habe ich bewusst eine 180-Grad-Wendung gemacht und auf einer Jobmesse eine Personalberatung als neuen Arbeitgeber entdeckt. Danach habe ich mich dann in diesem Bereich selbstständig gemacht.
    Welche Ausbildung bzw. welches Studium hast du absolviert?
    Leider kann man "Personal" nicht direkt studieren und es gibt auch keine Ausbildung. Viele Personalvermittler sind daher ITler oder - wie ich - BWLer.
    Meine Mitarbeiterin Jannika ist Studentin mit Schwerpunkt Personalmanagement. Einige Master-Studiengänge drehen sich um Personal. Das Thema hat auch viel mit Psychologie zu tun und natürlich auch mit rechtlichen Inhalten.
    Personaldienstleistungen
    Recruiting-Prozess
    Wie sieht die tägliche Arbeit einer Personalberaterin aus?
    Ca. 70% der Arbeit laufen telefonisch ab, 30% per Mail oder im persönlichen Gespräch.
    Ich muss viele Details und Fragen mit potentiellen Kandidaten abklären.
    Die technische Suche läuft häufig über Xing bzw. LinkedIn, aber vermehrt auch einfach per Google.
    Ich finde viele Lebensläufe über Google, komplett mit Namen, Bild usw. völlig frei zugänglich.
    Da sind immer häufiger auch Bilder oder Videos online, die für den Bewerber nicht so toll aussehen.
    Beispiel: Ein Azubi suchte einen neuen Betrieb. Bei einer Google-Suche nach seinem Namen wurde direkt ein Bild von ihm im Anzug, aber mit einer Feuerwaffe in der Hand angezeigt. Das finde nicht nur ich schnell, sondern auch ein potentieller Arbeitgeber.
    Ich coache auch Bewerber, die sich - gerade in der IT - falsch oder unglücklich darstellen. Sie stellen ihr Licht häufig unter den Scheffel. Da pushe ich ein bisschen, damit sie mir Selbstvertrauen zeigen.
    Muss man heutzutage (als ITler) online auffindbar sein?
    Grundsätzlich haben einfach viele ITler heute eine Online-Präsenz.
    Und Bewerber werden über Google gesucht! Dessen muss man sich einfach bewusst sein.
    Seine (technischen) Projekte zu zeigen ist sicherlich gut für Bewerber. Aber auch die privaten Hobbys - z.B. eine Fotografie-Seite - sind potentiell interessant, da es bei Stellenbesetzungen oftmals um den Menschen geht und nicht um die Technik.
    Andersherum ist es vielleicht für einen Bewerber im Bereich IT-Security gerade gut, wenn man ihn nicht online findet! Da könnte man direkt im Bewerbungsgespräch fragen, wie er das hinbekommen hat.
    Insgesamt sollte der Online-Auftritt einfach zum anvisierten Job passen. Ein Webentwickler sollte heute einfach online sein!
    Sicht der Bewerber
    Wie läuft der gesamte Prozess bis zur Einstellung ab?
    Bewerber bewerben sich direkt auf Stellenausschreibungen, für die ich die Ansprechpartnerin bin oder bitten mich um Hilfe bei der Stellensuche.
    Ich frage dann zuerst, warum er wechseln möchte. Liegt es z.B. am Standort, dem Geld usw.?
    Dann frage ich, welches Unternehmen passen könnte oder welcher Fachbereich.
    Gerade direkt nach Ausbildung ist das wichtig: Welcher Bereich passt zum Bewerber? Soll es vielleicht doch noch ein Studium sein? Ist vielleicht ein Sabbatical geplant?
    Wichtig ist auch die Unterscheidung zwischen Großkonzern und Mittelstand oder Kleinunternehmen.
    Das kostet zwar zunächst Zeit, filtert aber viele unpassende Stellen direkt heraus und lohnt sich daher später.
    Weitere Fragen sind z.B. Präferenzen zur Teamarbeit vs. Homeoffice, Bedürfnisse von Bewerbern mit Kindern, Interesse an Teilzeit usw.
    Nach diesem Vorgespräch suche ich dann eine konkrete Stellenausschreibung und stelle sie dem Bewerber vor, inkl. Informationen zum zukünftigen Chef, den Projekten, ggfs. nötigen Englischkenntnissen usw.
    Viele Bewerber sind gerade bei der ersten Bewerbung überwältigt von dem ganzen Drumherum.
    Wer übernimmt die Kosten für das Verfahren?
    Für die Bewerber ist eine Personalberatung immer kostenfrei. Die Unternehmen bezahlen die Vermittlungskosten.
    Welche Vorteile bietet die Zusammenarbeit mit einer Personalberaterin den Bewerbern?
    Personalberater sind neutrale Partner der Bewerber. Ihnen darf man auch "dumme" Fragen stellen. Und sie beruhigen die Kandidaten z.B. vor dem ersten Interview durch ein Bewerbungstraining.
    Wann fragt man z.B. am besten nach dem Gehalt? Das kann ggfs. schon vorab geklärt werden. Meist ist zumindest eine Gehaltsspanne bekannt.
    Personalberater suchen auch direkt gut passende Stellen für die Bewerber heraus.
    "Traumarbeitgeber" kann man auch nennen und manchmal funktioniert das sogar. Viele Bewerber wissen aber gar nicht genau, warum sie z.B. zu Microsoft wollen.
    Startups tun sich häufig schwer, gute Bewerber zu finden, weil die Kandidaten eher zu etablierten Unternehmen wollen.
    Dabei sind Startups durchaus interessante Arbeitgeber. Ich betreue z.B. seit 2014 einen Kunden mit 4 IT-Mitarbeitern, der SAP eingeführt hat. Dort habe ich von Beginn an das Team mit aufgebaut. Der Chef war sehr nett, aber das wusste niemand, da das Startup sich noch keinen Namen gemacht hatte.
    Gerade Junioren lassen sich häufig von Geld blenden. Eine Forderung nach 65.000 EUR zum Einstieg ist da keine Seltenheit. Dabei sind ein doofer Chef und langweilige Aufgaben viel schlimmer für die Zu
    1 hr 20 min
  • Neuordnung der IT-Berufe zum 01.08.2020 – IT-Berufe-Podcast #151
    Um die langersehnte Neuordnung der IT-Berufe zum 01.08.2020 geht es in der einhunderteinundfünfzigsten Episode des IT-Berufe-Podcasts.
    TL;DR
    Ich habe die neuen Vorgaben zur Neuordnung der IT-Berufe zum 1. August 2020 mit den bisherigen Inhalten verglichen, wobei mein Schwerpunkt auf der Anwendungsentwicklung liegt. Für Fachinformatiker:innen gibt es künftig vier Fachrichtungen; außerdem zählt Teil 1 der gestreckten Abschlussprüfung nach 18 Monaten mit 20 Prozent zur Abschlussnote. In der Anwendungsentwicklung werden Unit-Tests und Versionsverwaltung ausdrücklich Pflicht, während viele bisherige Ausbildungsinhalte in neu formulierten Punkten weitergeführt werden. Weil die erste Prüfung bereits benotet wird, muss dein:e Ausbilder:in die dafür vorgesehenen Inhalte rechtzeitig einplanen.
    Kapitelmarken
    [00:00:00] Neuordnung der IT-Berufe zum 1. August 2020
    [00:01:12] Neue Verordnungen und mein Vergleich der Ausbildungsinhalte
    [00:05:08] Vier Fachrichtungen für Fachinformatiker:innen
    [00:05:59] Daten- und Prozessanalyse
    [00:07:03] Digitale Vernetzung und Industrie 4.0
    [00:08:04] Meine Kritik an den neuen Spezialisierungen
    [00:10:06] Neue kaufmännische IT-Berufe
    [00:11:58] IT-Systemelektroniker:innen und das Sperrfach
    [00:12:48] Gestreckte Abschlussprüfung und Teil 1
    [00:15:37] Gewichtung der Prüfungsbereiche
    [00:17:25] Schriftliche Fachprüfungen in der Anwendungsentwicklung
    [00:19:12] Mehr Zeit für die Projektarbeit
    [00:21:05] Ausbildungsrahmenplan und betrieblicher Ausbildungsplan
    [00:23:48] Offenere Vorgaben zu Programmierparadigmen
    [00:24:50] Veränderungsprozesse begleiten
    [00:25:26] Verfügbarkeit, Ausfallwahrscheinlichkeit und Backups
    [00:26:33] Präventive Wartung und meine Bedenken
    [00:28:22] Teilaufgaben von IT-Systemen automatisieren
    [00:29:56] Unit-Tests und Versionsverwaltung als Pflichtinhalte
    [00:31:55] Lebensbegleitendes Lernen
    [00:33:00] Berufliche Informationsquellen und Weekly Review
    [00:34:18] Gesellschaftliche Vielfalt wertschätzen
    [00:35:53] Persönlichkeitsrechte im digitalen Raum
    [00:37:08] Ethische Verantwortung bei IT-Lösungen
    [00:40:45] Suche nach bisherigen Inhalten im neuen Rahmenplan
    [00:41:42] Schriftverkehr und Besprechungsprotokolle
    [00:42:51] Ergonomie am Arbeitsplatz
    [00:44:18] Daten sichern und wiederherstellen
    [00:45:14] Schulungen planen und durchführen
    [00:46:26] Betriebssysteme anpassen und konfigurieren
    [00:49:13] Teil 1 und seine Folgen für die Ausbildungspraxis
    [00:50:31] Prüfungsinhalte für den IT-gestützten Arbeitsplatz
    [00:53:22] Kritik am wirtschaftlichen Schwerpunkt von Teil 1
    [00:56:26] Den betrieblichen Ausbildungsplan zeitlich anpassen
    [00:57:24] Excel-Dateien für den Ausbildungsplan
    [00:58:43] Meine Empfehlung zum Start der neuen Fachrichtungen
    [01:01:17] Unterlagen zur Neuordnung in den Shownotes
    [01:01:56] Feedback und Austausch zur neuen Ausbildung
    Inhalt
    Zusammenfassung der Änderungen
    Vergleich der Ausbildungsverordnungen
    Prüfungsinhalte Teil 1
    Neuer Rahmenplan vs. alter Rahmenplan
    Alter Rahmenplan vs. neuer Rahmenplan
    Downloads
    Links
    Zusammenfassung der Änderungen für Fachinformatiker
    Einführung von zwei neuen Fachrichtungen: Daten- und Prozessanalyse (FIDP) und Digitale Vernetzung (FIDV)
    FIDP ist quasi der "KIler" unter den Fachinformatikern, aber auch in Richtung (SAP-)Beratung unterwegs
    FIDV ist im Bereich Industrie 4.0 zuhause und hat einen großen Bezug zu den Systemelektronikern
    Einführung einer gestreckten Abschlussprüfung
    Teil 1: Einrichten eines IT-gestützten Arbeitsplatzes
    für alle IT-Berufe identisch
    nach 18 Monaten
    ersetzt die Zwischenprüfung und ist relevant für die Abschlussnote
    90min schriftliche Prüfung
    Neue Gewichtung der Prüfungsteile für die Abschlussnote
    Teil 1: 20%
    Projektarbeit: 50% (davon jeweils 50% für Dokumentation und Präsentation/Fachgespräch)
    zwei berufsspezifische schriftliche Prüfungen (früher GA1 und GA2): jeweils 10%
    Wirtschafts- und Sozialkunde: 10%
    Mehr Zeit für die Projektarbeiten: 80h für FIAE, 40h für alle anderen
    (nach oben)
    Vergleich der Ausbildungsverordnungen
    Neuer Paragraph
    Änderung
    Alter Paragraph und Alter Inhalt
    §4 (1)
    Gliederung der Fertigkeiten, Kenntnisse und Fähigkeiten (FKF) in- fachrichtungsübergreifend berufsprofilgebend- berufsprofilgebend nach Fachrichtung- fachrichtungsübergreifend, integrativ zu vermitteln
    §10: Auflistung der Fertigkeiten und Kenntnisse
    §4 (2)-(7)
    Bündelung der FKF in sog. Berufsbildpositionen
    §4 (8)
    Gemeinsame Berufsbildpositionen für alle IT-Berufe
    §5
    Einsatzgebiete für FIAE und FISI
    §10 (3): gleich geblieben
    §5 (3)-(4)
    Einsatzgebiete für FIDP und FIDV
    §6
    Ausbildungsplan muss spätestens zu Beginn der Ausbildung vorliegen
    §12
    §7 (1)
    Abschlussprüfung in Teilen 1 und 2
    §8
    Inhalte Teil 1 sind die FKF 1.-7. der ersten 18 Monate aus dem Ausbildungsrahmenplan + dazu passende Berufsschulinhalte
    §14: Zwischenprüfung
    §9 (1)
    Prüfungsbereich "Einrichten eines IT-gestützten Arbeitsplatzes"
    §9 (2)
    Inhalte Prüfung Teil 11. Kundenbedarfe zielgruppengerecht ermitteln2. Hard- und Software auswählen und ihre Beschaffung einleiten3. einen IT-Arbeitsplatz konfigurieren und testen und dabei die Bestimmungen und die betrieblichen Vorgaben zum Datenschutz, zur IT-Sicherheit und zur Qualitätssicherung einhalten4. Kunden und Kundinnen in die Nutzung des Arbeitsplatzes einweisen5. die Leistungserbringung kontrollieren und protokollieren
    §9 (3)-(4)
    Teil 1: 90min schriftliche Prüfung
    §14 (3): 180min Zwischenprüfung
    §10 (1)
    Inhalte für Teil 2 der Prüfung sind alle Inhalte aus dem Ausbildungsrahmenplan + alle Berufsschulinhalte
    §10 (2)
    Was schon in Teil 1 drankam, soll in Teil 2 nicht noch einmal abgefragt werden
    §11
    Prüfungsbereiche Teil 2 FIAE1. Planen und Umsetzen eines Softwareprojektes2. Planen eines Softwareproduktes3. Entwicklung und Umsetzung von Algorithmen4. Wirtschafts- und Sozialkunde
    §15 (3): GA1, GA2, WiSo
    §12 (2)
    Inhalte Planen und Umsetzen eines Softwareprojektes (Teil 1)1. kundenspezifische Anforderungen analysieren2. eine Projektplanung durchführen3. eine wirtschaftliche Betrachtung des Projektes vornehmen4. eine Softwareanwendung erstellen oder anpassen5. die erstellte oder angepasste Softwareanwendung testen und ihre Einführung vorbereiten6. die Planung und Durchführung des Projektes anforderungsgerecht dokumentieren
    §15 (2) 1.: Softwareprodukt oder Pflichtenheft
    §15 (2): Projektantrag: das zu realisierende Konzept einschließlich einer Zeitplanung sowie der Hilfsmittel zur Präsentation
    §15 (2) 1.: 70h "einschließlich" Dokumentation
    §12 (3)
    Teil 21. die Arbeitsergebnisse adressatengerecht präsentieren2. Vorgehensweise bei der Durchführung der betrieblichen Projektarbeit begründen
    §15 (2): gleich geblieben
    §15 (2): insg. höchstens 30min
    §12 (4)
    Doku und mdl. Prüfung zählen jeweils 50%
    §15 (2): gleich geblieben
    §13 (1)
    Inhalte Planen eines Softwareproduktes1. Entwicklungsumgebungen und -bibliotheken auswählen und einsetzen2. Programmspezifikationen anwendungsgerecht festlegen3. Bedienoberflächen funktionsgerecht und ergonomisch konzipieren4. Maßnahmen zur Qualitätskontrolle planen und durchführen
    §15 (4) 1.: Inhalte GA1Softwarekomponenten auswählenProgrammspezifikationen anwendungsgerecht festlegenBedienoberflächen funktionsgerecht und ergonomisch konzipieren
    §13 (2)-(3)
    90min schriftliche Prüfung
    §15 (5) 1.: 90min für GA1
    §14 (1)
    Inhalte Entwicklung und Umsetzung von Algorithmen1....
    1 hr 5 min
  • Das (neue) Berufsbildungsgesetz (BBiG) – IT-Berufe-Podcast #150
    Um die Neuerungen, aber auch weitere wichtige Festlegungen des Berufsbildungsgesetzes (BBiG) geht es in der einhundereinundfünfzigsten Episode des IT-Berufe-Podcasts.
    TL;DR
    Ich habe die Paragrafen des Berufsbildungsgesetzes (BBiG) zusammengestellt, die deinen Alltag als IT-Azubi betreffen, einschließlich der Änderungen zum 1. Januar 2020. Du erfährst, welche Regeln für Teilzeit, Fachliteratur und dein Berichtsheft gelten, wann der Betrieb dich für Schule oder Prüfungen freistellen muss und welche Mindestvergütung damals eingeführt wurde. Außerdem findest du die Grundlagen dafür, wer dich ausbilden darf, wie deine Abschlussprüfung abläuft und wann aus deiner Ausbildung ein Arbeitsverhältnis wird.
    Kapitelmarken
    [00:00:00] Einführung in das Berufsbildungsgesetz
    [00:00:20] Neuer Podcastname und 150. Episode
    [00:01:35] Änderungen zum 1. Januar 2020 und Auswahl der Paragrafen
    [00:04:26] § 7a: Ausbildung in Teilzeit
    [00:06:40] Rechtlicher Rahmen und Hinweise zum Gesetzesstand
    [00:08:29] § 14: Fachliteratur für die Ausbildung
    [00:10:43] Berichtsheft während der Arbeitszeit
    [00:11:32] Ausbildungsfremde Aufgaben und Bußgelder
    [00:12:44] § 15: Berufsschule und Arbeitszeit
    [00:15:12] Zusätzliche Ausbildungsveranstaltungen bei Blockunterricht
    [00:16:28] Betriebliche Arbeit vor dem Berufsschulunterricht
    [00:16:59] Freier Tag vor der schriftlichen Abschlussprüfung
    [00:19:25] § 17: Mindestvergütung für Azubis
    [00:23:24] § 21: Wann deine Ausbildung endet
    [00:24:36] § 24: Arbeitsverhältnis durch Weiterbeschäftigung
    [00:25:25] § 27: Verhältnis von Azubis zu Fachkräften
    [00:27:54] § 30: Eignung der Ausbilder:innen
    [00:31:47] § 37: Abschlussprüfung wiederholen
    [00:32:39] Berufsschulergebnis auf dem IHK-Zeugnis
    [00:33:49] § 40: Freistellung für Prüfer:innen
    [00:36:41] Mitglieder des Prüfungsausschusses
    [00:37:28] § 42: Prüferdelegationen
    [00:39:33] Projektdokumentation durch zwei Prüfer:innen bewerten
    [00:41:16] § 43: Voraussetzungen für die Abschlussprüfung
    [00:42:20] § 45: Abschlussprüfung als Quereinsteiger:in
    [00:43:32] § 48: Gestreckte Abschlussprüfung ersetzt die Zwischenprüfung
    [00:44:35] § 53a: Bachelor Professional und Master Professional
    [00:47:34] Weitere Paragrafen und eigene Rechte nachlesen
    [00:49:38] Gesetzestext und Shownotes
    Inhalt
    Dies ist meine Auswahl an "interessanten" Auszügen aus dem (neuen) BBiG. Neben den Änderungen zum 01.01.2020 habe ich auch einige "alte" Paragraphen aufgeführt, die einige wichtige Sachverhalte rund um die Ausbildung klären, von denen jeder Ausbilder und Azubi mal gehört haben sollte.
    §7a: Teilzeitausbildung
    Jeder Azubi hat nun das Recht, seine Ausbildung in Teilzeit zu absolvieren. Dabei kann die Arbeitszeit um max. 50% reduziert werden. Die reduzierte Arbeitszeit muss an die Dauer der Ausbildung angehängt werden. Beispiel: 50% Reduktion (z.B. 19 statt 38 Stunden pro Woche), dafür 50% Verlängerung (4,5 statt 3 Jahre). Ob und wie die Berufsschule das Ganze unterstützt ist (noch) nicht festgelegt.
    §14 Bereitstellung von Fachliteratur
    Das Ausbildungsunternehmen muss dem Azubi nun auch Fachliteratur bereitstellen (z.B. leihen oder kaufen). Bislang galt das nur für Werkzeuge usw., was für unsere IT-Berufe aber so gut wie nie nötig war.
    In diesem Paragraphen steht übrigens auch, dass das Berichtsheft am Arbeitsplatz zu führen ist (und nicht etwa in der Freizeit).
    §15 Freistellung für die Berufsschule
    Jeder Azubi (egal ob minder- oder volljährig) bekommt nun an einem Berufsschultag mit mehr als 5 Unterrichtsstunden zu je 45 Minuten seine gesamte tägliche Arbeitszeit angerechnet (z.B. 8 Stunden bei einer 40-Stunden-Woche) und muss an diesem Tag nicht mehr ins Unternehmen. Bei einer Blockwoche mit mind. 25 Unterrichtsstunden an mind. 5 Tagen wird die gesamte wöchentliche Arbeitszeit angerechnet (z.B. 40 Stunden).
    Azubis werden am Arbeitstag vor der schriftlichen Prüfung (in Zukunft einmal nach 18 Monaten zum ersten Teil der gestreckten Abschlussprüfung und einmal nach 3 Jahren zum zweiten) freigestellt.
    §17 Mindestausbildungsvergütung
    Es gibt nun einen "Mindestlohn" für Azubis, der sich in den kommenden Jahren schrittweise erhöht. Im Jahr 2020 liegt er bei 515 EUR pro Monat. Es gibt allerdings einige Ausnahmen von dieser Regelung, insb. für Betriebe, die keinem Tarifvertrag unterliegen.
    §21 Ausbildungsende mit Bekanntgabe des Ergebnisses
    Die Ausbildung endet bereits vor dem im Ausbildungsvertrag vereinbarten Ende mit der Mitteilung des Prüfungsergebnisses durch den Prüfungsausschuss an den Azubi. Damit sind nicht die Noten gemeint (die oft nicht herausgegeben werden dürfen), sondern das "Kreuzchen" bei "bestanden".
    §24 Unbefristeter Vertrag durch Weiterbeschäftigung
    Sollte der Azubi am Tag nach der Prüfung (sofern er bestanden hat) ohne einen Arbeitsvertrag weiter in deinem Unternehmen beschäftigt werden, gilt damit automatisch ein unbefristeter Arbeitsvertrag als begründet.
    §27 angemessenes Verhältnis von Azubis zu Fachkräften
    Betriebe dürfen nicht einfach so viele Azubis beschäftigen wie möglich, sondern müssen für ein angemessenes Verhältnis zur Anzahl der Fachkräfte sorgen. Das Gesetz nennt keine Zahlen, aber an anderer Stelle ist von einem Verhältnis von ungefähr 3 Fachkräften je 1 Azubi zu lesen.
    §30 Fachliche Eignung der Ausbilder
    Ausbilden dürfen Personen, die den gleichen (oder einen ähnlichen) Berufsabschluss erworben haben (also die IHK-Prüfung abgelegt haben). Außerdem dürfen auch Hochschulabsolventen eines vergleichbaren Faches ausbilden.
    §37 Wiederholen der Prüfung und Berufsschulnote auf dem IHK-Zeugnis
    Die Abschlussprüfung darf bei Nichtbestehen zweimal wiederholt werden.
    Wenn der Azubi die Abschlussnote der Berufsschule mit auf das IHK-Zeugnis gedruckt haben möchte, kann er dafür einfach eine Kopie seines Berufsschulzeugnisses einreichen.
    §40 Mind. 3 Prüfer im Ausschuss
    Der Prüfungsausschuss muss aus mind. 3 Personen bestehen. Der Ausschuss muss paritätisch aus Lehrern, Arbeitnehmer- und Arbeitgebervertretern besetzt sein.
    Ab 2020 sind Prüfer für ihre ehrenamtliche Tätigkeit vom Arbeitgeber freizustellen.
    §42 Prüferdelegationen
    Statt des in §40 beschriebenen Ausschusses aus mind. 3 Personen, können von der IHK auch sog. Prüferdelegationen bestimmt werden, die mit weniger Teilnehmern prüfen dürfen.
    Prüfungsartefakte wie die Projektdokumentation, die nicht die Anwesenheit des Prüflings für die Bewertung erfordern (wie z.B. das Fachgespräch), können auch von nur 2 Prüfern bewertet werden.
    §43 Zulassung zur Prüfung nur mit Zwischenprüfung und Berichtsheft
    Azubis dürfen die Abschlussprüfung nur ablegen, wenn sie an der Zwischenprüfung teilgenommen haben (bestehen muss man nicht) und ihren Ausbildungsnachweis (das geliebte Berichtsheft) ordnungsgemäß geführt haben.
    §45 Zulassung zur Prüfung durch 1,5x Ausbildungszeit im Beruf
    Quereinsteiger können zur Prüfung zugelassen werden, wenn sie das 1,5-fache der Ausbildungszeit (also 1,5 * 3 = 4,5 Jahre) praktisch im Beruf gearbeitet haben.
    §48 Zwischenprüfung entfällt bei gestreckter Abschlussprüfung
    Ab 2020 werden die Prüflinge in den IT-Berufen auch eine gestreckte Abschlussprüfung absolvieren müssen. In diesem Fall entfällt die Zwischenprüfung. Sie wird ersetzt durch den ersten Teil der Abschlussprüfung.
    §53a Abschlussbezeichnungen
    Ab 2020 werden die verschiedenen Weiterbildungen nach der Ausbildung (z.B. Meister, Fachwirt, Operative Professional) den akademischen Abschlüssen Bachelor und Master gleichgestellt. Abhängig vom zeitlichen Umfang der Weiterbildungen darf man sich dann z.B. "Bachelor Professional" nennen.
    §101 Bußgelder für ausbildungsfremde Tätigkeiten
    Dieser Paragraph listet einige Ordnungswiedrigkeiten auf, die teils mit Geldstrafen bis zu 5.000 EUR belegt werden können. Insb. die Beschäftigung von Azubis mit ausbildungsfremden Tätigkeiten ist hier erwähnenswert.
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Das neue Berufsbildungsgesetz (BBiG)
    Berufsbildungsgesetz novelliert: Die wichtigsten Neuerungen im Überblick
    Datenbank Tarifliche Ausbildungsvergütungen
    Voraussetzungen für die betriebliche Ausbildung / 2.5 Das Verhältnis der Zahl der Auszubildenden zur Zahl der Fachkräfte
    Zusammenfassung
    Zeitlicher und rechtlicher Rahmen
    Für deinen Alltag als IT-Azubi habe ich ausgewählte Paragrafen des Berufsbildungsgesetzes (BBiG) zusammengestellt. Der Überblick stammt aus Anfang 2020 und berücksichtigt die Änderungen zum 1. Januar 2020 sowie die damals bevorstehende Neuordnung der IT-Berufe. Ich stütze mich auf den Gesetzestext, ergänzende Kommentare und eine Veranstaltung der IHK Oldenburg. Meine Angaben sind ohne Gewähr; für rechtliche Fragen kannst du den Gesetzestext heranziehen oder eine:n Rechtsanwält:in fragen.
    Teilzeit: § 7a
    Seit der Änderung kannst du eine Ausbildung in Teilzeit auch ohne besonderen Grund beantragen. Dabei darfst du deine tägliche oder wöchentliche Ausbildungszeit um höchstens 50 Prozent reduzieren.
    Die Ausbildung dauert dadurch länger. Als Beispiel wird eine dreijährige Ausbildung genannt, die bei halbierter Arbeitszeit auf viereinhalb Jahre verlängert wird.
    Unter entsprechenden Voraussetzungen kannst du die Gesamtdauer wieder verkürzen, etwa wenn du bereits eine Ausbildung abgeschlossen hast oder besonders gute Leistungen zeigst.
    Wie sich eine solche Ausbildung mit dem Unterricht an der Berufsschule vereinbaren lässt, muss praktisch geklärt werden.
    Fachliteratur und Berichtsheft: § 14
    Für die betriebliche Ausbildung erforderliche Fachliteratur muss dein Ausbildungsbetrieb bereitstellen. Das gilt auch für Literatur, die du für die Zwischenprüfung oder Abschlussprüfung brauchst. Der Betrieb kann dir Bücher ausleihen oder sie für dich kaufen.
    Bei Schulbüchern besteht diese Pflicht nach dem hier beschriebenen Stand nur, wenn sie zugleich für die betriebliche Ausbildung erforderlich sind. In meinem Betrieb bezahle ich auch die Unterlagen für die Berufsschule.
    Dein Berichtsheft darfst du während der Arbeitszeit am Arbeitsplatz führen....
    51 min
  • Rebranding des Anwendungsentwickler-Podcasts – IT-Berufe-Podcast #0
    In dieser Sonderepisode des Anwendungsentwickler-Podcasts und gleichzeitig der ersten Episode des IT-Berufe-Podcasts erkläre ich meine Beweggründe für das "Rebranding".
    TL;DR
    Ab Episode 150 heißt mein Anwendungsentwickler-Podcast IT-Berufe-Podcast und richtet sich an dich als IT-Azubi in jedem IT-Beruf. Anlass sind die gemeinsamen Ausbildungsinhalte und Prüfungen, die sich mit den neuen Ausbildungsordnungen 2020 ergeben. Programmieren bleibt ein Schwerpunkt, während ich auch Themen rund um die Abschlussprüfung für alle IT-Berufe aufgreife. Zur neuen Website it-berufe-podcast.de gehören ein neues Logo und Weiterleitungen für bisherige Links; das Format und der Newsletter bleiben bestehen.
    Kapitelmarken
    [00:00:00] Vom Anwendungsentwickler-Podcast zum IT-Berufe-Podcast
    [00:01:00] Neue Ausbildungsordnungen und gemeinsame Prüfungsinhalte
    [00:02:34] Warum ich alle IT-Berufe anspreche
    [00:03:21] Programmieren und Themen rund um die Abschlussprüfung
    [00:04:01] Neuer Name ab Episode 150 und neues Logo
    [00:05:13] Die Website wird überarbeitet
    [00:05:46] Alte Links erhalten und Fehler melden
    [00:06:42] Neue Domain und Shortlinks
    [00:07:54] Inhalte für die breitere Zielgruppe
    [00:08:50] Shownotes zur Sonderfolge
    [00:09:24] Format und Newsletter bleiben bestehen
    Inhalt
    Der gute alte Anwendungsentwickler-Podcast wird 150! Die nächste Episode ist die einhundertfünfzigste! Grund zum Feiern... und über das Leben nachzudenken. Und durch die zahlreichen Änderungen in der Ausbildung der IT-Berufe, die die Novellierung 2020 mit sich bringt, ist es an der Zeit, den Titel des Podcasts zu verallgemeinern, um die Zielgruppe aller Azubis der IT-Berufe anzusprechen.
    Die Novellierung der IT-Berufe hat zur Folge, dass viele Ausbildungsinhalte - insb. in der Berufsschule - für alle 7 IT-Berufe gleich sind. Der neue Rahmenlehrplan sieht vor, dass alle Berufe in den ersten beiden Ausbildungsjahren nahezu identisch beschult werden. Viele Inhalte in meinem Podcast sind daher genauso relevant für die anderen 6 Berufe.
    Außerdem bilde ich seit 2019 selbst nicht mehr nur Anwendungsentwickler, sondern auch einen Systemintegrator aus. Und auch er lernt mit meinen Podcast-Episoden, die bereits immer schon allgemeine Ausbildungsinhalte vermittelt haben.
    Ich habe sogar extra ein Logo für den Podcast erstellen lassen. Auf fiverr.com ging das innerhalb von 2 Tagen. Ich finde es optisch sehr ansprechend und passend zu meinen Inhalten.
    Auch diese Website wird überarbeitet! Ich habe das Design bereits auf ein für Podcasts optimiertes Theme umgestellt und werde auch die Inhalte weiter aufbereiten. Neue Übersichtsseiten, Löschen veralteter Inhalte, Zusammenfassen gleichartiger Artikel. Das alles steht auf der Agenda.
    Ich werde natürlich dafür sorgen, dass alte Links erhalten bleiben und weiter funktionieren. Falls dir dennoch Fehler auffallen, freue ich mich über deine Nachricht! Die Website ist inzwischen so groß geworden, dass ich nicht jeder Unterseite selbst kontrollieren kann. Sollten dir also Probleme auffallen, sag mir gerne bescheid:
    Tote Links
    Unendliche Weiterleitungen
    Darstellungsprobleme
    Falsche Suchergebnisse
    Externe Links mit alten Domains
    Ich freue mich auf die Möglichkeiten, die die neue Ausrichtung mit sich bringt, und hoffe, dass du meinem Podcast trotz neuem Namen treu bleibst! :-D
    Viele Grüße! Stefan
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Zusammenfassung
    Warum ich den Namen ändere
    Ab der 150. Episode führe ich meinen Anwendungsentwickler-Podcast unter dem Namen IT-Berufe-Podcast weiter. Damit spreche ich dich als IT-Azubi unabhängig von deinem Ausbildungsberuf an. In meinem Unternehmen betreue ich inzwischen auch einen Azubi zum/zur Fachinformatiker:in für Systemintegration.
    Viele bisherige Folgen behandeln bereits Themen, die mehrere IT-Berufe betreffen, etwa den Ablauf der IHK-Prüfung. Der neue Name macht diesen gemeinsamen Bezug sichtbar.
    Gemeinsame Inhalte in den IT-Berufen
    2020 werden die IT-Berufe deutschlandweit neu geordnet. Dabei kommen unter anderem zwei neue Fachrichtungen für Fachinformatiker:innen hinzu. Bereits zuvor waren IT-Sicherheit und Datenschutz stärker in den Ausbildungsrahmenplan aufgenommen worden.
    Nach dem Stand von Anfang 2020 sind bei den künftig sieben IT-Berufen ungefähr 80 Prozent der schulischen Inhalte in den ersten beiden Ausbildungsjahren gleich. Auch die gestreckte Abschlussprüfung schafft eine gemeinsame Grundlage: Teil 1 findet nach 18 Monaten statt, zählt zur Abschlussnote und ist für alle IT-Berufe identisch.
    Welche Themen du erwarten kannst
    Ich werde weiterhin Folgen zum Programmieren veröffentlichen, weil darin mein fachlicher Schwerpunkt liegt. Außerdem greife ich Fragen zur Abschlussprüfung auf und behandle, wie du dein Projekt dokumentierst oder präsentierst. Diese Themen betreffen dich auch, wenn du einen anderen IT-Beruf lernst. Durch die neuen Ausbildungsprofile werden weitere Fragen entstehen, denen ich eigene Folgen widmen möchte.
    Neues Logo und überarbeitete Website
    Für den Podcast habe ich über Fiverr ein Logo gestalten lassen. Es zeigt eine kleine Figur mit Krawatte und Doktorhut in einem Mikrofon. Der Hut steht dabei für Lernen und einen erreichten Abschluss.
    Die Website bekommt ein Theme, das stärker auf Podcasts ausgerichtet ist. Damit möchte ich sie übersichtlicher gestalten und dafür sorgen, dass sie schneller lädt. Wenn du Text markierst, ist die Auswahl jetzt sichtbar, was meinen Azubis bisher Probleme bereitet hatte.
    Neue Adresse und bisherige Links
    Du erreichst die Website unter it-berufe-podcast.de. Die Adresse funktioniert auch ohne Bindestriche und führt dann zur Hauptdomain mit Bindestrichen.
    Für bisherige Adressen und Shortlinks richte ich HTTP-Weiterleitungen ein, damit du ältere Folgen weiterhin erreichst und Suchmaschinen die neuen Adressen zuordnen können. Das betrifft auch die bisherigen Domains des Podcasts.
    Wenn du einen fehlerhaften Link findest oder das Menü auf deinem Mobilgerät Schwierigkeiten macht, schreib mir. Hinweise und Vorschläge kannst du mir etwa per Kommentar oder E-Mail schicken.
    Was bestehen bleibt
    Das Podcastformat bleibt gleich, ebenso die Art, wie die Folgen erscheinen. Auch den Newsletter führe ich weiter; dort wird das neue Logo eingebunden.
    Die Shownotes zu dieser Sonderfolge findest du unter it-berufe-podcast.de/Rebranding, mit großem R.
    Transkription der gesamten Episode
    Automatisch erzeugte Transkription der Episode
    [0:00] Herzlich Willkommen zum Anwendungs... ähm, IT-Berufe-Podcast, dem Podcast rund um die
    [0:09] Ausbildung in den IT-Berufen. In dieser Episode geht es um das Rebranding des Anwendungsentwickler-Podcasts.
    [0:15] Viel Spaß!
    [0:16] Hallo und herzlich Willkommen zu einer Sonderepisode des Anwendungsentwickler-Podcasts. Du hast
    [0:26] es gerade im Intro schon gehört. Ich habe ein bisschen was vor. Und zwar möchte ich
    [0:30] diesen Podcast rebranden. Ich möchte ihn umbenennen zum IT-Berufe-Podcast. Und warum
    [0:36] ich das machen will, das will ich dir heute kurz erklären. Keine Angst, dauert auch nicht
    [0:39] allzu lang, aber dann weißt du wenigstens, warum dein, ja, bisher vielleicht guter, altbekannter
    [0:45] Podcast, der Anwendungsentwickler-Podcast, in Zukunft nicht mehr erscheint. Eigentlich
    [0:49] erscheint er noch, aber er heißt jetzt halt einfach anders. Und wie es dazu kam und was
    [0:52] das soll, das möchte ich heute mal kurz erklären, bevor es dann mit den eigentlichen
    [0:56] Inhalten, um die es hier natürlich zentral gehen soll, weitergeht in der nächsten Episode.
    [1:00] Also, du hast vielleicht mitgekriegt, 2020 werden die IT-Berufe deutschlandweit ja komplett
    [1:06] überarbeitet. Es ist die zweite Stufe der sogenannten Novellierung, der Neuordnung der
    [1:11] IT-Berufe. Im Jahr 2018 oder 2019, ich weiß selber schon nicht mehr, sind schon ein paar
    [1:17] winzige Kleinigkeiten geändert worden. Da kamen zum Beispiel die Themen IT-Security
    [1:20] und Datenschutz nochmal in den Ausbildungsrahmenplan für die Fachinformatiker. Aber dieses Jahr,
    [1:25] da geht es jetzt richtig los. Da werden die kompletten IT-Berufe überarbeitet, es fallen
    [1:29] Berufe weg, es kommen neue hinzu. Es kommen zum Beispiel zwei neue Fachrichtungen für den
    [1:32] Fachinformatiker hinzu und so weiter. Also ändert sich wirklich sehr, sehr viel. Und ich war jetzt
    [1:37] schon auf einigen Infoveranstaltungen dazu, habe auch schon viel gelesen, viele Veröffentlichungen
    [1:41] dazu gelesen. Und ja, grob zusammengefasst, zumindest was heute der Stand ist, Anfang 2020,
    [1:47] ist, dass viele, viele Inhalte der in Zukunft dann sieben verschiedenen IT-Berufe, die es geben
    [1:53] wird, absolut identisch sind. Wenn man mal in den Rahmenlehrplan guckt, also in den Lehrplanen,
    [1:58] an denen sich die Berufsschulen halten müssen, dann sieht es aktuell so aus, dass 80 Prozent
    [2:02] der Inhalte, so grob über den Daumen, allein in den ersten zwei Ausbildungsjahren absolut
    [2:06] identisch sind. Du hast vielleicht schon mitgekriegt, auch die Abschlussprüfung wird
    [2:09] aufgeteilt in eine sogenannte gestreckte Abschlussprüfung. Das heißt, es gibt einen
    [2:13] Teil 1 der Abschlussprüfung, der auch mit zur Note zählt und der wird nach 18 Monaten abgelegt
    [2:18] und der ist auch für alle IT-Berufe identisch. Das heißt, es gibt eine gewisse Grundlage an
    [2:22] Themen, die einfach für jeden ITler, egal ob Anwendungsentwickler, Administrator oder vielleicht
    [2:27] sogar einer der neuen IT-Berufe, wie zum Beispiel für Daten- und Prozessanalyse, gleich ist. Und bei
    [2:34] mir im Unternehmen bin ich jetzt auch schon seit über einem Jahr zuständig für einen weiteren
    [2:38] Physi, also Systemintegrator, den wir ausbilden. Das heißt, auch ich selber bin gar nicht mehr
    [2:42] nur auf die Anwendungsentwickler beschränkt und da fand ich es irgendwie blöd, wenn ich
    [2:46] weitermache mit dem Anwendungsentwickler-Podcast, aber ich weiß, dass die anderen sechs IT-Berufe
    [2:51] genauso davon profitieren und ich selber sogar
    10 min
  • Praktikumsinhalte in der IT-Abteilung – Anwendungsentwickler-Podcast #149
    um Ideen für Inhalte von Praktika im IT-Bereich geht es in der einhundertneunundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich lasse IT-Azubis Praktikant:innen betreuen, damit sie ihr Wissen beim Erklären vertiefen und Verantwortung übernehmen. Ein Praktikum gibt Einblick in den echten Arbeitsalltag und hilft dabei, künftige Azubis kennenzulernen. Welche Aufgaben passen, hängt von der verfügbaren Zeit und den Interessen sowie Vorkenntnissen der jeweiligen Person ab. Du findest dafür Beispiele aus der IT-Praxis, ergänzt um regelmäßiges Feedback und konkrete Schritte für die Zeit nach dem Praktikum.
    Kapitelmarken
    [00:00:00] Thema: Praktikant:innen in der IT betreuen
    [00:01:49] Warum Ausbildungsunternehmen Praktika anbieten
    [00:05:20] Durch Praktika bekannt werden und Rückmeldungen erhalten
    [00:06:48] IT-Azubis lernen durch das Erklären
    [00:08:49] Aufgaben zwischen Ausbilder:in und IT-Azubi verteilen
    [00:10:09] Das Praktikum als Projekt organisieren
    [00:11:53] Den echten Arbeitsalltag zeigen
    [00:13:56] Inhalte an Zeit und Vorkenntnisse anpassen
    [00:15:58] Praktikumsmappe und Präsentation früh einplanen
    [00:17:58] Praktikant:innen persönlich begrüßen
    [00:19:30] Checklisten und rechtliche Rahmenbedingungen
    [00:21:22] Räume zeigen und Kolleg:innen kennenlernen
    [00:24:27] Die IT-Azubis kennenlernen
    [00:25:17] Den eigenen Arbeitsplatz aufbauen
    [00:27:08] Einen alten PC zusammenbauen
    [00:28:46] Einen Steckbrief mit HTML und CSS gestalten
    [00:30:24] Mit dem Calliope Mini programmieren
    [00:33:15] Aufgaben mit dem Raspberry Pi
    [00:35:32] Mit Tutorial und Entwicklungsumgebung programmieren
    [00:38:04] Betriebssysteme in virtuellen Maschinen installieren
    [00:38:58] Blogartikel und Beiträge für soziale Medien erstellen
    [00:39:49] Mit Office die schulischen Unterlagen vorbereiten
    [00:40:49] Meetings und Lernzielkontrollen miterleben
    [00:42:26] Pair-Programming an einem echten Projekt
    [00:43:02] Wöchentlich Feedback unter vier Augen austauschen
    [00:44:13] Fragen zum Beruf und zum Unternehmen recherchieren
    [00:45:17] Die nächsten Schritte zur Bewerbung klären
    [00:46:53] Vorstellungsgespräche simulieren
    [00:48:08] Das Praktikumszeugnis ausstellen und erklären
    [00:50:50] Feedback zum Praktikum einholen
    [00:51:59] Quellen zum Weiterlernen empfehlen
    [00:52:46] USB-Stick mit Programmieraufgaben mitgeben
    [00:55:00] Rückblick auf die vorgeschlagenen Inhalte
    [00:58:47] Vier Checklisten als PDF herunterladen
    [00:59:58] Weitere Ideen für Praktika austauschen
    Inhalt
    Warum sind Praktika für Ausbildungsunternehmen wichtig?
    Praktikanten werden ggfs. direkt zu Bewerbern auf die Ausbildung.
    Unter Schülern spricht sich ein gutes Praktikum herum. Das bedeutet kostenfreie Werbung für die Ausbildung.
    Das Unternehmen bekommt Input von außen zur Attraktivität der Ausbildung und des Unternehmens.
    Die eigenen Azubis lernen durch das Lehren ihre Ausbildungsinhalte besser.
    Tipps für die konkrete Umsetzung
    Die Azubis sollten die komplette Betreuung des Praktikanten übernehmen.
    Das Praktikum kann wie ein echtes Projekt geplant und durchgeführt werden (z.B. im Ticketsystem).
    Dazu zählen auch organisatorische Dinge wie die Datenschutzerklärung, das Einrichten eines Windows-Benutzers, Anfordern einer Bezahlkarte usw.
    Der Praktikant sollte einen realistischen Einblick in den Ablauf der Ausbildung erhalten und keine "heile Welt" präsentiert bekommen.
    Mögliche Praktikumsinhalte
    Der Umfang hängt von der Dauer des Praktikums ab. In zwei Wochen kann man natürlich tiefer in die Programmierung einsteigen als in einer.
    Die Inhalte sollten an die Vorkenntnisse und das Alter des Praktikanten angepasst werden. Ein Schulpraktikum in der 9. Klasse bietet sich z.B. weniger für Hardcore-Programmierung an.
    Die nötigen Praktikumsartefakte (z.B. Praktikumsbericht, -präsentation) sollten in den Praktikumsalltag integriert werden. Fotos können z.B. direkt während der Arbeit gemacht werden.
    Allgemeiner Einstieg ins Praktikum
    Begrüßung durch Ausbildungsleiter und betreuende(n) Azubi(s)
    Organisatorische/rechtliche Rahmenbedingungen klären (z.B. Arbeitszeiten, Verhalten bei Krankheit)
    Rundgang durch
    das Unternehmen (z.B. Kantine, Serverraum, Besprechungsräume, Schulungsraum)
    die Abteilung (z.B. nächstes WC, Kaffeeküche)
    Vorstellungsrunde mit allen Azubis
    Technische Inhalte (Was lernt man in der Ausbildung?)
    Eigenen Arbeitsplatz aufbauen
    Monitor, Tastatur usw. verkabeln
    eigenes Passwort ändern
    ggfs. Software installieren
    PC auseinander-/zusammenbauen
    Eigenen Steckbrief mit HTML/CSS gestalten
    Einstieg in die Programmierung, z.B. mit dem Calliope Mini*
    RaspberryPi* aufsetzen (z.B. RetroPi)
    Tieferer Einstieg in eine Programmiersprache
    Windows-/Linux-Server aufsetzen (VMs)
    Blogartikel/Instagram-Post für die eigene Azubi-Website schreiben
    Praktikumsmappe/-präsentation vorbereiten (insb. Fotos)
    Organisatorische Inhalte (Wie läuft der Arbeitsalltag ab?)
    Teilnahme an allen anfallenden Meetings (z.B. Abteilungsbesprechung, Projektplanung, Standup)
    Lernzielkontrollen mit anderen Azubis gemeinsam durchführen
    Pair-Programming mit Azubis durchführen, um echte Projekte kennenzulernen
    Vier-Augen-Gespräch mit Ausbildungsleiter
    Fragebogen zum Beruf und zum Unternehmen ausfüllen
    Ausblick (Wie geht es nach dem Praktikum weiter?)
    Weiteres Vorgehen zur Bewerbung klären (z.B. kürzeres Verfahren möglich, da Praktikant schon gut bekannt)
    Vorstellungsgespräch für die Ausbildung simulieren
    Praktikumszeugnis ausstellen und durchsprechen
    Feedback des Praktikanten einholen (z.B. zu den Inhalten, der Betreuung vor Ort, Interesse am Beruf)
    Weiterführende Literatur empfehlen (z.B. IT-Handbuch, Podcast, YouTube-Videos)
    Abschiedsgeschenk überreichen (z.B. USB-Stick mit Programmieraufgaben und -lösungen)
    Downloads
    Checkliste zu Beginn des Praktikums in der IT-Abteilung (Praktikumsbetrieb)
    Checkliste zum Praktikum in der IT-Abteilung (Praktikant)
    Factsheet zur Ausbildung
    Feedback zum Praktikum in der IT-Abteilung
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Zusammenfassung
    Warum Unternehmen Praktika anbieten
    Bei der Alte Oldenburger habe ich eine ehemalige Praktikantin als IT-Azubi gewonnen. Während eines Praktikums lernen sich Unternehmen und Praktikant:in über mehrere Tage kennen. Dabei lässt sich feststellen, ob der Beruf zu den eigenen Interessen passt und wie die Zusammenarbeit funktioniert. Auch ohne Erfahrungen im Programmieren ist ein Einstieg möglich.
    Schüler:innen erzählen anschließend in der Schule von ihren Aufgaben. Dadurch wird das Unternehmen als Ausbildungsbetrieb bekannt. Ihre Rückmeldungen zeigen außerdem, wie die Ausbildung nach außen wirkt. Wenn du nachfragst, wie ein:e Praktikant:in auf das Unternehmen aufmerksam geworden ist, erfährst du etwas darüber, welche Anzeigen oder persönlichen Kontakte dazu beigetragen haben.
    Unternehmen geben jungen Menschen durch Praktika die Gelegenheit, einen Beruf kennenzulernen. Dafür braucht es Aufgaben, durch die sie selbst Erfahrungen in der IT sammeln.
    Als IT-Azubi ein Praktikum betreuen
    Ich übertrage die fachlichen Aufgaben während des Praktikums an IT-Azubis, meistens aus dem ersten Ausbildungsjahr. Die Grundlagen sind bei ihnen noch frisch, weil sie dieselben Einstiegsaufgaben bereits bearbeitet haben. Durch das Erklären vertiefst du dein eigenes Wissen. Gleichzeitig übst du, Schulungen vorzubereiten und durchzuführen, wie es der Ausbildungsrahmenplan vorsieht.
    Das ähnliche Alter erleichtert häufig den Kontakt. Du lernst außerdem, mit unterschiedlichen Menschen zusammenzuarbeiten und dich im Unternehmen um organisatorische Fragen zu kümmern.
    Ich begrüße die Person zu Beginn persönlich und prüfe während des Praktikums, wie gut die Inhalte ankommen. Die Gespräche unter vier Augen führe ich selbst. So kann ich früh eingreifen, wenn fachliche oder persönliche Schwierigkeiten auftreten.
    Das Praktikum als Projekt organisieren
    Für jedes Praktikum erstelle ich ein Ticket in Redmine. Darin stehen die einzelnen Aufgaben und Checklisten, die ich dem betreuenden IT-Azubi zuweise. Du arbeitest damit in derselben Umgebung wie bei anderen Projekten und hältst fest, welche Schritte erledigt sind.
    Dazu gehören beispielsweise:
    Die Erklärung zum Datenschutz unterschreiben lassen.
    Ein Benutzerkonto einrichten und das Passwort ändern.
    Eine Karte für das Betriebsrestaurant besorgen.
    Herausfinden, welche Kolleg:innen für die jeweiligen Fragen zuständig sind.
    Aufgaben an die Person und die Zeit anpassen
    Meine Beispiele orientieren sich an einem zweiwöchigen Schülerpraktikum. Wie viel du davon einplanst, hängt von den Vorkenntnissen und Sprachkenntnissen der Person ab. Frage auch nach ihren Interessen. Die Aufgaben sollten in der verfügbaren Zeit zu schaffen sein und zum bisherigen Wissen passen.
    Schulische Aufgaben früh einplanen
    Kläre gleich zu Beginn, welche Unterlagen die Schule erwartet. Für eine Praktikumsmappe und eine Präsentation braucht es Zeit während des Praktikums. Dafür lässt sich beispielsweise die letzte Stunde des Arbeitstags reservieren.
    Fotos können während der jeweiligen Tätigkeit entstehen, etwa beim gemeinsamen Programmieren. Wenn die Unterlagen im Betrieb geschrieben werden, kannst du sie anschließend durchsehen und auf fachliche Fehler oder vertrauliche Informationen hinweisen.
    Den ersten Tag vorbereiten
    Ich hole Praktikant:innen zur vereinbarten Zeit persönlich ab. Der betreuende IT-Azubi ist dabei, sodass die erste Ansprechperson gleich bekannt ist. Gerade für jüngere Schüler:innen ist der Einstieg in ein Unternehmen ungewohnt.
    Am ersten Tag klärst du die Rahmenbedingungen:
    Welche Arbeitszeiten gelten? Bei Minderjährigen ist das Jugendarbeitsschutzgesetz zu berücksichtigen.
    Wo meldet sich die Person bei Krankheit oder Verspätung?
    Über welche Telefonnummern sind beide Seiten erreichbar?
    Welche Zugangs- oder Bezahlkarten werden gebraucht?
    Welche Regeln gelten, wenn sich die Person im Gebäude bewegt?
    Bei Verspätungen gehört auch dazu, nachzufragen,...
    1 hr 2 min
  • Handelskalkulation, Skonto und Rabatt – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #148
    Um die Handelskalkulation inkl. Skonto und Rabatt geht es in der einhundertachtundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    An einem PC zeige ich dir, wie du mit der Handelskalkulation vom Einkaufspreis zum Verkaufspreis kommst und dabei alle Kosten sowie deinen Gewinn einrechnest. Rabatt und Skonto senken deinen Einkaufspreis; beim Verkauf kalkulierst du die angebotenen Preisnachlässe vorher ein. Dafür rechnest du im Hundert, weil dein:e Kund:in den Nachlass vom späteren Angebotspreis abzieht. Auch Provisionen und die Umsatzsteuer gehören ins Schema, das du als IT-Azubi im Fachgespräch und in der schriftlichen Prüfung kennen solltest.
    Kapitelmarken
    [00:00:37] Handelskalkulation als Prüfungsthema für IT-Azubis
    [00:02:26] Verkaufspreise im Handelsunternehmen berechnen
    [00:04:55] Das Kalkulationsschema am Beispiel eines PCs
    [00:06:53] Rabatt und Skonto beim Einkauf verstehen
    [00:09:42] Zahlungsziel und Skontofrist
    [00:12:27] Skontovorteil berechnen und aufs Jahr hochrechnen
    [00:15:53] Preisnachlässe im Verkaufspreis berücksichtigen
    [00:17:10] Vom Listeneinkaufspreis zum Bareinkaufspreis
    [00:20:34] Bezugskosten und Einstandspreis
    [00:21:58] Handlungskosten und Selbstkostenpreis
    [00:23:46] Gewinn und Barverkaufspreis
    [00:25:34] Kundenskonto und das Rechnen im Hundert
    [00:31:58] Zielverkaufspreis und Listenverkaufspreis
    [00:33:27] Umsatzsteuer und Bruttoverkaufspreis
    [00:34:30] Vorsteuer und Umsatzsteuer als durchlaufender Posten
    [00:36:58] Provision für Handelsvertreter:innen einrechnen
    [00:38:52] Zusätzlicher Gewinn durch verbleibende Nachlässe
    [00:41:01] Prüfungsfehler beim Rechnen im Hundert
    [00:41:56] Das vollständige Kalkulationsschema wiederholen
    [00:45:13] Weiterführende Links und Feedback
    Inhalt
    Käufer zahlen immer so spät wie möglich ihre Rechnungen, da sie in der Zwischenzeit mit ihrem Geld andere Dinge machen können (z.B. verzinslich anlegen).
    Verkäufer wollen das Geld aber so früh wie möglich haben, da sie bereits in Vorleistung gegangen sind.
    Ein übliches Zahlungsziel bei Rechnungen ist 30 Tage. Das würde ein Käufer immer ausnutzen.
    Damit der Käufer schneller zahlt, kann der Verkäufer Skonto gewähren, wenn z.B. bereits bis zum 10. Tag gezahlt wird. Übliche Skontosätze sind 2% oder 3%.
    Ein Rabatt ist ein allgemeiner Preisnachlass des Verkäufers.
    Käufer ziehen sich Rabatt und Skonto (in dieser Reihenfolge) vom ihnen angebotenen Preis ab ("vom Hundert").
    Beispiel: PC kostet 1.000 EUR. 10% Rabatt ergeben einen Abzug von 100 EUR.
    Verkäufer müssen Skonto und Rabatt (in dieser Reihenfolge) auf ihre Preise aufschlagen ("im Hundert"), damit sie nicht zu ihren Ungunsten abgezogen werden. Die Basis 100% ist dabei der zu errechnende Preis und nicht der, auf den aufgeschlagen wird.
    Beispiel: PC soll für 1.000 EUR verkauft werden. Der Kunde soll 10% Rabatt abziehen können dürfen. 1.000 EUR entsprechen dabei 90%, der gesuchte Zielpreis 100%. Mittels Dreisatz ergibt sich ein Preis von 1.111,11 EUR (und nicht etwa 1.100 EUR!). 10% Abzug von 1.111,11 EUR sind 111,11 EUR, sodass der ursprünglich gewünschte Preis von 1.000 EUR beim Händler landet.
    Handelskalkulation
    Mittels der Handelskalkulation berechnen Handelsunternehmen ihre Verkaufspreise auf Basis der Einkaufspreise bei ihren Lieferanten.
    In produzierenden Unternehmen oder bei Dienstleistern wird ggfs. anders kalkuliert, z.B. mittels des Betriebsabrechnungsbogens bzw. eines Stundensatzes.
    So sieht eine vollständige Handelskalkulation aus:
       Listeneinkaufspreis (steht beim Lieferanten auf dem Preisschild)
    − Lieferantenrabatt (handelt ein vernünftiger Kunde vom Preis runter)
    = Zieleinkaufspreis (müsste der Kunde bei Zahlung auf Rechnung am 30. Tag überweisen)
    − Lieferantenskonto (zieht der Kunde ab, wenn er schneller zahlt, z.B. bis zum 10. Tag)
    = Bareinkaufspreis (müsste der Kunde "bar" auf den Tisch legen, um das Produkt mitzunehmen)
    + Bezugskosten (ggfs. Porto, Spedition)
    = Bezugspreis (zahlt der Kunde, damit das Produkt "bei ihm auf dem Hof" steht)
    + Handlungskosten (alle Kosten für den Geschäftsbetrieb, z.B. Miete, Strom, Gehälter usw.)
    + Lagerzins (falls Waren eingelagert werden müssen)
    = Selbstkostenpreis (hiermit sind alls Kosten des Händlers abgedeckt)
    + Gewinn (das bleibt am Ende dem Händler übrig)
    = Barverkaufspreis (das müsste der Kunde bar bezahlen, um alle Kosten + Gewinn des Händlers zu decken)
    + Kundenskonto (im Hundert) (zieht der Kunde sich vom nächsten Preis ab)
    + Provision (im Hundert) (bekommt ggfs. ein Handelsvertreter von uns)
    = Zielverkaufspreis (müsste der Kunde zahlen, wenn er auf Rechnung kauft)
    + Kundenrabatt (im Hundert) (handelt der Käufer runter)
    = Listenverkaufspreis (auch Nettoverkaufspreis)
    + Umsatzsteuer (geht abzgl. der Vorsteuer ans Finanzamt)
    = Bruttoverkaufspreis (schreibt der Händler auf sein Preisschild)
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Handelskalkulation
    BWL - kaufmännisches Rechnen - Die Handelskalkulation
    Die Handelskalkulation – Ein Berechnungs-Schema für optimale Verkaufspreise
    Skontozahlung lohnt sich fast immer
    Warum sich Skonto lohnt: So teuer sind Lieferantenkredite wirklich!
    Rechnen in Hundert, von Hundert, auf Hundert?
    Rechner für Vorwärts-, Rückwärts- und Differenzkalkulation
    Zusammenfassung
    Handelskalkulation in deiner IT-Ausbildung
    An einem eingekauften PC, den ich weiterverkaufen möchte, zeige ich dir die Schritte der Handelskalkulation. Als Fachinformatiker:in Anwendungsentwicklung brauchst du auch kaufmännisches Wissen: Im Fachgespräch werden die Begriffe und Rechenwege abgefragt, während du in der schriftlichen Prüfung Verkaufspreise berechnen sollst.
    Ein Handelsunternehmen kauft Waren ein und verkauft sie weiter. Der Verkaufspreis muss die anfallenden Kosten decken und den geplanten Gewinn enthalten. Dazu gehören auch laufende Ausgaben, etwa für Personal oder Strom.
    Vom Listenpreis zum Einstandspreis
    Beim Einkauf gehst du diese Schritte durch:
    | Schritt | Ergebnis |
    | --- | --- |
    | Listeneinkaufspreis minus Lieferantenrabatt | Zieleinkaufspreis, auch Rechnungspreis |
    | Zieleinkaufspreis minus Lieferantenskonto | Bareinkaufspreis |
    | Bareinkaufspreis plus Bezugskosten | Bezugspreis, auch Einstandspreis |
    Der Listeneinkaufspreis steht in der Preisliste deiner Lieferant:innen. Wenn du einen Rabatt vereinbarst, ziehst du ihn von diesem Preis ab. Bei 1.000 Euro und 10 % Rabatt beträgt der Zieleinkaufspreis 900 Euro.
    Das Wort "Ziel" im Zieleinkaufspreis bezieht sich auf das Zahlungsziel. Kaufst du auf Rechnung, musst du beispielsweise innerhalb von 30 Tagen bezahlen.
    Gewährt dir dein:e Lieferant:in Skonto, darfst du bei rechtzeitiger Zahlung einen weiteren Betrag abziehen. So erhältst du den Bareinkaufspreis. Der Name lässt sich durch eine sofortige Barzahlung merken, bei der die Skontofrist eingehalten wäre. In meinem Beispiel zahlst du am letzten Tag der vereinbarten Skontofrist.
    Bezugskosten fallen beispielsweise an, wenn ein Speditionsunternehmen die Ware liefert. Du addierst sie zum Bareinkaufspreis. Der Einstandspreis umfasst damit die Kosten, bis die Ware bei dir im Laden oder Lager angekommen ist.
    Rabatt und Skonto
    Einen Rabatt vereinbarst du als Preisnachlass mit deinem Gegenüber. Skonto erhältst du, wenn du innerhalb einer kürzeren Frist bezahlst. Wer die Ware verkauft, schafft damit einen Anreiz, die Rechnung früh zu begleichen.
    Für das Skontobeispiel gelten folgende Werte:
    Die Rechnung beträgt 1.000 Euro.
    Innerhalb von 10 Tagen darfst du 3 % Skonto abziehen.
    Das reguläre Zahlungsziel beträgt 30 Tage.
    Wenn du innerhalb der Skontofrist zahlst, sparst du 30 Euro. Eine Bankanlage derselben 1.000 Euro mit 3 % Jahreszins bringt für einen Monat rund 3 Euro.
    Für den auf ein Jahr hochgerechneten Skontovorteil zählt die Zeit zwischen Skontofrist und Zahlungsziel. Im Beispiel sind das 20 Tage. Mit einem kaufmännischen Jahr von 360 Tagen ergibt sich:
    3 % × 360 / 20 = 54 %
    Ich empfehle dir deshalb, angebotenes Skonto zu ziehen und innerhalb der jeweiligen Frist möglichst spät zu zahlen. Im Beispiel lohnt sich dafür auch ein Kredit mit 10 % Jahreszins.
    Vom Einstandspreis zum Barverkaufspreis
    Sobald die Ware bei dir angekommen ist, rechnest du die Kosten deines Handelsbetriebs ein:
    | Schritt | Ergebnis |
    | --- | --- |
    | Einstandspreis plus Handlungskosten und gegebenenfalls Lagerzins | Selbstkostenpreis |
    | Selbstkostenpreis plus Gewinn | Barverkaufspreis |
    Zu den Handlungskosten gehören beispielsweise die Miete für deinen Laden und die Gehälter deiner Beschäftigten. Auch beim Handel von zu Hause fallen Kosten an, etwa für einen Onlineshop. Im vorgestellten Schema kommt gegebenenfalls ein Lagerzins hinzu, wenn du ein Lager betreibst.
    Mit dem Selbstkostenpreis deckst du deine eigenen Kosten. Den geplanten Gewinn rechnest du anschließend auf. Daraus entsteht der Barverkaufspreis, den du nach den vorgesehenen Preisnachlässen erhalten möchtest.
    Skonto und Rabatt im Verkaufspreis einrechnen
    Dein:e Kund:in darf die angebotenen Nachlässe später vom Preis abziehen. Deshalb kalkulierst du sie vorher ein:
    | Schritt | Ergebnis |
    | --- | --- |
    | Barverkaufspreis plus eingerechnetes Kundenskonto | Zielverkaufspreis, auch Rechnungsverkaufspreis |
    | Zielverkaufspreis plus eingerechneter Kundenrabatt | Listenverkaufspreis, auch Nettoverkaufspreis |
    Hier rechnest du im Hundert. Der Preis, von dem dein:e Kund:in später den Nachlass abzieht, entspricht 100 %. Bei 10 % Nachlass entspricht der Betrag, den du erhalten möchtest, 90 %.
    Wenn nach einem Nachlass von 10 % genau 1.000 Euro bleiben sollen, berechnest du den Angebotspreis so:
    1.000 Euro / 90 × 100 = 1.111,11 Euro
    Zieht dein:e Kund:in davon 10 % ab, bleiben gerundet 1.000 Euro.
    Für die einzelnen Schritte gilt:
    Kundenskonto: Zielverkaufspreis = Barverkaufspreis × 100 / (100 − Skontosatz)
    Kundenrabatt: Listenverkaufspreis = Zielverkaufspreis × 100 / (100 − Rabattsatz)
    Bei 2 % Skonto entspricht dein Barverkaufspreis also 98 % des Zielverkaufspreises....
    47 min
  • Code Smells und Refactorings – Anwendungsentwickler-Podcast #147
    Um Code Smells und ihre Behebung mittels Refactorings geht es in der einhundertsiebenundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Bei meinen Code-Reviews geben mir Codesmells konkrete Hinweise darauf, welche Stellen ich überarbeiten sollte. Als IT-Azubi kannst du damit etwa mehrfach vorhandenen Code oder Methoden mit zu vielen Aufgaben erkennen und Probleme mit anderen Entwickler:innen präzise besprechen. Mit passenden Refactorings lässt sich der Code schrittweise verbessern, während er lauffähig bleibt. Ob du einen Smell behebst, hängt von seinen Folgen und dem Aufwand ab; eine bewusst beibehaltene Stelle verdient einen Kommentar, der den Grund erklärt.
    Kapitelmarken
    [00:00:01] Thema: Codesmells und Refactorings
    [00:00:57] Codesmells als Hilfe bei Code-Reviews mit IT-Azubis
    [00:02:04] Refactoring von Martin Fowler als Grundlage
    [00:03:30] Was ist ein Codesmell?
    [00:04:50] Einen Codesmell bewusst beibehalten
    [00:05:50] Woher der Begriff Codesmell kommt
    [00:07:47] Probleme erkennen und mit Entwickler:innen besprechen
    [00:09:38] Codesmells mit Refactorings beheben
    [00:10:44] Überblick über die klassischen Codesmells
    [00:13:04] Duplicate Code: mehrfach vorhandenen Code zusammenführen
    [00:16:17] Comments: verständliche Namen und begründete Kommentare
    [00:19:56] Long Method: Methoden auf eine Aufgabe zuschneiden
    [00:22:38] Large Class: Aufgaben auf passende Klassen verteilen
    [00:24:48] Long Parameter List: Parameter reduzieren oder bündeln
    [00:30:42] Wenn ein Refactoring einen anderen Smell erzeugt
    [00:32:05] Feature Envy: Methoden zu ihren Daten verschieben
    [00:34:01] Data Clumps: zusammengehörige Werte als Objekt abbilden
    [00:35:29] DTOs als bewusst einfache Klassen
    [00:36:27] Primitive Obsession: fachliche Werte in eigenen Klassen kapseln
    [00:40:48] Switch Statements: wiederkehrende Fallunterscheidungen
    [00:41:22] Divergent Change und Shotgun Surgery
    [00:43:12] Parallel Inheritance Hierarchies
    [00:43:56] Lazy Class
    [00:44:32] Speculative Generality und YAGNI
    [00:45:31] Temporary Field
    [00:46:26] Message Chains und Law of Demeter
    [00:47:54] Middle Man
    [00:48:39] Inappropriate Intimacy
    [00:49:20] Alternative Classes with Different Interfaces
    [00:50:24] Incomplete Library Class
    [00:50:54] Data Class
    [00:51:42] Refused Bequest
    [00:53:09] Codesmells in der täglichen Arbeit
    [00:54:14] Literatur und weiterführende Links
    [00:54:43] Kommentare und Feedback
    Inhalt
    Was ist ein Code Smell?
    Smells sind Indikatoren für Code, der überarbeitungswürdig ist.
    Man erkennt sie anhand verschiedener Muster (z.B. lange Methoden).
    Die Smells können mit Refactorings überarbeitet und (hoffentlich) eliminiert werden.
    Nicht alle Smells sind immer schlecht. Sie dienen nur als Anhaltspunkt, noch einmal über den Code nachzudenken.
    Woher kommt der Name Code Smell?
    Kent Becks Oma wird das Zitat "If it stinks, change it." zugesprochen, das sich auf das Wechseln von Windeln bei Babys bezieht.
    Kent Beck hat diese Idee auf Code übertragen: Wenn der Code seltsam "riecht", sollte man ihn anpassen.
    Wobei helfen uns Code Smells?
    Mit Code Smells können wir Stellen im Code aufdecken, die problematisch sind, und diese überarbeiten. Dadurch wird der gesamte Code insgesamt "besser".
    Die benannten Smells helfen uns durch eine gemeinsame Sprache bei der Diskussion mit anderen Entwicklern (ähnlich wie Design Pattern).
    Was können wir gegen Code Smells tun?
    Das Mittel gegen Code Smells sind die Refactorings.
    Im Buch von Martin Fowler* gibt es eine übersichtliche Tabelle, welche Refactorings gegen welche Smells helfen können.
    Sind Code Smells immer böse?
    Code Smells sind nur ein Anhaltspunkt für Optimierungen. Der Entwickler muss selbst entscheiden, ob der Smell schlecht ist.
    Einige Code Smells hängen zusammen und das Auflösen des einen (z.B. Introduce Parameter Object) führt zur Einführung eines anderen (z.B. Data Class).
    Welche Code Smells gibt es?
    Duplicate Code
    Doppelter Code führt bei Änderungen schnell zu Fehlern, weil zu ändernde Stellen übersehen werden.
    Refactorings: Extract Method, Pull Up Method
    Comments
    Kommentare können helfen, den Code zu verstehen, aber häufig sind sie überflüssig und können durch sprechendere Bezeichner komplett eliminiert werden.
    Refactorings: Extract Method, Rename Method
    Long Method
    Lange Methoden sind schwieriger zu verstehen, zu testen und anzupassen.
    Refactorings: Extract Method
    Large Class
    Zu große Klassen machen häufig mehr als sie sollen und verletzen das Single Responsibility Principle. Das macht sie u.a. schwer testbar.
    Refactorings: Extract Class, Extract Subclass
    Long Parameter List
    Viele Parameter bei Methoden deuten darauf hin, dass diese zu viele Aufgaben übernehmen. Sie machen die Methoden schwer testbar und schwer verständlich. Außerdem müssen die Parameterlisten tendenziell oft angepasst werden.
    Refactorings: Replace Parameter with Method, Introduce Parameter Object
    Feature Envy
    Wenn Methoden oder Klassen sich viele Informationen "besorgen" müssen, bevor sie ihren Job machen können, ist das ein Zeichen dafür, dass die Komponenten besser an einer anderen Stelle aufgehoben wären.
    Refactorings: Move Method
    Data Clumps
    Wenn verschiedene Daten immer zusammen herumgereicht werden (z.B. Startdatum und Endedatum), ist das ein Zeichen für eine fehlende Abstraktion (z.B. Zeitraum).
    Refactorings: Introduce Parameter Object, Extract Class
    Primitive Obsession
    Die Scheu vor eigenen kleinen Klassen führt oft dazu, dass doppelter Code entsteht und eine gute Kapselung verhindert wird.
    Refactorings: Replace Data Value with Object, Extract Class, Introduce Parameter Object
    Switch Statements: Gleiche Fallunterscheidungen werden häufig an mehreren Stellen benötigt und führen zu doppeltem Code, der mit Polymorphie verhindert werden könnte.
    Divergent Change: Einzelne Klassen müssen aufgrund von verschiedenen Änderungen angepasst werden.
    Shotgut Surgery: Aufgrund einer einzelnen Änderung müssen verschiedene Klassen angepasst werden.
    Parallel Inheritance Hierarchies: Sonderform von Shotgun Surgery, die das parallele Anlegen von Subklassen in verschiedenen Hierarchien erfordert.
    Lazy Class: Zu kleine Klassen, die keinen erkennbaren Mehrwert haben, sollten abgelöst werden.
    Speculative Generality: Anstatt alle möglichen zukünftigen Entwicklungen zu antizipieren, sollte besser das Prinzip You Ain't Gonna Need It befolgt werden.
    Temporary Field: Instanzvariablen sollten nicht nur während der Laufzeit einzelner Methoden verwendet werden.
    Message Chains: Objekte, die Objekte aufrufen, die wieder Objekte aufrufen, wissen zu viel über die fremde Implementierung und sind damit stark gekoppelt. Das verletzt das Law of Demeter.
    Middle Man: Zu viel Delegierung ist auch nicht gut.
    Inappropriate Intimacy: Klassen sollten nicht zu viele Details anderer Klassen kennen.
    Alternative Classes with Different Interfaces: Gleiche Dinge sollten auch gleich benannt sein.
    Incomplete Library Class: Wenn Librarys nicht alles tun, was wir brauchen, sollten wir sie ergänzen, anstatt alles neu zu entwickeln.
    Data Class: Die guten alten POJOs oder Java Beans. Sie verhindern häufig saubere Kapselung und haben bei fehlender Geschäftslogik evtl. gar keine Daseinsberechtigung.
    Refused Bequest: Wenn Subklassen Teile ihres Vermächtnisses (geerbte Member) nicht nutzen wollen oder können, ist vielleicht die Hierarchie falsch gewählt.
    Literaturempfehlungen
    Eine sehr schöne Liste möglicher Code Smells und ihrer Auswirkungen gibt es im Klassiker Refactoring von Martin Fowler*.
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Code Smells
    Catalog of Refactorings
    Refactoring and Design Patterns
    Zusammenfassung
    Codesmells im Code-Review
    Bei meinen Code-Reviews mit IT-Azubis helfen mir Codesmells, konkrete Stellen zu erkennen, die ich überarbeiten sollte. An solchen Mustern kannst du beispielsweise erkennen, weshalb sich Code schwer lesen lässt oder beim Testen Probleme macht. Manche fallen schon durch den Umfang einer Methode auf, andere zeigen sich erst beim Blick auf einzelne Zeilen.
    Wenn du die Namen der Smells kennst, kannst du dich mit anderen Entwickler:innen genauer über den Code austauschen. Ein Begriff wie Feature Envy beschreibt für jemanden, der ihn kennt, bereits das betreffende Problem. Ähnlich wie Design Patterns schaffen Codesmells damit eine gemeinsame Fachsprache.
    Wann du einen Smell behebst
    Bevor ich eine auffällige Stelle ändere, prüfe ich, welche Folgen sie hat und wie aufwendig es wäre, sie zu überarbeiten. Je nach Kontext kann es sinnvoll sein, einen Smell bewusst beizubehalten, etwa wenn der Umbau den Code schwerer verständlich machen würde. Mit einem Kommentar zum Grund ersparst du der nächsten Person, dieselbe Frage erneut durchzugehen.
    Beim Refactoring überarbeitest du den Code schrittweise und hältst ihn dabei lauffähig. Für einen Smell kommen oft mehrere Refactorings infrage. Auch deren Folgen gehören zur Entscheidung: Wenn du etwa eine lange Parameterliste durch eine Klasse ersetzt, kann dabei eine Data Class entstehen, deren Aufbau du wiederum prüfen solltest.
    Häufige Codesmells und passende Refactorings
    Duplicate Code
    Wenn identischer oder sehr ähnlicher Code an mehreren Stellen steht, musst du bei einer Änderung jede davon finden. Eine übersehene Stelle führt dazu, dass Teile des Programms unterschiedlich arbeiten. Das passiert beispielsweise, wenn mehrere Switch Statements dieselben Enum-Werte behandeln und ein neuer Wert hinzukommt.
    Mit Extract Method ziehst du den gemeinsamen Code in eine Methode und rufst sie an den betreffenden Stellen auf. IDEs wie Eclipse können diesen Schritt automatisch ausführen.
    Mit Pull Up Method verschiebst du eine gleiche Methode aus mehreren Subklassen in deren gemeinsame Basisklasse.
    Comments
    Bei Kommentaren, die lediglich den sichtbaren Code beschreiben, entsteht zusätzlicher Aufwand beim Lesen und Pflegen. Ändert jemand den Code und übersieht den Kommentar, kann dieser anschließend etwas Falsches behaupten....
    56 min
  • Kryptographie – Funktionsweise von HTTPS – Anwendungsentwickler-Podcast #146
    Zum Abschluss meiner kleinen Reihe zum Oberthema Kryptographie widmen wir uns der Funktionsweise von HTTPS in der einhundersechsundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Wenn du meine Website über HTTPS aufrufst, prüft dein Browser das Serverzertifikat anhand einer vertrauenswürdigen Zertifizierungsstelle. Im beschriebenen Ablauf überträgt er anschließend einen zufälligen Sitzungsschlüssel asymmetrisch verschlüsselt an den Webserver, damit beide Seiten ihre Daten schnell symmetrisch verschlüsseln können. Für deine eigene Website brauchst du ein Schlüsselpaar und ein passendes Zertifikat, das du beispielsweise kostenlos bei Let's Encrypt erhältst. Bei Zertifikatswarnungen solltest du die Ursache prüfen, bevor du der Verbindung vertraust.
    Kapitelmarken
    [00:00:20] HTTPS als Abschluss der Kryptografie-Reihe
    [00:01:03] Öffentliche und private Schlüssel sowie digitale Signaturen
    [00:01:34] Zertifizierungsstellen und die Vertrauenskette
    [00:03:00] Rechenaufwand beim asymmetrischen Verschlüsseln
    [00:04:41] HTTPS als hybrides Verfahren
    [00:05:33] HTTPS aufrufen und Port 443
    [00:06:26] Serverzertifikat und öffentlichen Schlüssel prüfen
    [00:09:09] Domain und Gültigkeitsdauer kontrollieren
    [00:09:59] Den symmetrischen Sitzungsschlüssel übertragen
    [00:11:24] Kostenlose Zertifikate von Let's Encrypt
    [00:12:55] HTTPS von Grund auf einrichten
    [00:13:28] Root-Zertifikate und Vertrauen der Browserhersteller
    [00:16:37] Intermediate-Zertifikate in der Zertifikatskette
    [00:17:08] Schlüsselpaar erzeugen und CSR stellen
    [00:18:20] Kontrolle über die Domain nachweisen
    [00:20:48] Verschlüsselungsstärke und Extended Validation
    [00:22:53] Zertifikat im Webserver hinterlegen
    [00:23:59] Zertifikat im Browser prüfen und Sitzungsschlüssel austauschen
    [00:27:14] Die fünf beteiligten Schlüssel
    [00:27:44] Zertifikatswarnungen und abgelaufene Zertifikate
    [00:30:32] Abweichende Domains und Wildcard-Zertifikate
    [00:33:29] Unbekannte CAs und selbstsignierte Zertifikate
    [00:35:20] Interne CAs und Zertifikatsspeicher im Unternehmen
    [00:36:49] Rückblick auf die Kryptografie-Reihe
    [00:37:56] Praxis- und Prüfungsbezug für IT-Azubis
    [00:38:23] Fragen und Shownotes
    Inhalt
    Wiederholung
    Für die elektronische Signatur und die Verschlüsselung von Daten werden Paare aus öffentlichen und privaten Schlüsseln benötigt.
    Um die Authentizität öffentlicher Schlüssel zu gewährleisten, werden Zertifikate verwendet, die von vertrauenswürdigen Zertifizierungsstellen ausgegeben werden.
    Probleme
    Wie können wir bei Millionen verschiedenen Websites sicherstellen, dass sie korrekte Schlüssel nutzen, ohne dass wir alle Websitebetreiber persönlich kennen müssen?
    Wie kann bei den großen Datenmengen im Internet eine performante Verschlüsselung gewährleistet werden?
    HTTPS
    Um mit einem Webserver verschlüsselt kommunizieren zu können, benötigt der Webbrowser den öffentlichen Schlüssel des Webservers.
    Diesen kann er einfach direkt vom Webserver selbst herunterladen. Aber wer garantiert ihm die Echtheit dieses Schlüssels? Vielleicht wurde der Server gehackt oder der private Schlüssel gestolen.
    Deswegen liefert der Webserver nicht direkt den öffentlichen Schlüssel aus, sondern ein von einer CA ausgestelltes Zertifikat, das den öffentlichen Schlüssel des Webservers enthält, aber zusätzlich noch die Signatur der CA, die dessen Echtheit bestätigt.
    Wenn dieses Zertifikat gültig ist (die Prüfung erfolgt gegen die "eingebauten" CAs im Browser), weiß der Browser sicher, dass er den korrekten Schlüssel erhalten hat und kann ihn für die Verschlüsselung nutzen.
    Dabei prüft der Browser auch, ob das Zertifikat zur aktuellen Domain gehört. Der CN enthält bei HTTPS-Zertifikaten diese Domain.
    Es gibt seit einiger Zeit auch eine kostenlose CA: Let's Encrypt. Damit kann sich jeder Webserverbetreiber gültige Zertifikate erzeugen, indem er technisch nachweist, dass die Domain und der Server wirklich ihm gehören.
    Der Datenverkehr wird bei HTTPS symmetrisch verschlüsselt, da die Schlüssellängen hierbei deutlich kürzer sind, was deutliche Performancevorteile hat. Um diesen Schlüssel zwischen Browser und Webserver auszutauschen wird das obige asymmetrische Verfahren genutzt. Deswegen ist HTTPS ein hybrides Verfahren.
    Technischer Ablauf
    CA
    CA generiert privaten und öffentlichen Schlüssel.
    CA erstellt selbstsigniertes Root-Zertifikat: ihr eigener öffentlicher Schlüssel signiert mit ihrem privaten Schlüssel.
    CA-Root-Zertifikat wird in Browser eingebaut.
    Webserver
    Webserver generiert privaten und öffentlichen Schlüssel.
    Webserver lässt öffentlichen Schlüssel von CA mit ihrem privaten Schlüssel signieren.
    Webserver installiert dieses Zertifikat und konfiguriert HTTPS.
    Browser
    Browser öffnet Website auf dem Webserver.
    Webserver liefert sein Zertifikat aus.
    Browser prüft das Zertifikat mit dem öffentlichem Schlüssel der CA aus seinem eingebautem Root-Zertifikat und erhält den öffentlichen Schlüssel des Webservers.
    Browser generiert einen zufälligen temporären Sitzungsschlüssel und verschlüsselt ihn mit dem öffentlichen Schlüssel des Webservers.
    Browser sendet den verschlüsselten Sitzungsschlüssel an den Webserver, der ihn mit seinem privaten Schlüssel entschlüsselt.
    Nun kennen Browser und Webserver den Sitzungsschlüssel und können damit symmetrisch den Datenverkehr verschlüsseln.
    Mögliche Probleme mit HTTPS-Zertifikaten
    Das Zertifikat ist abgelaufen.
    Das Zertifikat passt nicht zur Domain.
    Das Zertifikat wurde von einer nicht vertrauenswürdigen CA ausgestellt.
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Hypertext Transfer Protocol Secure
    Wie funktioniert https?
    Einführung inOpenSSL und X.509-Zertifikate
    Let's Encrypt
    Certificate Signing Request
    Zusammenfassung
    Welche Schlüssel bei HTTPS zusammenarbeiten
    Wenn du meine Website über https:// aufrufst, beginnt zwischen deinem Browser und meinem Webserver ein Ablauf, der asymmetrische und symmetrische Verfahren kombiniert. HTTPS steht für HTTP Secure und verwendet Port 443. Auch eine Weiterleitung auf dem Webserver kann deinen Browser zu HTTPS führen.
    Bei asymmetrischen Verfahren gehören ein öffentlicher und ein privater Schlüssel zusammen. Mit dem öffentlichen Schlüssel des Webservers lassen sich Daten verschlüsseln, die der Server mit seinem privaten Schlüssel entschlüsselt. Dadurch bleibt der Inhalt vertraulich. Digitale Signaturen ermöglichen es, die Echtheit und mithilfe eines Hashwerts auch die Unversehrtheit von Daten zu prüfen.
    Für den beschriebenen Ablauf sind fünf Schlüssel beteiligt:
    Der private Schlüssel der Zertifizierungsstelle dient dazu, Zertifikate zu signieren.
    Mit dem öffentlichen Schlüssel der Zertifizierungsstelle prüft der Browser diese Signaturen.
    Der öffentliche Schlüssel des Webservers steht im Serverzertifikat und dient dazu, den Sitzungsschlüssel verschlüsselt zu übertragen.
    Den privaten Schlüssel des Webservers braucht der Server, um den übertragenen Sitzungsschlüssel zu entschlüsseln.
    Der symmetrische Sitzungsschlüssel verschlüsselt anschließend die Daten zwischen Browser und Server.
    Wie der Browser einem Serverzertifikat vertraut
    Damit dein Browser den öffentlichen Schlüssel meiner Website zuordnen kann, lässt eine Zertifizierungsstelle, auch Certificate Authority oder CA genannt, ihn durch ein Zertifikat bestätigen. Dein Browser vertraut bestimmten CAs, deren Root-Zertifikate bereits hinterlegt sind. Dieses Vertrauen erstreckt sich über die Zertifikatskette auf das Serverzertifikat.
    Am Anfang dieser Kette erzeugt die CA ein eigenes Schlüsselpaar und stellt sich ein selbstsigniertes Root-Zertifikat aus. Browserhersteller prüfen die CA und hinterlegen ihr Root-Zertifikat als vertrauenswürdig. Diese Prüfung entscheidet darüber, welchen ausgestellten Zertifikaten der Browser später vertraut.
    Zwischen dem Root-Zertifikat und dem Serverzertifikat können Intermediate-Zertifikate liegen. Über deren Signaturen lässt sich die Kette bis zum bekannten Root-Zertifikat prüfen. Root-Zertifikate haben häufig eine lange Laufzeit, damit sie seltener ausgetauscht werden müssen.
    Weshalb HTTPS beide Verfahren kombiniert
    Wenn ich große Datenmengen über meinen Webserver ausliefere, kostet asymmetrisches Verschlüsseln Rechenzeit. Symmetrische Verfahren arbeiten schneller und eignen sich deshalb für den laufenden Datenverkehr. Als Beispiele werden symmetrische Schlüssel mit 128 Bit und asymmetrische Schlüssel mit 4096 Bit genannt.
    HTTPS arbeitet als hybrides Verfahren: Zu Beginn wird asymmetrisch ein symmetrischer Schlüssel sicher übertragen. Anschließend verschlüsseln beide Seiten die eigentlichen Inhalte symmetrisch. Dafür müssen Browser und Server denselben Sitzungsschlüssel kennen.
    Was ich für HTTPS auf meinem Webserver einrichte
    Ein Schlüsselpaar erzeugen: Ich erstelle den öffentlichen und den privaten Schlüssel für meinen Webserver. Den privaten Schlüssel bewahre ich geschützt auf.
    Ein Zertifikat beantragen: Den öffentlichen Schlüssel übermittle ich mit einem Certificate Signing Request, kurz CSR, an eine CA. Dazu kommen die erforderlichen Angaben zur Domain und gegebenenfalls zu mir als Betreiber:in.
    Die Kontrolle über die Domain nachweisen: Die CA prüft beispielsweise, ob ich eine bestimmte Datei über die Domain ausliefern oder eine E-Mail an eine zugehörige administrative Adresse empfangen kann.
    Das Zertifikat im Server hinterlegen: Nach der Prüfung signiert die CA die Zertifikatsdaten mit ihrem privaten Schlüssel. Die erhaltene Zertifikatsdatei hinterlege ich auf meinem Webserver.
    Die Dateien konfigurieren: Bei einem Apache-Webserver trage ich ein, wo das Zertifikat liegt. Der Server braucht außerdem Zugriff auf den passenden privaten Schlüssel.
    Kostenlose Zertifikate und die Prüfung der Identität
    Für meine Website verwende ich Let's Encrypt. Diese CA stellt kostenlose Zertifikate aus und ermöglicht es, den Ablauf zu automatisieren. Beispielsweise wird eine Datei mit einem vorgegebenen Inhalt über die beantragte Domain ausgeliefert....
    40 min
  • Kryptographie – Zertifikate und Zertifizierungsstellen – Anwendungsentwickler-Podcast #145
    Die Fortsetzung zum Oberthema Kryptographie mit Zertifikaten und Zertifizierungsstellen gibt es in der einhunderfünfundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Wenn ich eine verschlüsselte Verbindung zu einem Webserver aufbaue, brauche ich einen öffentlichen Schlüssel, dessen Herkunft ich prüfen kann. Zertifikate verbinden diesen Schlüssel mit Angaben zu seinem/seiner Inhaber:in und einer digitalen Signatur der Zertifizierungsstelle (CA). Dein Browser prüft die Signaturen entlang einer Vertrauenskette, die bei einem als vertrauenswürdig hinterlegten Root-Zertifikat endet. Werden CAs angegriffen, können gefälschte Zertifikate gültig erscheinen; Sperrlisten und zeitnahe Browser-Updates helfen dabei, entzogenes Vertrauen technisch durchzusetzen.
    Kapitelmarken
    [00:00:01] Einstieg: Zertifikate und Zertifizierungsstellen
    [00:00:47] Grundlagen: Hashes und Schlüsselpaare
    [00:02:00] Digitale Signaturen, Authentizität und Integrität
    [00:03:51] Öffentliche Schlüssel und Man-in-the-Middle-Angriffe
    [00:05:57] Zertifikate und die Rolle der CA
    [00:08:14] Wie Zertifizierungsstellen Angaben prüfen
    [00:09:20] Vertrauensketten und Root-Zertifikate
    [00:10:51] Zertifikate auf dem Webserver
    [00:12:08] Vertrauenswürdige CAs im Browser
    [00:14:16] Zertifikate sperren mit einer CRL
    [00:16:50] Inhalt und technische Form eines Zertifikats
    [00:17:50] Signaturen von Zertifikaten prüfen
    [00:19:13] Welche Zertifikatsdaten die CA signiert
    [00:21:02] Selbstsignierte Root-Zertifikate als Vertrauensanker
    [00:23:52] Eigene Zertifikate und interne Unternehmens-CAs
    [00:24:54] X.509, Attribute und Common Name
    [00:27:27] Ablauf am Beispiel einer Verbindung zum Webserver
    [00:29:28] Risiken durch angegriffene Zertifizierungsstellen
    [00:31:13] Browser-Updates und das Beispiel DigiNotar
    [00:34:13] Feedback und Shownotes
    [00:35:06] Ausblick auf HTTPS
    Inhalt
    Wiederholung: Für die elektronische Signatur und die Verschlüsselung von Daten werden Paare aus öffentlichen und privaten Schlüsseln benötigt.
    Probleme
    Wer garantiert dem Absender, dass ein öffentlicher Schlüssel auch wirklich dem angegebenen Empfänger gehört?
    Wie kann sichergestellt werden, dass ein öffentlicher Schlüssel nicht von einem Angreifer durch seinen eigenen ausgetauscht wurde?
    Zertifikat
    Mit einem Zertifikat bestätigt eine unabhängige dritte Partei die Echtheit des öffentlichen Schlüssels des Empfängers. Diese dritte Partei wird Zertifizierungsstelle genannt.
    Die Zertifizierungsstelle (englisch Certificate Authority, abgekürzt CA) bestätigt die Authentizität des Schlüssels des Empfängers, indem sie z.B. dessen Adresse und Identität prüft.
    Das kostet meistens Geld, je nachdem wie intensiv diese Prüfung gemacht wird. Das geht von "muss eine E-Mail-Adresse mit dieser Domain abrufen können" bis hin zu "das Unternehmen existiert tatsächlich unter der postalischen Adresse".
    Wenn Alice statt dem öffentlichen Schlüssel von Bob ein Zertifikat erhält, kann sie es wiederum mit dem Zertifikat der CA prüfen. Sie weiß nun sicher, dass sie den korrekten öffentlichen Schlüssel nutzt und nicht einen kompromittierten.
    Alice muss dafür allerdings dem Zertifikat der Zertifizierungsstelle selbst vertrauen, da auch diese kompromittiert werden kann. Es entsteht also eine Vertrauenskette, die irgendwo in einem Root-Zertifikat endet. Und diesem Zertifikat muss manuell vertraut werden.
    Das "Urvertrauen" in die verschiedenen CAs wird hergestellt, indem sie z.B. in Browser wie Firefox oder Chrome vom Hersteller fest "eingebaut" und als vertrauenswürdig gekennzeichnet werden.
    Sollte ein Zertifikat kompromittiert werden, gibt es sog. Certificate Revocation Lists (CRL), in die die nicht mehr validen Zertifikate eingetragen werden können. Dafür müssen diese Listen aber natürlich bei jeder Prüfung eines Zertifikats kontrolliert werden, was sehr aufwändig ist.
    Technische Umsetzung
    Zertifikate sind (Plain-Text-)Dateien, die verschiedene technische Informationen enthalten wie z.B. den Namen des Ausstellers, den zertifizierten öffentlichen Schlüssel des Empfängers, ein Ablaufdatum, die elektronische Signatur der ausstellenden CA.
    Vereinfacht (!) gesagt, ist das Zertifikat der mit dem privaten Schlüssel der CA signierte öffentliche Schlüssel des Empfängers. Nur mit dem öffentlichen Schlüssel der CA kann diese Signatur geprüft werden. Und dieser öffentliche Schlüssel ist für alle wichtigen CAs im Browser hinterlegt.
    Genauer gesagt werden alle Inhalte des Zertifikats signiert und vom öffentlichen Schlüssel des Empfängers nur der Hash. Und im Browser sind auch nicht nur die öffentlichen Schlüssel der CAs hinterlegt, sondern wiederum Zertifikate, die wiederum zertifizert sind usw.
    Die Root-Zertifikate am Ende dieser Kette werden dann von der CA selbst signiert und heißen selbstsignierte Zertifikate. Dabei garantiert quasi die CA selbst, dass sie wirklich diese CA ist.
    Der Aufbau der Dateien ist standardisiert, z.B. im Format X.509.
    Aussteller und Zertifikatinhaber werden durch eine Reihe von Attributen beschrieben, z.B. den sog. Common Name (CN), Land und Ort.
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Public-Key-Zertifikat
    X.509
    Zertifikatsperrliste
    Zusammenfassung
    Hashes und digitale Signaturen
    Wenn ich einen Hash über Daten bilde, entsteht ein Fingerabdruck mit fester Länge. Die Ausgangsdaten können beliebig lang sein. Schon ein verändertes Bit sollte den Hash deutlich verändern, sodass sich Änderungen an den Daten erkennen lassen.
    Bei einer digitalen Signatur signiere ich den Hash der Daten mit meinem privaten Schlüssel. Du kannst die Signatur mit meinem öffentlichen Schlüssel prüfen und selbst einen Hash über die empfangenen Daten bilden. Stimmen die Hashwerte überein, lassen sich zwei Schutzziele prüfen:
    Authentizität: Die Signatur stammt von der Person, die den passenden privaten Schlüssel besitzt.
    Integrität: Die signierten Daten sind unverändert angekommen.
    Die signierten Inhalte bleiben lesbar. Für vertrauliche Daten braucht es zusätzlich ein Verfahren, das sie verschlüsselt.
    Warum ein öffentlicher Schlüssel ein Zertifikat braucht
    Für eine Nachricht an einen Webserver kann ich dessen öffentlichen Schlüssel verwenden. Der Server entschlüsselt sie mit dem dazugehörigen privaten Schlüssel. Dabei muss ich sicher sein, dass der öffentliche Schlüssel zum gewünschten Server gehört.
    Ein:e Angreifer:in kann einen Schlüssel auf einem übernommenen Server ersetzen oder ihn unterwegs bei einem Man-in-the-Middle-Angriff austauschen. Wenn ich anschließend mit diesem ausgetauschten Schlüssel verschlüssele, kann die angreifende Person meine Nachricht entschlüsseln.
    Bei einer persönlich bekannten Kontaktperson kann ich den Schlüssel direkt vergleichen oder seinen Fingerprint prüfen. Für einen bisher unbekannten Webserver übernimmt eine Zertifizierungsstelle, auf Englisch Certificate Authority (CA), die Rolle einer vertrauenswürdigen dritten Partei. Sie bestätigt mit ihrer Signatur, wem der öffentliche Schlüssel zugeordnet ist.
    Was eine CA prüft
    Bevor eine CA ein Zertifikat ausstellt, prüft sie die Angaben des/der Antragsteller:in. Wie umfangreich sie dabei vorgeht, hängt vom angebotenen Verfahren ab. Ein möglicher Nachweis ist der Zugriff auf E-Mails einer Domain. Weitergehende Prüfungen können Angaben zur Person oder zum Unternehmen einbeziehen, etwa einen Ausweis oder die Firmenadresse.
    Die genannten Angebote reichen von kostenlosen Zertifikaten beziehungsweise etwa zehn Dollar pro Jahr bis zu mehreren hundert Dollar jährlich für umfangreichere Prüfungen. Zertifikate gelten für einen begrenzten Zeitraum und müssen erneuert werden.
    Vertrauenskette und Browser
    Zwischen dem Zertifikat eines Webservers und einer Root-CA können weitere CA-Zertifikate liegen. Jede beteiligte CA signiert das nachfolgende Zertifikat. Dein Browser prüft diese Vertrauenskette, bis er ein Zertifikat erreicht, dem er bereits vertraut.
    Browser-Anbieter:innen hinterlegen dafür CA-Zertifikate in ihrer Software und kennzeichnen sie als vertrauenswürdig. Darin stehen die öffentlichen Schlüssel, mit denen der Browser weitere Signaturen prüfen kann. In den Sicherheitseinstellungen deines Browsers kannst du dir die hinterlegten Zertifikate ansehen.
    Weltweit gibt es mehrere hundert CAs. Zu den genannten Beispielen gehören Microsoft und die Telekom. Durch die hinterlegten Zertifikate hängt das Vertrauen deines Browsers auch davon ab, welche CAs die Browser-Anbieter:innen akzeptieren.
    Inhalt und Signatur eines Zertifikats
    Ein Webserver liefert seinem Client eine Zertifikatsdatei mit dem öffentlichen Schlüssel und zusätzlichen Angaben. Zertifikate begegnen dir häufig als Base64-kodierte Textdateien; daneben gibt es binäre Formate.
    Zu den enthaltenen Informationen gehören:
    Angaben zur ausstellenden CA und zum/zur Zertifikatsinhaber:in
    der öffentliche Schlüssel des/der Inhaber:in
    das Datum, an dem das Zertifikat ausgestellt wurde, sowie sein Ablaufdatum
    Angaben zu den verwendeten Hash-Verfahren
    die digitale Signatur der CA
    Die CA bildet einen Hash über die zu signierenden Zertifikatsdaten und signiert ihn mit ihrem privaten Schlüssel. Dadurch sind auch die Angaben geschützt, die den Schlüssel begleiten.
    Wenn mein Browser dieses Zertifikat erhält, prüft er die Signatur mit dem öffentlichen Schlüssel der ausstellenden CA. Dazu gehört der Vergleich mit einem selbst berechneten Hash der Zertifikatsdaten. So lässt sich feststellen, ob die CA das Zertifikat signiert hat und ob seine Inhalte unverändert geblieben sind. Bei mehreren beteiligten CAs wiederholt sich diese Prüfung entlang der Kette.
    Root-Zertifikate und eigene Zertifikate
    Am Ende der Kette steht ein Root-Zertifikat, das die Root-CA selbst signiert. Das Vertrauen in dieses Zertifikat wird ausdrücklich festgelegt, beispielsweise durch die Browser-Anbieter:innen. Ab diesem Vertrauensanker lassen sich die nachfolgenden Signaturen technisch prüfen.
    Für meinen eigenen Webserver kann ich ebenfalls ein selbstsigniertes Zertifikat erstellen....
    37 min
  • Normalisierung einer Datenbank am konkreten Beispiel – Anwendungsentwickler-Podcast #144
    Wir gehen ein komplettes Beispiel zur Normalisierung einer relationalen Datenbank durch in der einhundertvierundvierzigsten Episode des Anwendungsentwickler-Podcasts.
    TL;DR
    Ich gehe mit dir an einem Beispiel mit Bestellungen und Artikeln durch, wie du eine relationale Datenbank bis zur dritten Normalform aufbaust. Dabei zerlegst du zusammengesetzte Werte, verteilst mehrfach enthaltene Artikel auf einzelne Zeilen und trennst Daten anhand ihrer Abhängigkeiten in eigene Tabellen. Primärschlüssel und Fremdschlüssel halten die Beziehungen zusammen, während du Redundanzen und daraus entstehende Anomalien vermeidest. Für deine Prüfung als Fachinformatiker:in solltest du die Normalformen definieren und jeden Schritt an einem vorbereiteten Beispiel begründen können.
    Kapitelmarken
    [00:00:01] Hinweis zum Fachgespräch
    [00:00:37] Normalisieren in der schriftlichen Prüfung und im Fachgespräch
    [00:02:26] Ein passendes Beispiel für die Prüfung vorbereiten
    [00:05:16] Redundanzen und Anomalien als Grund fürs Normalisieren
    [00:06:53] Merkhilfe: The key, the whole key and nothing but the key
    [00:07:52] Das Beispiel mit Kund:innen und Bestellungen
    [00:12:20] Ausgangstabelle und Probleme beim Abfragen
    [00:16:11] Erste Normalform und atomare Attribute
    [00:19:03] Postleitzahlen: Kardinalität und Datentyp
    [00:20:34] Wiederholungsgruppen auf einzelne Zeilen verteilen
    [00:24:56] Datensätze über Schlüssel identifizieren
    [00:26:33] Redundanzen und Änderungsanomalien
    [00:28:58] Zweite Normalform und vollständige funktionale Abhängigkeit
    [00:32:18] Eigene Tabellen und Fremdschlüssel einführen
    [00:33:52] Bestellpositionen als m:n-Zwischentabelle
    [00:36:25] Menge und konkreten Kaufpreis richtig zuordnen
    [00:39:53] 1:n-Beziehungen in der zweiten Normalform
    [00:42:28] Dritte Normalform und redundante Artikelgruppen
    [00:44:50] Transitive Abhängigkeiten verstehen
    [00:47:47] Artikelgruppen auslagern und per Fremdschlüssel verknüpfen
    [00:50:49] Das fertige Tabellenmodell und seine Schlüssel
    [00:53:19] Anomalien vermeiden und Beziehungen erhalten
    [00:56:15] Normalformen und Merkhilfe für die Prüfung wiederholen
    [00:58:50] Begleitmaterial und Literatur
    [01:00:48] Feedback und Abschluss
    Inhalt
    Theoretische Grundlagen
    Wir normalisieren Datenbanken um Redundanzen zu vermeiden, die zu Anomalien führen können. Mehr dazu in Podcast-Episode 18.
    Grundlagen wie Schlüssel, Kardinalitäten usw. erkläre ich in Podcast-Episode 17.
    Merksatz: "The key, the whole key, and nothing but the key."
    Beispieldaten
    Wir verwenden ein "klassisches" Beispiel, das so oder ähnlich in vielen IHK-Prüfungen genutzt wird.
    Umfeld: Kunden bestellen Artikel aus verschiedenen Artikelgruppen.
    Ein Kunde kann mehrere Bestellungen durchführen. Eine Bestellung wird immer von genau einem Kunden getätigt.
    Zu den Kunden werden Name und Adresse erfasst.
    Jede Bestellung hat ein Bestelldatum.
    In einer Bestellung können mehrere Artikel enthalten sein. Ein Artikel kann auch in mehreren Bestellungen auftauchen.
    Artikel haben eine Bezeichnung und einen Preis.
    Ein Artikel kann zu genau einer Artikelgruppe gehören. Eine Artikelgruppe kann mehrere Artikel enthalten.
    Artikelgruppen haben eine Bezeichnung und einen Rabatt.
    Ausgangssituation (nicht normalisiert)
    Alle Bestellungen stehen in einer einzelnen Tabelle. Jede Bestellung steht komplett inkl. mehrerer Artikel in einer Zeile. Die Adresse steht komplett in einem einzigen Attribut.
    Beispiele für Probleme: Viele Redundanzen (z.B. Adressen, Artikelbezeichnungen), Sortierung nach Ort ist nicht möglich, Selektion aller gekaufter Fernseher ist nicht möglich.
    1. Normalform
    Definition: Es gibt 1) nur atomare Attribute und 2) keine Wiederholungsgruppen.
    "the key": Alle Datensätze sind eindeutig über einen Primärschlüssel identifizierbar.
    Durch 2) werden Redundanzen zunächst eingeführt, da aus einer Zeile nun mehrere Zeilen mit redundanten Inhalten werden.
    Vorgehen: Nicht-atomare Attribute auf mehrere Spalten aufteilen. Wiederholungsgruppen auf mehrere Zeilen aufteilen.
    Ein Datensatz ist über einen zusammengesetzten Schlüssel aus drei Attributen identifizierbar.
    Redundanzen: Kunden-, Bestell- und Artikeldaten sind jeweils mehrfach vorhanden.
    Ursache: Tabelle enthält drei Konzepte (Kunde, Bestellung, Artikel), die alle nur von Teilen des Schlüssels abhängen und nicht vom gesamten.
    2. Normalform
    Definition: (1. Normalform erfüllt und) alle Attribute sind voll funktional vom Primärschlüssel abhängig.
    "the whole key": Alle Attribute hängen vom gesamten Schlüssel ab (und nicht nur von seinen Teilen).
    Vorgehen: Alle drei Konzepte auf einzelne Tabellen aufteilen. Fremdschlüssel für Referenzen einführen. Zuordnungstabelle Position mit zusammengesetztem Schlüssel aus Fremdschlüsseln einführen.
    m:n-Beziehungen werden aufgelöst.
    Menge gehört an die Kombination aus Bestellung und Artikel und weder an das eine noch das andere allein.
    Redundanzen: Artikelgruppe und Rabatt gehören zusammen und sind mehrfach vorhanden.
    Ursache: Rabatt hängt von Artikelgruppe ab und nicht von der Artikelnummer (=transitive Abhängigkeit).
    3. Normalform
    Definition: (2. Normalform erfüllt und) es gibt keine transitiven Abhängigkeiten.
    "and nothing but the key": Kein Nicht-Schlüssel-Attribut hängt von einem anderen Nicht-Schlüssel-Attribut ab.
    Vorgehen: Artikelgruppe in eigene Tabelle extrahieren und Fremdschlüssel für Referenz einführen.
    1:n-Beziehungen werden aufgelöst.
    Ergebnis
    Jede Tabelle enthält genau ein Konzept.
    Keine Daten sind mehr redundant.
    In jeder Tabelle gibt es einen eindeutigen Primärschlüssel.
    Fremdschlüssel werden für Referenzen auf Datensätze in anderen Tabellen verwendet.
    Literaturempfehlungen
    Zum Einstieg ins Thema Datenbanken inkl. Modellierung, Normalisierung und SQL empfehle ich Einstieg in SQL* von Michael Laube.
    *
    Links
    Permalink zu dieser Podcast-Episode
    RSS-Feed des Podcasts
    Relationale Datenbanken - Häufige Fragen im Fachgespräch
    Normalisierung - Häufige Fragen im Fachgespräch
    Normalisierung (Datenbank)
    Zusammenfassung
    Normalformen in deiner IT-Prüfung
    An einem Beispiel mit Bestellungen und Artikeln gehe ich mit dir bis zur dritten Normalform. Als IT-Azubi zum/zur Fachinformatiker:in Anwendungsentwicklung brauchst du dieses Wissen beim Entwerfen relationaler Tabellenmodelle und im Fachgespräch. Dort gehören auch die Definitionen der Normalformen und die Gründe für jeden Schritt zu den möglichen Fragen.
    Bereite dir dafür ein konkretes Beispiel vor, dessen Beziehungen du nachvollziehen kannst. Das hier beschriebene Bestellmodell kommt häufig in IHK-Aufgaben vor. Auch ein anderes vertrautes Beispiel eignet sich, wenn du die Abhängigkeiten darin erklären kannst.
    Warum Daten normalisieren?
    Wenn du dieselben Daten mehrfach speicherst, entstehen Redundanzen. Daraus können Anomalien folgen: Ändert sich etwa eine Adresse, musst du jeden betroffenen Datensatz anpassen. Bleibt eine alte Adresse stehen, enthält die Datenbank widersprüchliche Angaben.
    Durch die einzelnen Normalformen verteilst du zusammengehörige Daten auf eigene Tabellen. So lassen sich Angaben getrennt abfragen und an einer Stelle ändern. Der zusätzliche Speicherbedarf mehrfach gespeicherter Werte spielt dabei eine untergeordnete Rolle.
    Das Beispiel und seine Beziehungen
    In meinem Beispiel bestellen Kund:innen Artikel, die jeweils zu einer Artikelgruppe gehören. Für das Modell gelten diese Regeln:
    Kund:in und Bestellung, 1:n: Ein:e Kund:in kann mehrere Bestellungen aufgeben. Jede Bestellung gehört genau einer Person.
    Bestellung und Artikel, m:n: Eine Bestellung kann mehrere Artikel enthalten. Derselbe Artikel kann in mehreren Bestellungen vorkommen.
    Artikelgruppe und Artikel, 1:n: Jeder Artikel gehört im Beispiel zu genau einer Gruppe, die mehrere Artikel enthalten kann.
    Zu einer Kund:in gehören Name und Adresse. Eine Bestellung hat ein Bestelldatum; beim Artikel sind Bezeichnung und Preis hinterlegt. Die Artikelgruppe hat eine eigene Bezeichnung und einen Rabatt, etwa zehn Prozent für Elektronik.
    Am Anfang stehen alle Angaben in einer Excel-Tabelle mit einer Zeile pro Bestellung. Die komplette Adresse ist in einer Zelle gespeichert, ebenso die Liste der bestellten Artikel. Dadurch lassen sich einzelne Orte oder Artikel schwer gezielt abfragen. Sobald eine Person erneut bestellt, werden ihre Angaben nochmals erfasst.
    Erste Normalform: atomare Attribute und aufgelöste Wiederholungsgruppen
    Für die erste Normalform müssen die Attribute atomar sein und Wiederholungsgruppen aufgelöst werden.
    Zusammengesetzte Werte aufteilen
    Atomar bedeutet, dass ein Wert für die Anforderungen deines Datenmodells als einzelne Einheit behandelt wird. Die Adresse zerlege ich im Beispiel in eine Spalte für die Straße einschließlich Hausnummer sowie separate Spalten für Postleitzahl und Ort.
    Wie weit du solche Angaben aufteilst, hängt von deinen Anforderungen ab. Wenn du die Hausnummer oder ihren Zusatz einzeln verarbeiten musst, bekommen diese Bestandteile eigene Spalten. Im Beispiel bleibt die Straßenangabe einschließlich Hausnummer zusammen.
    Zwei Details sind dabei zu beachten:
    Zwischen Postleitzahl und Ort besteht in Deutschland eine m:n-Beziehung. Ein Ort kann mehrere Postleitzahlen haben; eine Postleitzahl kann für mehrere Orte gelten.
    Speichere Postleitzahlen als Text, damit führende Nullen erhalten bleiben. Dieser Datentyp erlaubt auch Buchstaben, die in internationalen Postleitzahlen vorkommen.
    Mehrfach enthaltene Artikel auf einzelne Zeilen verteilen
    Enthält eine Bestellung mehrere Artikel in einer Zelle, liegt eine Wiederholungsgruppe vor. Dafür erhält jeder bestellte Artikel eine eigene Zeile. Die übrigen Angaben zur Bestellung und zur bestellenden Person werden zunächst in jede dieser Zeilen übernommen.
    Bei einer Bestellung mit mehreren Artikeln stehen die Kundendaten dadurch mehrfach in der Tabelle. Diese zusätzlichen Redundanzen entstehen beim ersten Schritt und werden in den folgenden Normalformen entfernt.
    Jede Zeile muss eindeutig identifizierbar sein....
    1 hr 2 min

About IT-Berufe-Podcast

From the publisher's feed

Der Podcast rund um die Ausbildung in den IT-Berufen (insb. Fachinformatiker für Anwendungsentwicklung) von Stefan Macke.

More shows like IT-Berufe-Podcast

Streitkräfte und Strategien by NDR

Streitkräfte und Strategien

43 Listeners

Sternengeschichten by Florian Freistetter

Sternengeschichten

45 Listeners

Geschichten aus der Geschichte by Richard Hemmer und Daniel Meßner

Geschichten aus der Geschichte

176 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

10 Listeners

MORD AUF EX by Leonie Bartsch & Linn Schütze

MORD AUF EX

112 Listeners

{ungeskriptet} - Der Meinungsfreiheit verpflichtet. by Ben Berndt

{ungeskriptet} - Der Meinungsfreiheit verpflichtet.

48 Listeners