Mit remoten Python Entwicklern arbeiten


Kontaktiere uns
python

Sind bei Ihnen Python Entwickler gesucht?  

Ein guter Python Programmierer kann teuer und schwer zu finden sein, so wie jede andere Fachkraft, die auf eine relativ seltene Technologie spezialisiert ist.

Mit Grid Dynamics könnten Sie gute Python Entwickler finden. Wir können Ihnen erfahrene Python Entwickler aus der Ukraine vorstellen, mit denen Sie ohne Einmischung einer dritten Partei zusammenarbeiten, während wir uns um alles Arbeitrechtliche, Steuern, IT Infrastruktur, Büroausstattung, Supportmitarbeiter, die Beibehaltung Ihrer Belegschaft und viel mehr kümmern.

Die Python Entwickler, die Sie bei uns beschäftigen, werden zu vollzeit Mitglieder Ihres Entwicklerteams, indem Sie 8 Stunden pro Tag an 5 Tagen in der Woche an Ihren Projekten arbeiten. Da Sie Ihnen direkt unterstellt sind, müssen sie sich natürlich auch an Ihre Vorgaben und Prozesse halten.

Kostenloses, schnelles und unkompliziertes Recruitment

Wir treffen eine sorgfältige Vorauswahl an Entwicklern aus dem beeindruckend großen Pool an Technologietalent in der Ukraine, die menschlich zu Ihrem Unternehmen passen. Wir schicken Ihnen nur die Profile von Kandidaten, deren Skillset ebenfalls perfekt zu Ihren Projekten passt. Sie können dann Kandidaten für Ihr Entwicklerteam selbst durch Interviews auswählen. Sie bezahlen uns nach Leistung und nicht für Profile, weshalb Kosten erst dann für Sie entstehen, wenn ein Python Entwickler auch mit der Arbeit für Sie beginnt.  

Umfassenden Support für Ihr Team

Ihre remoten Entwickler bekommen einen Arbeitsplatz in einem unserer Büros in Kyiv, Kharkiv oder Dnipro, die Technologiezentren der Ukraine. Natürlich erhalten sie auch die nötige Hard- und Software, die Sie benötigen um mit Ihnen ungestört arbeiten und kommunizieren zu können. Unsere Spezialisten stellen sicher, dass Ihre Python/Django Entwickler mit Ihrer Arbeitsumgebung bei uns zufrieden sind.

Agile Coaching and Dienstleistungen zur Produktivitätssteigerung

Einer unserer HR/Account Manager hilft Ihnen dabei die Kommunikation zwischen Ihnen und ihren externen Entwicklern effizient zu gestalten und unser Agile Consultant trainiert Ihr Team im Einsatz der effektivsten Methoden zur Softwareentwicklung zur Steigerung der Effizienz. So wird Python Web Development leicht gemacht.

Support

Wir kümmern uns um alles Arbeitsrechtliche in der Ukraine wie Gehaltslisten, Steuern, Krankheits- und Urlaubstage für Ihre Django Entwickler, sodass Sie sich auf den Entwicklungsprozess konzentrieren können.

Ein zuverlässiger Partner

Mit 17 Jahren Erfahrung auf dem Markt sind wir ein etablierter und zuverlässiger Partner. Als niederländisches Unternehmen haben wir bereits über 65 Unternehmen bei der Entwicklung geholfen. Wir fühlen uns für jeden einzelnen Entwickler verantwortlich, den wir beschäftigen, da uns zufriedene Partner ein großes Anliegen sind.

learn-more

Sie möchten mehr über den Aufbau eines erweiterten Entwicklungsteams bei uns erfahren?

Mehr erfahren

Häufig gestellte Fragen (Frequently Asked Question)

Ich suche nur einen Entwickler. Können Sie helfen?

  • Ja!

Was ist, wenn ich mein Team auf 20 Personen erweitern möchte?

  • Wir haben viele große Teams, das ist also kein Problem

Wir wollen Entwickler mit agiler Erfahrung einstellen. Machen Sie das?

  • Sicher. Wir haben sogar einen agilen Berater für die Mitarbeiter.

Wie konnen Sie Python Entwickler finden? Die besten Interview Fragen

Grobe Berechnungen zeigen, dass die weltweite Anzahl an Python Entwicklern zwischen 1,8 und 4,3 Millionen liegt.

Diese Zahl könnte Sie dazu verleiten zu glauben, dass es einfach ist Python Entwickler zu beschäftigen. Das ist es auch - solange Sie jemanden einstellen wollen, der Python salopp unter den fünfundzwanzig anderen Fähigkeiten in seinem Lebenslauf auflistet.

