Programmieren als Beruf

Die Aufgaben von Programmiererinnen und Programmierern sind spannend und vielfältig. Auf dieser Seite haben Schülerinnen und Schüler die Gelegenheit, spielerisch die Aufgabenfelder von Server-, Datenbank-, UI- und Grafikprogrammiererinnen und Programmierern kennenzulernen.

Arbeitsmittel

Info für Lehrende

Eingeloggte Lehrer*innen werden hier durch Unterrichtsvorschläge und Zusatzinformationen zur Seite und zu Lernzielen unterstützt.
Mehr zu SchuBu+

Programmierer*in

Programmieren ist ähnlich wie Spielen. Es ist schwierig, aber es gibt meistens eine richtige Lösung und man kann stolz sein, wenn man sie gefunden hat. Wenn dir dieses Lösen Spaß macht, du ein mathematisches Grundverständnis mitbringst und du keine Scheu davor hast, eine Programmiersprache zu lernen, dann solltest du dir dieses Berufsfeld näher ansehen.

Programmieren

Doch mit einem kurzen Blick ist es nicht getan. Denn die Programmiererin oder den Programmierer gibt es eigentlich gar nicht. In unserer technisierten Welt kommen Programmierer in vielen Branchen zum Einsatz, in denen sie unterschiedliche Fachbereiche abdecken. Beispiele sind:

  • Web-Entwicklerinnen und Entwickler programmieren Internetseiten, wie diese hier.
  • Software-Entwicklerinnen und Entwickler programmieren Programme, wie Microsoft-Word.
  • App-Entwickler*innen programmieren Mobile-Apps für das Handy.
  • Spiele-Entwicklerinnen und Entwickler programmieren Spiele.

Auch in Bereichen wie Automatisierung, KI, Sicherheit gibt es spannende Aufgabenfelder, die sich Programmiererinnen und Programmierern eröffnen.

Die Entscheidung für eine Spezialisierung ist schwierig und fällt nicht immer leicht. Für diejenigen, die am liebsten möglichst viele Bereiche abdecken wollen, ist vielleicht Full-Stack-Entwicklerin oder der Full-Stack-Entwickler das Richtige:

Full-Stack-Entwickler*in

Dieser Beruf ist besonders vielfältig, weil er zwei Fächer vereint:

  1. Front-End: Das ist der Teil einer Anwendung, den eine Benutzerin oder ein Benutzer sieht. Die Aufgabe ist zum Beispiel, benutzerfreundliche und visuell ansprechende Oberflächen zu entwickeln.
  2. Back-End: Das ist der Teil einer Anwendung, der das Front-End mit Daten aus Datenbanken auf einem Server versorgt. Die Aufgabe ist, Daten zu speichern, zu verarbeiten. Oft sind viele tausend Benutzerinnen und Benutzer zugleich mit ihren Front-Ends mit einem Server verbunden, auf dem das Back-End als Programm läuft.

Full-Stack-Entwickler*innen kombinieren beide Bereiche und können komplette Anwendungen entwickeln. Sie verstehen die gesamte Software-Architektur, was Kommunikation und Zusammenarbeit im Team erleichtert.

Sie sind eine Art Alleskönner*innen in der Softwareentwicklung.

Spezialisierungen

Eine Spezialisierung bietet wiederum den Vorteil, dass man Expertin oder Experte in einem Bereich ist und besonders anspruchsvolle Aufgaben übernehmen kann. Die folgenden vier Abschnitte stellen vier Spezialisierungsmöglichkeiten vor. In jedem gibt es ein Spiel, das den Herausforderungen ähnelt, die man in diesem Fachbereich lösen muss.

Spiele die 4 Spiele in den folgenden Abschnitten und finde heraus, welche Spezialisierung besonders gut zu dir passt!

Server-Programmierer*in

Versuche die Datenpakete unter Kontrolle zu halten, die zugleich an verschiedenen Stellen eines Servers beantwortet werden müssen! Verwende die Pfeiltasten, um eine Anfrage eines Datenpakets auf einer Seite des Servers zu beantworten!
GamBu Konsole
Spielen
Gewonnen!
Bots starten?
Verloren!
Der Seppibär is los!
Assets
Texturen Sounds
Wenn alle Texturen, Bilder und Grafiken von dir selbst erstellt, gemalt oder gezeichnet worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Grafiken enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Grafiken, auch deine eigenen, nach Veröffentlichung unter CC0.
Die Texturen sollten genau 62 x 62 Pixel groß sein
Wenn alle Musikstücke und Geräusche von dir selbst erstellt, gesungen, gespielt und komponiert worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Sounds enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Sounds, auch deine eigenen, nach Veröffentlichung unter CC0.

Ganz schön stressig, oder? Server-Programmierer*innen müssen stressresistent sein und sollten den Überblick nicht verlieren!

Server programmieren

