HR-Management, Recruiting, Recruiting-Wissen

IT-Recruiting: Diese Begriffe sollte man kennen

IT-Recruiting Basics - Grundbegriffe und IT-Berufe im Überblick

Wer einen Fullstack-Entwickler sucht, sollte auch wissen, was dieser tut und welche Skills er wofür nutzt. Im ersten Teil unserer neuen Blog-Reihe IT-Recruiting geht es um grundlegende Begriffe und Berufe, die man als Personaler aus dem IT-Bereich kennen sollte. Denn nur wer seine Zielgruppe versteht, wird auch Erfolg beim Recruiting haben! Ein kleiner Basiskurs zum Thema IT-Recruiting.

it-recruiting-basics-berufe-begriffe

Beim IT-Recruiting geht es vor allem um eines – geeignete Such- und Sourcingstrategien für den Fachbereiche der IT umzusetzen. Um zunächst in diesem sehr dynamischen Bewerbermarkt zurecht zu kommen, muss man die Zielgruppe genau kennen, um sie zu verstehen. Das IT-Umfeld ist sehr komplex und setzt sich dabei mit vielen Fachbegriffen auseinander. Wir zeigen heute die wichtigsten Begriffe und IT-Berufe, die man kennen sollte.

IT-Recruiting - Wissen im Überblick

Frontend und Backend

Frontend und Backend bedeuten wortwörtlich übernommen Vor- und Unterbau. Beides sind unterschiedliche Schichten in einem IT-System, wobei Frontend näher am Benutzer ist (Eingabenähe) und das Backend näher am System (Verarbeitungsnähe).

Das Frontend wird dabei im Client dargestellt – der Client ist ein Medium, welches beispielsweise eine Website darstellen kann. Das Backend hingegen hat die Funktion das Frontend erst zu ermöglichen – hier liegen alle Daten, die das Frontend durch eine API abfragt.

Frontend – Der Teil des Programms, der sich um die Schnittstelle zum Anwender kümmert.

Backend – Der Teil des Programms, der dafür sorgt, dass systemseitig alles funktioniert.

it-recruiting-frontend-backend-searchtalent

Was ist ein Framework?

Ein Framework ist das Programmiergerüst für den Entwickler. Dabei sind Frameworks keine eigenständigen Programme, sondern dienen als automatisierte Unterstützung, um bestimmte Schritte zu vereinfachen. Man kann ein Framework nicht nur für Programme, sondern auch für bestimmte Web-Anwendungen nutzen.

  • Für Programme und Web-Anwendungen
  • Genormte Schnittstellen für weitere Anwendungen
  • Umfassender als ein Protokoll
  • Normativer als eine Struktur
  • Wird nicht immer benötigt
  • Framework Art richtet sich nach Aufgabe und Problem

Framework Arten:
PHP: Zend Framework, Seagull, ..
CMS: Typo3, WordPress, …
Python: Django, …
Java: Play, Spring, …

IT-Berufe und deren Unterschiede - Wer macht was?

Der Fullstack-Entwickler beherrscht alle technischen Skills, um eine voll funktionsfähige Web-Anwendung zu entwickeln.

  • Kennt sich mit Server-/Netzwerk-/Hosting-Umgebungen aus
  • Datenmodellierung und Datenbanken
  • Geschäftslogik
  • API-Schicht/Aktionsschicht/MVC
  • CSS, JavaScript und HTML

Hinweis: Das Spektrum an Wissen ist oft groß, reicht aber nicht immer in die Tiefe.

Ein Frontend-Entwickler beschäftigt sich mit der Entwicklung und Darstellung einer Webseite hinsichtlich visueller Aspekte, dazu gehört zum Beispiel die Layout-Ästhetik.

  • Benutzeroberflächen-Knowhow (englisch UI für User Interface)
  • Fachkenntnisse in CSS, JavaScript, HTML
  • Programmierung von UI-spezifischem Code

