Wo findet man Webingenieure und auf welche Abstöße soll man achten während ihrer Vorstellungsgespräch?
Erstens muss man wissen welches Typ von Entwickler notwendig ist. Manche vergessen, dass die Rolle eines Webentwicklers vage ist – sie besteht aus unterschiedlichen Fähigkeiten und Stellenbeschreibungen für verschiedene Plattformen und Projekte. Wenn man nicht genau weiß, welche Art von Entwickler für ein bestimmtes Projekt benötigt ist, werden möglicherweise wertvolle Zeit und Ressourcen verschwenden, und das möchtet kein Unternehmen.
Hier finden Sie eine Kurzanleitung zu den verschiedenen Arten von IT-Fachleuten, basierend auf ihren spezifischen Fähigkeiten.
Suchen Sie jemanden, der das Aussehen und den Stil Ihres Projekts erstellt, oder jemanden, der das Design implementieren und codieren kann? Wenn Ihr Fokus auf der Ästhetik liegt, sollten Sie einen Designer einstellen. Wenn Sie jedoch jemanden benötigen, der das Design implementiert und codiert, benötigen Sie einen Entwickler.
Beide werden wahrscheinlich im Entwicklungsprojekt benötigt, aber sie werden je nach Aufgabe jeweils spezifische Fähigkeiten einbringen. Es gibt zwar Designer mit Grundkenntnissen in HTML oder CSS. Es ist aber immer noch viel besser, wenn Sie einen engagierten Webentwickler haben, der verschiedene Auszeichnungssprachen und entwicklungsbezogene Tools verwenden kann, um Ihre Website effektiv von Grund zu codieren.
Hier erweist sich die Entscheidungsprozess Ihres Marketingteams, Geschäftsentwicklungsteams, Beraters und anderer Stakeholder als nützlich. Zu Beginn eines Entwicklungsprojekts muss man herausfinden, welche Art von Anwendung für Sie und Ihrer Kunden geeignet ist. Möchten Sie Kunden nur mobil, auf Ihrer Website oder in beiden Bereichen ansprechen?
Die Entwicklung mobiler Apps erfordert spezielle Tools und Fachkenntnisse der verschiedenen mobilen Plattformen (iOS und Android, Windows usw.). Diese Apps sind derzeit die beliebtesten Optionen (da immer mehr Verbraucher Smartphones bevorzugen), sie sind jedoch auch teurer, schwieriger und zeitaufwändiger als eine Website zu machen.
Die Webentwicklung ist nach wie vor die vielseitigste und beliebteste Option, um mehr Benutzer zu erreichen. Ein Webentwickler verwendet verschiedene Programmiersprachen wie HTML, CSS, JavaScript usw. Sie können auch unterschiedliche Fachkenntnisse haben: sie können ein Front-End-Entwickler, ein Back-End-Entwickler oder ein Full-Stack-Entwickler oder alle drei sein. Weitere Informationen zur Webentwicklung findet man in diesem DevsData-Blogbeitrag.
Der nächste Schritt besteht darin, festzustellen, ob Sie einen Front-End- oder Back-End-Entwickler benötigen. Wie wir in einem anderen Beitrag besprochen haben, erstellen Front-End-Entwickler Webschnittstellen und mobile Apps.
Das Front-End (oder die Benutzerseite) ist alles, was die Kunden (Benutzer) auf ihren Bildschirmen sehen, und hier finden alle Interaktionen mit ihnen statt. Back-End-Entwickler beschäftigen sich unterdessen mit der Serverseite des Systems (die für die Benutzer nicht sichtbar ist, daher der Begriff Back-End). Dieser Teil unterstützt das Front-End und erstellt Logik für Websites und Apps sowie Funktionen und technische Wirkungen.
Diese Entwickler benötigen unterschiedliche Testsätze, um ihre Fähigkeiten beurteilen zu können. Geben Sie daher unbedingt an, welche Sie benötigen. Wenn man beispielsweise einen Back-End-Entwickler einstellt, sollte man dessen Denken überprüfen, wie er logische Probleme löst. Rätsel zu lösen kann ein guter Test für sie sein. Wenn man jedoch einen Front-End-Entwickler einstellt, ist dieser Test nicht geeignet. Eine bessere Idee wäre, sie zu bitten, ein einfaches Programm unter Verwendung von HTML und CSS zu entwerfen.
Grenzen Sie Ihre Suche nach dem richtigen Entwickler ein, indem Sie die Bewerbungen löschen, die nicht Ihren spezifischen Entwicklungsanforderungen und -zielen entsprechen. Wenn Sie vor Beginn des Einstellungsprozesses wissen, welche Fähigkeiten und beruflichen Eigenschaften Sie benötigen, wird Ihre Suche einfacher. So können Sie nicht nur mehr Zeit verbringen, bessere Kandidaten zu interviewen, sondern auch ein paar Euro sparen, da die Einstellungsprozess kostspielig und zeitaufwändig ist.
Do you have IT recruitment needs?
Laut des Sprichworts “Gleich und gleich gesellt sich gern”, scharen sich oft erstklassige Webingenieure und Entwickler zusammen. Diese Arbeitsrichtung profitiert vom Austausch von Ideen untereinander. Deshalb befinden sich diese IT-Experten häufig in denselben Gruppen, Foren und Kreisen. Um Ihnen die Suche zu erleichtern, finden Sie hier einige gute Orte, um nach dem nächsten Mitglied Ihres Entwicklungsteams zu suchen:
Marktplätze eignen sich wunderbar, um Freiberufler und Auftragnehmer zu finden, die bereit sind, sofort an Ihre Projekte zu arbeiten. Diese Websites können sowohl für kurzfristige als auch für langfristige Arbeiten verwendet werden. Einige davon sind:
Die wichtigste Qualifikation für Bewerber um Webentwicklerposition ist ihr technisches Wissen und ihre Erfahrung. Passen sie zu den technischen Anforderungen? An welchen Projekten haben sie zuvor gearbeitet? Überprüfen Sie ihre Arbeitserfahrungen und bitten Sie ihren Kunden um Feedback, um sich ein Bild von ihrem Arbeitsstil und ihrer Effizienz zu machen. Bitten Sie einen vertrauenswürdigen IT-Personalberater um Hilfe bei den Tests und dem technischen Interview.
Sie können auch überprüfen, wie DevsData seinen mehrstufigen Einstellungsprozess durchführt und welche Qualifikationen sie für ihre Kandidaten berücksichtigen, um eine Vorstellung davon zu bekommen, was Sie sonst noch in Ihre Einstellungsprozess einbeziehen müssen.
Do you have IT recruitment needs?
Wenn Sie schließlich ein Vorstellungsgespräch mit Ihrem angehenden Webentwickler vereinbaren, müssen Sie darauf achten, wie er/sie reagiert oder sich verhält, da dies ein entscheidender Teil Ihres Einstellungsprozesses ist. Natürlich sollten Sie damit rechnen, dass einige Kandidaten bei der Beantwortung einiger Fragen aufgrund ihrer Nervosität stolpern, aber wenn sie einen zu viel stolpern, sollte dies eine rote Fahne auslösen. Hier sind einige andere Abstoße, auf die Sie achten sollten:
Während viele Bewerber versuchen würden, Sie mit ihren Zeugnissen auf Papier zu beeindrucken, sollten Sie die Ergebnisse von Vorstellungsgesprächen und Beurteilungen berücksichtigen. Wenn der Webentwickler nicht in der Lage ist, technische Fragen zu beantworten oder saubere und sichere Codes zu schreiben, dann würde dies ein großes Problem für Ihre Projekte darstellen, sobald sie eingestellt werden. Kommunikations-, Problemlösungs- und kritische Denkfähigkeiten sind ebenso wichtig wie die technischen Fähigkeiten des Bewerbers, also müssen Sie auch darauf achten.
Bei der Einstellung für das Webentwicklungsteam ist es wichtig, ihr Wissen über Websicherheit zu testen. Die Wahl eines geeigneten Backend-Frameworks ist wichtig, da sie oft für die Sicherheit einer Website verantwortlich sind. Ein Kandidat sollte in der Lage sein, die Risiken zu verstehen, denen jede Website ausgesetzt ist.
Am Beispiel von SQL-Enschleusung ist es wichtig zu wissen, wie es funktioniert und wie man sich dagegen verteidigen kann. Bei dieser Art von Angriff wird bösartiger Code in SQL-Anweisungen über die Eingabe von Webseiten platziert. Diese Code-Injection-Technik ist eine der häufigsten Methoden, um eine Website zu hacken, und kann Ihre Datenbank zerstören (und den Zugriff auf Benutzerinformationen in Ihrer Datenbank ermöglichen).
Um dies zu verhindern, sollte ein erfahrener Webentwickler daran denken, Passwort-Hashing zu implementieren (mehr dazu im nächsten Abschnitt) oder die ORM-Programmiertechnik zu verwenden.
Wie bereits erwähnt, ist es sehr wichtig, keine Passwörter im Klartext in unserer Datenbank zu speichern. Webentwickler sollten wissen, wie sie mit den Gefahren umgehen können, die entstehen, wenn gespeicherte Informationen nicht geschützt werden. Backend-Frameworks erledigen das oft für uns, aber es ist gut, zu wissen, wie das erreicht wird.
Eine gängige Praxis ist die Verwendung von Hashing-Algorithmen wie MD5 oder SHA-2. Diese Algorithmen sind Einwegfunktionen – das heißt, es ist einfach, die Ausgabe zu berechnen, aber es ist fast unmöglich, die Ausgabe umzukehren, um eine Eingabe zu erhalten. Hashing-Funktionen sind deterministisch – für die gleiche Eingabe liefern sie immer die gleiche Ausgabe.
Um diese Algorithmen noch sicherer zu machen, fügen moderne Frameworks, die Passwort-Hashing implementieren, den einfachen Passwörtern auch so genanntes „Salt“ hinzu. Salt ist eine zufällige Zeichenfolge, die an das Passwort angehängt wird. Es macht die Funktionsausgabe völlig anders. Die Verwendung von Salt macht die Speicherung unseres gehashten Passworts sicherer, da es zum Entschlüsseln des Passworts benötigt wird, und es kann an jeder beliebigen Stelle in der Zeichenkette angehängt werden, wodurch sich die Anzahl der möglichen Hash-Funktionen erhöht, die für dasselbe Klartextpasswort ausgegeben werden.
Natürlich gibt es noch viele andere Sicherheitsfragen, die wir insbesondere den Backend-Entwicklern stellen können. Einige davon können etwa sein: SSL-Verschlüsselung, Sicherheits-Token, Formularvalidierung, HTTPS-Protokoll usw. Es ist wichtig, Fragen zu wählen, die sich auf die Position beziehen, für die Ihr Unternehmen rekrutiert (unserer Meinung nach ist es jedoch unerlässlich, dass ein starker Frontend-Entwickler auch mit den Sicherheitsaspekten gut vertraut ist, da Sie sonst Ihr Unternehmen und ein Projekt in Gefahr bringen).
Do you have IT recruitment needs?
Es ist fast unmöglich, alle Technologien aufzulisten, die in modernen Entwicklungsprojekten eingesetzt werden, sei es für eine Website, Software oder App. Wie bereits erwähnt, hängt die Technologie auch von der Art des IT-Fachmanns ab, den Sie einstellen werden, aber hier sind einige der beliebtesten und wichtigsten.
Alle Front-End-Ingenieure auf allen Niveaus müssen HTML- und CSS-Kenntnisse haben. Um Websites ansprechender und interaktiver zu gestalten, müssen die Bewerber Meister von JavaScript oder TypeScript sein. Dies sind 3 Kerntechnologien, die jeder Programmierer kennen muss. Als nächstes hängen die Technologien davon ab, was das Unternehmen verwendet.
Vor einigen Jahren war es sehr populär, JQuery zu verwenden, aber in der heutigen Welt nimmt seine Popularität ab, da moderne Frameworks immer beliebter werden. Die drei beliebtesten sind React, Angular und Vue.js. – wobei React am weitesten verbreitet ist und Vue.js am schnellsten an Popularität gewinnt.
Obwohl es sich bei allen um Frameworks handelt, unterscheiden sich ihre Ansätze zur Erstellung einer Anwendung. Angular ist der größte und wird häufig für große Projekte verwendet, bei denen Sie einen komplexen Toolboxen für jede Situation benötigen, ohne sich um zusätzliche Pakete kümmern zu müssen. Außerdem erzwingt Angular die Verwendung von TypeScript.
React hingegen ist eher eine Bibliothek als ein vollständiger Rahmen. Seine Aufgabe ist es, Ansichtskomponenten zu erstellen, und nicht eine vollständige Anwendung. Um eine vollständige Lösung zu erstellen, muss ein Entwickler externe Bibliotheken verwenden (es gibt viele davon, da sie sehr beliebt sind). Es ist erwähnenswert, dass die React-Gemeinschaft die größte ist. Sie hat auch einen zusätzlichen Vorteil, React Native, der für die Erstellung nativer mobiler Anwendungen verwendet wird.
Schließlich ist Vue.js eine Mischung aus Angular und React. Vue ist ein Framework wie Angular, konzentriert sich aber auf die Erstellung von Komponenten, wie React. Während Angular ein komplexer Toolbox ist, ist React ein Paket von Modulen, Vue ist wie ein modularer Toolbox. Von diesen drei Frameworks ist Vue das einfachste, Angular hat die steilste Lernkurve und React liegt irgendwo dazwischen.
Bei der Stellensuche können wir auch beobachten, dass viele Unternehmen keine JS-Frameworks verwenden, sondern stattdessen Bootstrap – CSS-Framework oder SASS – CSS-Präprozessor neben JQuery und seinen Plugins einsetzen – obwohl seine Popularität in letzter Zeit nachgelassen hat.
Für das Back-End gibt es bei der Einstellung von Software-Ingenieuren viel mehr zu beachten. Zunächst einmal sind Kenntnisse in der Programmierung wahrscheinlich wichtiger als die Kenntnis eines Frameworks, das diese verwendet – daher sollte die Suche nach Experten auf diesem Gebiet im Vordergrund stehen.
Für jede Sprache gibt es viele Frameworks, die Sie verwenden können, einige davon sind Django und Flask für Python, Ruby on Rails für Ruby, Express für Node.js, ASP.NET und seine Multiplattformversion ASP.NET Core für C#. Fast jede Website verwendet Datenbanken, daher ist es für jeden Entwickler wichtig, einige Datenbanksysteme verwalten zu können und SQL zu beherrschen. Es ist jedoch auch sehr beliebt, ORMs (Object-Relational Mapper) zu verwenden, die Objektfelder auf Spalten in der Tabelle abbildet und SQL für den Programmierer zusammenstellt, der mit Datenbanken wie mit einem Objekt interagiert.
Normalerweise sollte eine Person auf der Full-Stack-Position neben den Front-End-Fähigkeiten auch die Back-End-Sprache und die Frameworks kennen, und viele Unternehmen halten sie aufgrund der Vielseitigkeit ihrer Fähigkeiten für wertvoller. Alle Entwickler sollten über gute Kenntnisse irgendeines Versionskontrollsystems verfügen – vorzugsweise GIT, da es das beliebteste, aber erwähnenswerteste ist, sind auch SVN und Perforce. Sehr wichtig sind auch HTTP-Anforderungsmethoden und Web-Sicherheit, die im Folgenden beschrieben werden.
Dies sind die Grundlagen der Webentwicklung. Jeder Datenaustausch zwischen Client und Server erfolgt über die HTTP-Anforderungsmethoden. Die am häufigsten verwendeten sind mit CRUD verbunden – Grundoperationen auf Datenbankanwendungen. Typischerweise können wir diesen SQL-Methoden entsprechen: INSERT, SELECT, UPDATE, DELETE mit den entsprechenden HTTP-Methoden: POST, GET, PUT, DELETE.
Natürlich gibt es noch viel mehr Methoden, aber sie werden nicht so oft eingesetzt wie die zuvor erwähnten, und diese vier Methoden sind grundlegend und für jeden Webentwickler auf allen Niveaus des Fortschritts obligatorisch zu wissen. Daten, die durch HTTP-Anfragen gesendet und empfangen werden, sind hauptsächlich in HTML und XML gespeichert, aber JSON ist auch ein sehr beliebtes Format.
Die Einstellung von Webentwicklern ist keine schnelle und einfache Aufgabe. Wie jede andere Sache auch, wenn Sie etwas von hoher Qualität finden wollen, müssen Sie es sorgfältig prüfen und bewerten (sehen Sie, wie wir das bei DevsData machen). Es wäre eine Verschwendung, jemanden einzustellen, der mit den Anforderungen Ihrer Kunden nicht mithalten kann, nur weil Sie es eilig haben, einen einzustellen. Letzten Endes brauchen Sie einen Programmierer, der eine zusätzliche Bereicherung für Ihr Webentwicklungsteam wäre, anstatt den Erfolg Ihres Projekts zu gefährden.
DevsData – a premium technology partner
DevsData is a boutique tech recruitment and software agency. Develop your software project with veteran engineers or scale up an in-house tech team with developers with relevant industry experience.
Free consultation with a software expert
🎧 Schedule a meeting
“DevsData LLC is truly exceptional – their backend developers are some of the best I’ve ever worked with.”
Nicholas Johnson
Mentor at YC,
Ex-Tesla engineer,
Serial entrepreneur
Categories: Big data, data analytics | Software and technology | IT recruitment blog | IT in Poland | Content hub (blog)
general@devsdata.com
“I interviewed about a dozen different firms. DevsData LLC is truly exceptional – their backend developers are some of the best I’ve ever worked with. I’ve worked with a lot of very well-qualified developers, locally in San Francisco, and remotely, so that is not a compliment I offer lightly. I appreciate their depth of knowledge and their ability to get things done quickly. “
Nicholas Johnson
CEO of Orange Charger LLC,
Ex-Tesla Engineer,
Mentor at YCombinator