a blu t-shirt with "junior PHP" and Roptica logo printed on it. at the background, three squares, colored orange, black and teal are visible.

Eine Stelle als Junior/Mid PHP-Entwickler bei Droptica

Bei Droptica rekrutieren wir schon seit einiger Zeit regelmäßig PHP-Entwickler. Oft wird uns gefragt, was man genau wissen muss, um unserem Team beizutreten, hauptsächlich von Personen, die ihre Karriere als Entwickler beginnen oder den Job oder sogar die Branche wechseln wollen. 
Der Umfang des Wissens über “PHP-Entwicklung” ist groß und unsere Erwartungen bezüglich unserer Kandidaten sind für einige möglicherweise nicht offensichtlich. In diesem Artikel werden wir im Detail beschreiben, wonach wir (und viele andere Unternehmen in der Branche) bei unseren neuen Mitarbeitern suchen. 

Solide Grundlagen

Sich in den grundlegenden Elementen von PHP sicher zu bewegen, ist entscheidend. Unsere Kandidaten sollten in der Lage sein, schnell einfache Programmieraufgaben zu lösen. Mit einfachen Aufgaben meine ich Programmierübungen und Probleme, die in den ersten drei Semestern des Informatikstudiums auftreten. 
Beispiele für solche Probleme sind:

  • Datentypen, Anweisungen zur Steuerung des Programmflusses
  • Schleifen, umschaltende Schleifen, Schleifen in Schleifen, Schleifen durch mehrdimensionale Arrays
  • String-Operationen, Entfernen von String-Elementen, String-Änderungen
  • Funktionen, Best Practices bei der Erstellung von Funktionen
  • Rekursion, ein gutes Verständnis von Aufgaben, die rekursive Funktionen erfordern
  • Grundlagen der objektorientierten Programmierung, Erstellen von Klassen, Vererbung, Schnittstellen, abstrakte Klassen
  • Einfache Sortieralgorithmen
  • Datenstrukturen, FIFO- und LIFO-Warteschlangen, Bäume

Wir glauben, dass die obige Liste einfach ein Muss ist, da wir es für einfach halten, neue Programmiersprachen und Frameworks zu lernen, solange Sie über diese soliden Grundlagen verfügen. 


Wie lernt man die Grundlagen auf gute Weise? 

Lösen Sie Probleme, und zwar viele davon. Wenn Sie ein grundlegendes Buch lesen, machen Sie ALLE Aufgaben. Programmieren zu lernen ist kein Wettlauf, also versuchen Sie nicht, es so schnell wie möglich durchzugehen. Es spielt keine Rolle, dass Sie das vom Autor bereitgestellte Beispiel verstehen. Sie müssen andere Beispiele und Probleme durchgehen, bevor Sie ein bestimmtes Element der Sprache fließend verwenden können. Wenn es nötig ist, programmieren Sie „hello world“ auf zehn oder zwanzig verschiedene Arten, bis Sie jedes einzelne Zeichen des Codes verstehen, den Sie gerade geschrieben haben. 

Ich würde auch empfehlen, Übungsaufgaben von Universitäten zu verwenden, da sie oft 15-30 Aufgaben für jedes einzelne Thema enthalten, zum Beispiel Schleifen oder Anweisungen zur Steuerung des Programmflusses. Durch das Lösen einer so großen Anzahl von Problemen lernen Sie definitiv, wie man die Elemente einer Programmiersprache verwendet. 
Nur zwei oder vier Probleme zu lösen, reicht nicht aus.

Vom Speziellen zum Allgemeinen gehen, nicht umgekehrt 

Ich werde dies ausführlicher anhand von Drupal beschreiben, weil wir damit arbeiten (obwohl das Symfony Framework in unseren Projekten immer häufiger auftaucht). Das Beispiel gilt für jedes andere große System.