Der Backend-Entwickler nimmt die serverseitige Programmierung der Webseite vor. Er kümmert sich um die Funktionen, die Kernlogik und die Ausführung einer Software oder eines Informationssystems und pflegt diese langfristig.

  • Beherrscht höhere Programmiersprachen
  • Sorgt dafür, dass die vom Frontend-System angefragten Daten oder Services bereitgestellt werden
  • Datenbanken und SQL

Der Desktop-Entwickler pflegt Softwareanwendungen, die auf Desktop-Betriebssystemen, wie OS X, Windows und Linux ausgeführt werden.

  • GUI-Toolkits (Graphic User Interface)
  • WinForms, XAML, Gtk+ und Cocoa

Der Mobil-Entwickler schreibt Codes für native Anwendungen, die auf Smartphones und Tablets ausgeführt werden.

  • Kennt sich mit mobilen Betriebssystemen aus
  • iOS, Android und Windows Phone

Hinweis: In Deutschland gibt es mehr Android-Entwickler, als iOS-Entwickler

Datenbankadministratoren kümmern sich um die Leistung, Integrität und Sicherheit einer Datenbank.

  • Planung und Entwicklung von Datenbanken
  • Behandlung von Problemen

Statistiker/Mathematiker beschäftigen sich mit Analysen von Daten aller Art. Sie kennen sich mit KI, statistischer Analyse und Vorhersagemodellierungen aus. Heute nennt man diesen Beruf auch oft Data Scientist.

  • Analyse von Daten
  • Kenntnisse im Bereich KI und Vorhersagemodellierung
  • Programmier- und Statistikaufgaben Datenbanken
  • R und Python

Ein Grafikprogrammierer kümmert sich um grafisch aufwendige Programmierungen im Bereich Rendering, Beleuchtung, Schattierung, Shader, Culling und Szenenmanagement.

  • Rendering, Beleuchtung, Schattierung, Shader, Culling
  • Szenenmanagement
  • Technologien für die Spiele- und Videoproduktion integrieren und optimieren

Ein Entwickler für CRM befasst sich mit Systemen, die Nutzerdaten erfassen und ergreift Maßnahmen um die Kundenbetreuung zu optimieren. Sie kümmern sich so um die Kundenzufriedenheit und steigern so auch den Verkauf.

  • Nutzerdaten erfassen und analysieren
  • Kundenzufriedenheit optimieren
  • Salesforce, SAP, Sharepoint und Enterprise Resource Planning (ERP)

Entwickler im Bereich DevOps kümmern sich um die Bereitstellung und die  Administration von Infrastrukturen für Deployment-, Monitoring- und Testautomatisierungen. Sie kennen sich zudem mit  Software-Entwicklungs-Lebenszyklen aus. DevOps Entwickler erstellen und warten Skripte, sowie Entwicklungstools  und bindet automatisierte Tests in die agile Softwareentwicklung ein. Im Kern besetzt der DevOps Entwickler eine Schnittstellenposition, welche die Verbesserung von operativen Prozessen durch agile Methoden der Softwareentwicklung im Unternehmen einführt und weiterentwickelt. 

  • Hohe Programmierkenntnisse
  • Grundverständnis von IT-Security-Konzepten
  • Entwerfen und Erstellen von Skripten und Entwickungstools
  • Ausführung von Administrationstätigkeiten
  • Monitoring
  • Testautomatisierungen
  • Kenntnisse mit Software-Entwicklungs-Lebenszyklen allgemein

Embedded-Entwickler arbeiten vor allem mit Endgeräten und Hardware, die nicht immer zur Kategorie der Computer zählen. Dazu zählen z.B. Mikrocontroller-Chips/DSP Firmware Programmierung, elektronische Schnittstellen, Echtzeitsysteme, Hardware Driver und serielle Datenübertragung. Sie kümmern sich um die Funktionalität elektronischer Geräte und deren Benutzerfreundlichkeit.

  • Hardware-nahes Programmieren
  • Hohe Kenntniss im Bereich Programmiersprachen
  • Kenntnisse Compiler-Funktionen
  • Know-how rund um Betriebssysteme und deren Strukturen

Hinweis: Durch die Digitalisierung und dem “Internet of Things” werden diese Entwickler vermehrt gesucht.