Aber was, wenn Sie einen wahren Python Entwickler suchen, der jede Nuance der Sprache versteht? - Sie werden überrascht sein.

Wir haben mit Pavel Yershov zusammengearbeitet - er ist ein richtiger Python Experte und arbeitet für einer unserer Kunden. Er hat uns geholfen dieses Handbuch mit Interview Tipps, Fragen und Code Aufgaben zusammenzustellen, das Ihnen hilft, einen A + Python-Entwickler einzustellen.

Der Anfang

Egal wie erfahren ein Python Programmierer ist, schadet es nie, mit den Grundlagen zu beginnen. Prüfen Sie ob der Kandidat allgemeine Konzepte der Softwareentwicklung und gemeinsame Datenstrukturen versteht. Fragen Sie welche Komponenten ein Graph hat und was ein Binärbaum ist. Falls Sie mit den Antworten zufrieden sind, können Sie mit einer Frage nach dem Unterschied zwischen Tiefensuche und eine Breitensuche fortfahren.

Achten Sie auf die Sprache, die ein Kandidat verwendet. Sie können so ziemlich einfach einen autodidaktischen Computerfreak von einem ausgebildeten Spezialisten mit langjähriger Erfahrung unterschieden.

Wenn ein Kandidat diese ersten Fragen erfolgreich gemeistert hat, können Sie in die Programmierparadigmen einsteigen, mit denen er vertraut ist. Fragen Sie über OOP und wie die OOP Prinzipen in Python implementiert sind. Achten Sie darauf, dass der Kandidat alle vier Prinzepen nennt - Kapselung, Abstraktion, Vererbung und Polymorphie. Falls der Kandidat alle nennt, können Sie eines der Prinzipen wählen (z.B. Kapselung) und eine Anschlussfrage über seine Besonderheiten in Python stellen, sowie über die Syntax zur Definition eines privaten Attributs oder einer Methode.

Während Sie noch beim Thema sind, fragen den Python Programmierer wie Vererbung in Python funktioniert und was abstrakte Klassen, Superklassen und statische Daten sind. Falls der Kandidat keine klare Antwort geben kann, besitzt er/sie nicht einmal genug Kenntnisse für eine sich für eine junior Python Entwickler Stelle.

Es geht ans Eingemachte

Fordern Sie den Kandidaten dazu auf Datentypen in Python aufzuzählen: dict, list, set, und tuple sollen unbedingt genannt worden. Verpassen Sie nicht die Gelegenheit um eine Erklärung zu bitten, was der Unterschied zwischen Liste und Tupel ist.

Ein paar andere Themen, die Sie vielleicht diskutieren möchten sind Pythons Generatoren und Iteratoren, magische Methoden, GIL und Multithreading, sowie Unterschiede zwischen Python 2 und 3.

Ein guter Weg zu verstehen, ob der Python Programmierer vor Ihnen schon nicht mehr als junior gelten kann, ist eine Frage über vertraute Designmuster zu stellen und welche von ihnen in Python eingebettet sind. Falls Ihnen ein einfaches, wie Factory-Methode oder Singleton, entgegnet wird, fragen Sie nach einer tiefergehenden Erklärung um was sich diese drehen. Dekorator ist ein Muster, das jedem guten Python-Entwickler bekannt sein sollte. Stellen Sie sicher, dass der Kandidat erklären kann wofür es gut ist.

Framework-Kenntnisse Testen

Falls die Aufgaben Arbeit mit Frameworks umfassen, macht es Sinn zu prüfen welche Kenntnisse der Kandidat in diesem Thema besitzt. Fragen Sie zuerst, welche Frameworks der Kandidat zuvor verwendet hat. Neun von zehn Python Entwickler, sogar jüngere, werden Django nennen, also sollten Sie auch deren Fähigkeiten mit diesem Werkzeug testen. Hier ist eine Auswahl an Fragen, die Sie einem Django Entwickler stellen könnten:

  • Was ist MVC? Wie funktioniert es in Django?
  • Wie ist deine übliche Vorgehensweise bei der Arbeit mit Datenbanken? 
  • Was sind die Unterschiede zwischen relationalen und nicht-relationalen Datenbanken?
  • Was sind Normalisierung und Denormalisierung der Datenbankstruktur?
  • Wie verknüpfst du eine Datenbanktransaktion mit der Verarbeitung einer HTTP-Anfrage? Wann würdest du so etwas benutzen?
  • Welche Datentypen liefern Django ORM Methoden?
  • Erklären Sie die Django ORM Funktion filter(). Welchen Datentyp ergibt die Funktion get()? Was passiert mit dem Ergebnis der get() Funktion wenn die Datenbank den erforderlichen Eintrag nicht enthält?
  • Welche Standardklassen von Django-Middleware kennst du?
  • Wie werden HTTP Anfragen und Antworten von Middleware verarbeitet?
  • Was ist Celery? Was ist ein „worker“? Was kann als „broker“ verwendet werden?