Wir haben viele Kandidaten, die in der Lage sind, eine Website auf Drupal mit dem Kern, mehreren fertigen Modulen und ein wenig PHP-Code „aufzubauen“; jedoch verstehen sie es oft überhaupt nicht. Sie kopieren und fügen lediglich einen Schnipsel von StackExchange oder anderen Websites ein und prüfen, ob es funktioniert, ohne zu verstehen, was sie gerade getan haben. Auf diese Weise ist es manchmal möglich, eine Website oder eine Anwendung an den Kunden zu liefern, aber oft funktioniert sie nicht genau so, wie der Kunde es möchte, und andere Dinge werden nicht gemäß der Spezifikation ausgeführt. Das liegt daran, dass sie in der Regel nicht in der Lage sind, ein System zu liefern, das gemäß den Bedürfnissen des Kunden arbeitet und seinen Geschäftszwecken dient. 

Wir bekommen einige neue Mitarbeiter, die seit mehr als fünf Jahren mit Drupal arbeiten und Websites erstellen, während sie nicht in der Lage sind, eine Schleife von foreach zu while zu ändern. 
Drupal zu kennen ist wichtig und wertvoll, jedoch ist ein grundlegendes Programmierwissen weitaus wichtiger. Wenn Sie also Drupal lernen wollen, lernen Sie auf dem Weg die Grundlagen der Programmierung. Wenn Sie bereits Drupal kennen, aber die Grundlagen der Programmierung nicht... Nun, es ist Zeit zu lernen! :) 

Seien Sie ein Anwendungsdesigner, kein Codeaffe

Wir glauben, dass es beim Programmieren darum geht, Geschäftsprozesse mit Code umzusetzen. Aus diesem Grund verlangen wir, dass unsere Kandidaten in der Lage sind, Geschäftsprozesse in Anwendungscode zu übersetzen – Schnittstellen, Datenstrukturen, Klassendiagramme usw. 

Während der Vorstellungsgespräche fragen wir unsere Kandidaten, wie sie eine einfache Anwendung gestalten würden. Zum Beispiel: „Wie würden Sie eine Webanwendung für die Buchung von Terminen bei einem Tierarzt gestalten?“ Hier erwarten wir eine allgemeine Antwort bezüglich des Aufbaus einer solchen Anwendung, der Technologien, die beteiligt wären, der im System verfügbaren Aktionen usw., sowie die Fähigkeit, die Programmieraufgaben zu beschreiben, die bei der Implementierung einer solchen Anwendung erforderlich sind. 

Wir verlangen von niemandem, sehr komplexe Systeme zu entwerfen, aber unser Kandidat sollte definitiv in der Lage sein, einen Vorentwurf einer kleinen Anwendung basierend auf mehreren miteinander verbundenen Datentabellen zu erstellen. 

Welche Sprache sollten Sie lernen?

Englisch. Die englische Sprache ist für uns wirklich wichtig, insbesondere da 90% unserer Kunden außerhalb Polens ansässig sind. Wir möchten großartige Software für Kunden aus der ganzen Welt erstellen, und großartige Software erfordert eine großartige und ständige Kommunikation mit unseren Kunden – auf Englisch. Deshalb wird bei jedem Vorstellungsgespräch die Englischkenntnisse unserer Kandidaten überprüft. 

Zusammenfassung 

Wir benötigen nur vier Dinge: 

  • solide Grundlagen
  • die Verwendung fortgeschrittener Systeme und das Verständnis ihrer Funktionsweise
  • die Fähigkeit, Anwendungen zu entwerfen
  • Beherrschung der englischen Sprache auf B1/B2-Niveau

Wenn Sie uns beitreten möchten und die Anforderungen erfüllen, besuchen Sie bitte unsere "Karriere" Seite unter https://kariera.droptica.pl
Wenn Sie mehr über unseren Rekrutierungsprozess und die Anforderungen erfahren möchten, fragen Sie uns über  [email protected] oder Messenger https://m.me/grzegorz.bartman  https://m.me/maciej.lukianski

Looking for a job as a PHP/Drupal Developer?