Wie der Name verrät, beschäftigen sich diese Entwickler mit der Qualitätssicherung. Entwickler in der Qualitätssicherung testen Produkte und Prozesse mit Hilfe von Tests, Tools und Methoden.

  • Aufrühren automatisierter und manueller Tests
  • Kunden Support

Programmiersprachen und deren Anwendung

Eine Programmiersprache ist eine künstliche Sprache zur Verständigung zwischen Mensch-Computer und zur Erstellung von Programmen. Dabei werden Algorithmen und Datenstrukturen in der Programmiersprache als Quellcode (Programmcode/-text) erfasst. Dieser Quellcode wird durch spezielle Computeranwendungen (Interpreter/Compiler) aufbereitet, so dass der Prozessor eines Computer das Programm ausführen kann.

Ein Compiler ist ein Programm, dass den GANZEN Quellcode eines Programms in eine Maschinen-/Computersprache übersetzt und erst dann das Programm ausführen lässt, wenn eine fehlerfreie, komplette Übersetzung durchgeführt wurde.

Ein Interpreter übersetzt einzelne Quellcodes und führt diesen sofort aus. Der Vorteil ist, dass eine Fehlersuche per Debugging schneller ist, leider ist dadurch die Ausführung im Vergleich zum Compiler wesentlich langsamer.

Der Editor wird zur Erfassung von Quellcodes einer Programmiersprache genutzt.

Git ist ein Verwaltungsprogramm bzw. ein Versionskontrollsystem. Dieses Programm enthält Behälter/Pakete von Codes (engl. Repositories/Repos), die für bestimmte Projekte genutzt werden. Für eine Gruppe von Software Entwicklern, die an einem Projekt arbeiten, ist Git sehr hilfreich, da alle gleichzeitig an einem Code arbeiten können. Bei Änderungen des Programmcodes sorgt jeder Entwickler der Gruppe dafür, dass der Quelltext den Haupt-Quellcode überschreibt, damit jeder in der Gruppe die aktuellen Datensätze erhält und die Gruppe somit gleichzeitig up to date ist.

Einige Programmiersprachen

Hyper Text Markup Language ist eine bekannte und einfache textbasierte Auszeichnungssprache, die der Strukturierung digitaler Dokumente, wie Texte mit Hyperlinks, Bildern und anderen Inhalten dient. HTML ist die Grundlage jeder Website des World Wide Web, die Darstellung erfolgt über den Browser.

Um Gliederungen und Aufbau einer Website visuell zu verdeutlichen, wird das Werkzeug CSS (Cascading Style Sheets,dt.“Hintereinandergeschaltete Stilvorlage“) genutzt. Das CSS verleiht der HTML-Seite Leben durch Farben und somit ist der gewünschte Aufbau zu erkennen. Effekte werden mit einer zusätzlichen Sprache, wie JavaScript, gestaltet.

Java ist eine objektorientierte Programmiersprache. Sie dient im Rahmen der Java-Technologie zum Formulieren von Programmen. Ein verständlicher Quellcode wird erst durch den Java-Compiler in einen maschinenverständlichen Java-Bytecode übersetzt. Bei Java muss der Code also kompiliert werden, um ausgeführt zu werden. Der Code wird nicht für die Maschine direkt umgewandelt, sondern für ein Programm. Java wird vor allem für Server, Business und Android Applikationen verwendet und hat nichts mit der Programmiersprache JavaScript zu tun.

JavaScript ist eine Scriptsprache, die dynamische Webseitengestaltung ermöglicht. Dabei haben JavaScripte Zugriff auf das Browserfenster und das darin angezeigte HTML. Die wichtigste Aufgabe von JavaScript besteht darin, auf die Benutzereingaben innerhalb des HTML-Dokuments zu reagieren. So können Änderungen im HTML vorgenommen werden. Diese Änderungen finden nur im Browser und nicht auf dem Web-Server statt. Durch JavaScripte kann man interaktiv und »dynamisch« gestalten.