Auswertung der Code-Qualität

Sie könnten hier entweder damit beginnen den Python Entwickler, den Sie interviewen, nach einer Liste der wichtigsten PEP8-Konventionen zu fragen oder sofort in die Evaluierung von Code-Beispielen einsteigen.

Ein genauer Blick auf den Code des Kandidaten ist entscheidend, da dies eine Reihe von Dinge verrät. Zuerst, erlaubt es Ihnen einschätzen, wie gut die Programmierer ihren eigenen Code optimieren. Zweitens, zeigt es Ihnen, ob PEP8 eingehalten wurde und Codequalität und Lesbarkeit ernst genommen werden. Drittens, liefern Objekt- und Variablennamen einen Hinweis auf eine Einschätzung welche Einstellungen der Kandidat gegenüber anderen Teammitgliedern hat, die seinen Code lesen, sowie dessen Englischkenntnisse, die natürlich wichtig sind, wenn der Kandidat aus einem anderen Land kommt. 

Beispiele für Code Aufgaben

Kein Interview mit einem Softwareentwickler ist ohne ein paar praktischen Aufgaben komplett, also bitten Sie den Python-Entwickler einige Angaben für Sie durchzuführen. Es gibt ein paar Beispiele, die Sie vielleicht ausprobieren möchten:

list = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
print list[10:]

Diese Aufgabe hilft das Verständnis des Kandidaten von Datenstrukturen in Python zu bestimmen.

class C:
    dangerous = 2

c1 = C()
c2 = C()
print c1.dangerous

c1.dangerous = 3
print c1.dangerous
print c2.dangerous

del c1.dangerous
print c1.dangerous

C.dangerous = 3
print c2.dangerous

Diese erlaubt Ihnen das Verständnis des Kandidaten von Objekten und Speicher in Python überprüfen.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
    
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)

Mit dieser Aufgabe können Sie überprüfen, ob der Kandidat die Besonderheiten von mathematischeren Operationen in Python versteht.

def multipliers():
    return [lambda x : i * x for i in range(4)]
print [m(2) for m in multipliers()]

Diese zeigt an, ob der Kandidat weiß, wie man Lambda-Funktionen verwendet.

x, y = 35, 75
smaller = x if x < y else y
print(smaller)

Diese hilft Ihnen, das Verständnis von logischen Operatoren in Python zu überprüfen. 

def testgen(index):
    weekdays = ['Sun', 'Mon',
                'Tue', 'Wed', 
                'Thu', 'Fri', 
                'Sat']

    yield weekdays[index]
    yield weekdays[index+1]

day = testgen(0)
print next(day), next(day)

Mit dieser Aufgabe können Sie prüfen, ob Kandidaten die Funktionsweise von Generatoren verstehen.

class Parent(object):
    x = 1

class Child1(Parent):
    pass

class Child2(Parent):

    pass

print Parent.x, Child1.x, Child2.x
Child1.x = 2
print Parent.x, Child1.x, Child2.x
Parent.x = 3
print Parent.x, Child1.x, Child2.x

Mit dieser letzten Aufgabe können Sie testen, ob Kandidaten ein Verständnis von Vererbung in Python haben. 

Schlussfolgerung

Beachten Sie, dass die oben genannten Fragen und Beispielaufgaben als Ratschläge gedacht sind, aber keine feste Vorgehensweise darstellen. Nicht jeder Python Entwickler, der eine Einstellung wert ist, wird alle Fragen beantworten können, und gleichzeitig bedeuten vollständige Antworten auf alle Fragen nicht, dass Sie einen Senior Python Programmierer mit herausragender Expertise vor sich sitzen haben. Ratsam ist es einige zusätzliche Fragen und Aufgaben hinzuzufügen, die für Ihr eigenes Projekt relevant sind.

Wir hoffen, dass Sie unsere Tipps an Ihre Bedürfnisse und Rekrutierungsstrategien anpassen können und dass die Ratschläge Ihnen helfen werden geeignete Python Entwickler für Ihr Unternehmen zu finden.