Wenn viele Menschen Internetseiten auf einem Internet-Server betrachten wollen, wenn sie ihr Geld per Internet überweisen wollen, wenn sie Nachrichten per Messenger an ihre Bekannten schicken wollen, dann sind immer drei Bereiche notwendig, damit das funktioniert:

  1. Server mit Datenbank: Auf einem oder mehreren Computern müssen die notwendigen Daten gespeichert sein. Das ist meistens ein Server. Darauf sind die Internetseiten, oder die Bankkonten und viele Benutzer*innen-Daten in einer Datenbank gespeichert.
  2. Front-End: Hier entscheiden die Benutzerinnen und Benutzer, was sie machen wollen. Welche Internetseite sie sehen wollen, wie viel Geld auf ein anderes Konto überwiesen werden soll, oder welche Nachricht verschickt werden soll.
  3. Kommunikation: Viele Front-End-Programme kommunizieren mit dem Server, um die richtigen Daten zu erhalten.
Für Server-Programmierung, Datenbanken (Bereich 1) und Kommunikation mit den Front-Ends (Bereich 3) sind die Server-Programmierer*innen zuständig.
Server-Programmierer*innen sind für die Bereiche Server-Programmierung, Datenbanken und Kommunikation mit den Front-Ends zuständig.

Die besonderen Herausforderungen sind dabei:

Parallele Verarbeitung: Viele tausend Anfragen können pro Sekunde zugleich am Server einlangen. Das darf das Programm nicht überfordern, auch wenn das sehr kompliziert sein kann.

Hohe Stabilität: Wenn im Front-End ein Fehler auftritt, dann ist meistens eine Benutzerin oder ein Benutzer betroffen. Aber wenn am Server in einem Programm ein Fehler auftritt, dann sind davon manchmal Millionen Benutzerinnen und Benutzer betroffen.

Datenbank-Programmierer*in

Ein Verbrechen wurde begangen und nur du hast Zugriff auf alle Daten, um den Täter zu stellen! Finde den Täter! Filtere seinen Namen mit einer SQL-Datenbank-Abfrage heraus! Du hast erst gewonnen, wenn nur noch ein Name nach der Abfrage zurückkommt. Wie heißt der Täter?
Popup: Datenbank

Datenbank

Ein Verbrechen wurde begangen und nur du hast Zugriff auf alle Daten, um den Täter zu stellen! Finde den Täter! Filtere seinen Namen mit einer SQL-Datenbank-Abfrage heraus! Du hast erst gewonnen, wenn nur noch ein Name nach der Abfrage zurückkommt. Wie heißt der Täter?

Bekkant ist:

Er ist männlich, 1992 geboren. Er war von 2012-2014 Lehrer . 2005 hat er eine Trafik ausgeraubt.

Info für Lehrende

Noch vor 100 Jahren sind fast alle Daten in Büchern, auf Karteikarten und zusammengehefteten Zetteln gestanden. Viele davon handschriftlich. Man musste oft vor Ort reisen, um herauszufinden, welche Bücher eine Bibliothek hat oder wenn man sich über ein Thema informieren wollte.

Doch der Zugriff auf Daten und damit Wissen hat sich radikal verändert. Digitale Daten von Bibliotheken, Banken, Unternehmen, Krankenkassen und vielen anderen Institutionen sind heute meist in tausenden Tabellen in elektronischen Datenbanken erfasst und auf vielen Computern gespeichert.

Doch wie werden diese Daten eingegeben, verwaltet, bearbeitet, dargestellt, gespeichert oder gelöscht? Wer hat Zugriff auf diese Informationen? Mit diesen Fragen beschäftigen sich Datenbank-Programmiererinnen und Programmierer.

Datenbank programmieren
Datenbank-Programmiererinnen und Programmierer entwickeln, optimieren und verwalten Datenbanksysteme, die es ermöglichen, Daten zu speichern und schnell abzurufen.

Besondere Herausforderung:

In unserer vernetzten Welt muss oft auf verschiedene Datenbanken gleichzeitig zugegriffen werden: Wenn jemand zum Beispiel Geld auf ein Konto eines Internetgeschäfts überweisen möchte, dann sind die notwendigen Daten für diese Transaktion auf unterschiedlichen Tabellen und Computern von unterschiedlichen Banken:

  • persönliche Daten, damit man weiß, ob die Person überhaupt berechtigt ist,
  • Kontodaten, um zu wissen, ob genug Geld am Konto ist,
  • die Internetseite des Geschäfts,
  • die Kontodaten des Geschäfts auf einem anderen Computer von einer anderen Bank
  • und dann die Daten, die gespeichert werden, damit das Geschäft weiß, was mit dem Geld gekauft wurde.

UI-Programmierer*in

Geht in Gruppen zu zweit oder dritt zusammen und löst das folgende User-Interface-Rätsel!

Jede und jeder von euch wählt eine andere Aufgabe Haus, Gesicht oder Mensch. Wichtig! Nicht in die anderen Aufgaben hineinschauen!

  1. Erarbeite eine Lösung
  2. Zeige deine Lösung deiner Klassenkollegin oder deinem Klassenkollegen mit folgenden Worten: „Worauf klickst du?” Sonst darf nichts gesprochen oder erklärt werden, bis die Kollegin oder der Kollege sagt, worauf er oder sie klickt.