Procedural Language/Structured Query Language ist eine Programmiersprache der Firma Oracle und für das Arbeiten mit Oracle-Datenbanken ausgerichtet. Mit PL/SQL lassen sich interaktive, benutzerfreundliche Programme schreiben, bei denen Werte an Variablen übergeben werden können, zudem kann PL/SQL auch Laufzeitfehler behandeln. Mit seinen Möglichkeiten gehört PL/SQL mit seiner Leistungsfähigkeit von Programmiersprachen der dritten Generation an.

Die Programmiersprache C ist eine imperative Programmiersprache. Das bedeutet, dass man in dieser Sprache Befehle schreibt und diese werden dann von oben nach unten ausgeführt. Man hat auch die Möglichkeit eigene Befehle, sogenannte Funktionen, zu definieren. C wird bei eingebetteten Systemen verwendet (z.B. Schaltkreise, die einen Mikroprozessor besitzen). Sowie bei der Programmierung von Betriebssystemen.

C++ ist die Weiterentwicklung von C. Wenn man z.B. in C den Wert einer Variable um eins erhöhen möchte, schreibt man den Namen der Variablen und hängt dann ++ daran. Wie bei C wird das in C++ geschriebene Programm erst kompiliert, um es dann auszuführen. Die Verwendung von C++ liegt in der Spieleentwicklung und eignet sich auch für die Erstellung von Programmen.

Ruby ist eine dynamische und freie Programmiersprache mit einfacher Anwendung und produktiver Umsetzung. Die Open-Source-Programmiersprache mit einfachen Syntax kann man einfach lesen und schreiben. Ruby wird meist in Webanwendungen genutzt. In Ruby kann jedes Stück Information eine eigene Eigenschaften und Aktionen besitzen. In der objektorientierten Programmierung werden diese Eigenschaften Instanzvariablen genannt und die Aktionen Methoden.

Swift ist ebenfalls eine Open-Source-Programmiersprache. Sie wurde von Apple entwickelt mit dem Ziel, Apps für Mac, Apple TV, iOS und Apple WatchApps zu erstellen. Es handelt sich um eine objektorientierte Sprache, die Ideen von anderen Programmiersprachen, wie Objective-C, Rust, Haskell, Ruby oder Python aufgreift. Swift bietet dabei Mechanismen, wie Klassen, Closures, Vererbung, Typinferenz und Namensräume, sowie multiple Rückgabewerte und -typen.

R ist ein GNU-Projekt und wird von Data Scientists und ähnlichen Programmierern für statistische Berechnungen genutzt. Die Syntax von R orientiert sich dabei an der weitgehend kompatiblen Programmiersprache S. Die Programmiersprache R ist auf vielen Plattformen verfügbar.

Go (oder auch “Golang”) wurde aus Unzufriedenheit über die bestehenden Sprachen (C++ oder Java im Kontext heutiger Computersysteme) zur Softwareentwicklung entwickelt. Dabei ging es besonders um die Optimierung auf skalierbare Netzwerkdienste, Cluster- und Cloud Computing. Go wurde dabei von Google-Inc-Mitarbeitern geschaffen und ist besonders beliebt im Bereich der Webentwicklung. Es wird aber auch für API/RPC-Services, Web-Services, Bibliotheken, Frameworks, Agents und Daemons verwendet.

MATLAB wird zur grafischen Aufbereitung und Lösung mathematischer Probleme von Ingenieuren und Wissenschaftlern gern genutzt. MATLAB ist ein ASCII-File und kann mit einem Texteditor einfach erstellt werden. Das Programm eignet sich in der technischen Anwendung, um z.B. Funktionen sichtbar darzustellen.

Das war unser kleiner Einsteigerkurs zum Thema IT-Recruiting. Wer wissen möchte, wie man IT-Talente anspricht und für sein Unternehmen gewinnen kann, sollte sich auch diese Beiträge mal genauer anschauen:

employer-branding-im-it-segment-dr-simon-mamerow
Employer Branding im IT-Segment
IT-Experten rekrutieren
Erfolgreich IT-Experten rekrutieren

4 thoughts on “IT-Recruiting: Diese Begriffe sollte man kennen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.