Info für Lehrende

Aufgabe 1: Haus

Popup: Erstelle ein Interface!

Erstelle ein Interface!

Verwende die geometrischen Figuren, um ein einfaches Haus darzustellen. Wenn dieses Haus jemand sieht, soll er oder sie sofort und sicher auf die Tür klicken! Wie kannst du das möglichst klar machen, ohne Text zu verwenden?

Aufgabe 2: Gesicht

Popup: Erstelle ein Interface!

Erstelle ein Interface!

Verwende die geometrischen Figuren, um ein einfaches Gesicht darzustellen. Wenn dieses Gesicht jemand sieht, soll er oder sie sofort und sicher auf das rechte Auge klicken! Wie kannst du das möglichst klar machen, ohne Text zu verwenden?

Aufgabe 3: Mensch

Popup: Erstelle ein Interface!

Erstelle ein Interface!

Verwende die geometrischen Figuren, um einen einfachen Menschen darzustellen. Wenn diesen Menschen jemand sieht, soll er oder sie sofort und sicher auf die linke Hand klicken! Wie kannst du das möglichst klar machen, ohne Text zu verwenden?

Als Computer erfunden wurden, haben Programmiererinnen und Programmierer den Computern in Computersprache mitgeteilt, was sie machen sollen. Heute können auch ungeschulte Nutzerinnen und Nutzer von Computerprogrammen und Apps komplexe Aufgaben erledigen lassen. Dies wird durch eine Benutzeroberfläche (User Interface) ermöglicht, welche die Möglichkeiten so darstellt, dass sie von Menschen ohne viele Erklärungen verwendet werden kann. Heute sagen uns die Computer, wie sie am besten benutzt werden.

Intelligente Benutzerschnittstellen werden von UI-Programmiererinnen und Programmierern entwickelt. Es handelt sich dabei um aufwändige und intelligente Programme.

User-Interface programmieren
User-Interface- Programmiererinnen und Programmierer optimieren interaktive Webseiten oder programmieren beispielsweise Steuerkomponenten, wie Icon-Schaltflächen, Slider und Textfelder, die sich auf ganz unterschiedlich großen Bildschirmen neu anordnen und trotzdem ähnlich bedienen lassen.

Besondere Herausforderung: Das User-Interface soll auf verschiedenen Endgeräten und Bildschirmgrößen funktionieren und für verschiedene Zielgruppen verständlich sein.

Grafik-Programmierer*in

Verändere die Parameter im Script rechts so, dass es aussieht, als würde sich eine Kugel in einem dreidimensionalen Raum in einer Kreisbewegung vor- und zurückbewegen!
Info für Lehrende
Starten
Zeit = 0
x = 0
y = 0
Größe = 1
// Variablen
var zeit = 0, speed = 10, x = 0, y = 0, size = 1;
var textur = "bilder/"

// Funktion zum Animieren des Kreises
function frame_update () {
  x = * 40;
  y = * 40/3;
  size = 1 + / 2;
  textur_x =
}
// Wiederhole die Function
loop(frame_update);

Grafik-Programmiererinnen und Grafik-Programmierer entwickeln Programme, die zum Beispiel möglichst realitätsgetreue 3D-Computergrafik erzeugen sollen.
Grafikprogrammieren

Besondere Herausforderungen:

  1. Eine Schwierigkeit beim Entwickeln von 3D-Ansichten besteht darin, dass ein Bildschirm nur 2-dimensionale Bilder darstellen kann. Damit die Grafik eines Spiels jedoch 3-dimensional aussieht, sind viele mathematische Tricks notwendig.
Schalte in dieser Animation verschiedene Funktionen ein- und aus! Verändere die Kameraposition, indem du das Bild versuchst, zu verschieben.

Animation

  1. Animation: Damit ein Spiel realistisch aussieht, ist neben dem 3D-Look auch wichtig, wie sich Objekte verändern und bewegen. Dafür muss der Computer nach jeder kleinen Änderung ein neues Bild berechnen und anzeigen. Für unser Auge wirken 60 Änderungen pro Sekunde (60 fps) sehr flüssig.

Hacks und Tricks

Bei einem Einstellungsgespräch für Programmiererinnen und Programmierer zählen Praxis und Erfahrung. Nimm also immer Beispiele davon mit, was du selbst programmiert hast.

11. Programmieren als Beruf
Tools
Zeit
Zufall
Zeigen
Rechnen
Antworten
Quiz
Über SchuBu
1.1.5.a
Meine Lösung prüfen
später prüfen
Tipp 1
Tipp 2
Lösung
   
Ok
erledigt
Juhu!
Du hast alle Aufgaben abgeschlossen.
Dein Ergebnis:
Genug für heute
leider falsch
Oje!
Das ist leider nicht ganz richtig.
Noch einmal versuchen
richtig
Bravo!
Deine Lösung ist richtig.
Nächste Aufgabe