Ich bin ein Junior-Softwareentwickler und arbeite seit weniger als einem Jahr für ein Unternehmen.
Während ich immer dachte, ein Softwareentwickler zu sein, bedeutet, etwas Software und CODE zu entwickeln, aber meine Aufgaben liegen eher in der Verwaltungsarbeit, wie dem Einrichten von Jenkins, SQL Replication usw.
Sind diese Arten von Jobs in einer Entwicklerrolle enthalten oder entwickelt ein Entwickler nur Software? Sollte ich mit meinem Manager darüber sprechen? Ist dies eine übliche Methode für Unternehmen, um "sich entwickelnde" Fähigkeiten zu bewerten?
Antworten:
Klingt für mich so, als hätten sie einen Junior eingestellt, weil sie sich keinen Senior leisten konnten, anstatt weil sie tatsächlich einen Junior wollten (jemanden, in den sie investieren und den sie betreuen können, bis sie Senior werden). Ich habe ein Team geleitet, dem diese Entscheidung von Managern aufgezwungen wurde, die es nicht besser wussten.
Er hatte alle möglichen unglücklichen Jobs wie das Erstellen von Schulungsvideos für Benutzer und dergleichen, und ich fühle mich immer noch schuldig, aber ich stand unter dem Druck zu liefern und die Erwartung war, dass das Hinzufügen eines Kopfes zum Entwicklungsraum die Dinge nur beschleunigen würde .
Es ist unglücklich, weil es Sie und Ihren Chef in schwierige Positionen bringt.
Er hat wahrscheinlich keine Arbeit, die er einem Junior anvertrauen kann, und Senioren, die er möglicherweise hat, können nicht von ihrem Alltag abgelenkt werden. Der einfache Ausweg besteht darin, dem Junior viele nicht entwicklungsbezogene Aufgaben zu übertragen, mit denen er auch nicht wirklich die Zeit älterer Entwickler verschwenden möchte.
Daraus ergeben sich jedoch einige Probleme.
Erstens erfordert die Art von Devops-Jobs, die er Ihnen gibt, wirklich einen erfahrenen Entwickler. Insbesondere sollte ein Build-Server von jemandem eingerichtet werden, der die Software erstellt und weiß, wo die Schwachstellen liegen.
Zweitens wird der Junior nicht nützlicher. Nach fünf Jahren würden Sie immer noch dieselben Aufgaben ausführen, da Ihnen die eigentliche Entwicklungsarbeit immer noch nicht vertraut werden konnte.
Drittens wird der Junior (wie Sie) irgendwann feststellen, dass er seiner eigenen Karriere nicht hilft. Die Annahme, dass Junioren von geringer Qualität sind und nicht wenig Erfahrung haben (und danach suchen), ist ein schrecklicher, aber sehr häufiger Fehler in dieser Branche.
Also, ja, setzen Sie sich mit Ihrem Chef. Aber verstehen Sie die Situation, in der er sich befindet. Sehen Sie, ob Sie eine Vereinbarung treffen können, die alle Probleme löst. Sie benötigen einen Senior-Mentor und einige Ihrer aktuellen Aufgaben müssen an einen Senior weitergegeben werden. Dies wird das Projekt verlangsamen, aber auf lange Sicht wird es sich auszahlen. Das ist der Punkt, den Sie brauchen, um zu Ihrem Chef und möglicherweise zu dessen Chefs durchzukommen. Überprüfen Sie auch, ob Sie etwas finden, das Sie als Gegenleistung anbieten können, um die Kosten zu senken.
Wenn Sie nicht können, möchten Sie vielleicht woanders suchen.
quelle
Ich finde den Begriff "Softwareentwickler" gleichbedeutend mit "Programmierer". Ein Softwareentwickler ist also eine Person, deren Hauptverantwortung darin besteht, Code zu schreiben. In meinem ersten Job war mein Titel "Entwickler" und meine Hauptverantwortung war das Entwerfen und Codieren von Software. Aber ich denke, dass es keine genaue Definition des Begriffs gibt. Es wird von verschiedenen Personen unterschiedlich verwendet, wodurch die Bedeutung unscharf wird.
Damit ein Entwicklungsteam jedoch effizient arbeiten kann, müssen diese Dinge eingerichtet sein: CI-Server, SQL-Replikation, Bereitstellung auf Testservern, Überwachung von Testservern, Archivierung von Builds usw. (Möglicherweise gelten nicht alle in jeder Situation.) .
Diese Aufgaben nehmen in der Anfangsphase eines Projekts viel Zeit in Anspruch, nehmen jedoch weniger Zeit in Anspruch, sobald ein gutes Setup ausgeführt wird.
Leider möchten Entwickler lieber Code erstellen als Build-Server verwalten. Daher fallen diese langweiligen Aufgaben häufig in die Hände von Junior-Entwicklern, da die Senior-Entwickler wichtigere Aufgaben haben.
Ich habe noch kein Unternehmen erlebt, das diese Aufgaben als Mittel zur Bewertung von Fähigkeiten verwendet.
Wenn Sie mit Ihrer derzeitigen Verantwortung unzufrieden sind, würde ich vorschlagen, das Problem mit Ihrem Vorgesetzten zu besprechen.
quelle
Es hängt davon ab, ob. Es scheint, dass verschiedene Unternehmen dies unterschiedlich definieren, und für einige ist es ein Überbegriff für eine Reihe technischer Funktionen. Für manche ist es nur ein Titel. Als ich die gleiche Frage stellte, bekam ich eine ähnliche Antwort wie "Nur Entwickler haben die Möglichkeit, dies in unserer Organisation zu tun", würde ich vielleicht sagen, aber das macht es nicht unbedingt zur Entwicklung.
Die theoretische Antwort lautet, dass ein Entwickler (im Vergleich zu Codierer / Programmierer) eine Person ist, die "Probleme löst", auch wenn sie nicht mit "Codieren" zu tun haben.
Sie möchten mehr codieren, fragen Sie also Ihren Manager nach weiteren Codierungsaufgaben oder möchten Sie einige der Dinge tun, die Sie durch Codieren tun? Sie haben betriebliche Dinge erwähnt, daher könnten einige davon möglicherweise von DevOps-Frameworks (Check Chef und Puppet ) ausgeführt werden, wodurch die Funktionen effizienter werden und kurz vor der Entwicklung stehen.
quelle
Es ist nicht ungewöhnlich, dass von einem Entwickler einige Systemadministrationsfähigkeiten erwartet werden . Als leitender Entwickler schätze ich, dass ungefähr 5% meiner Zeit für solche Aufgaben aufgewendet werden.
Wenn Sie jedoch keine Codierung durchführen, sollten Sie wahrscheinlich mit Ihrem Manager über das Abrufen von Codierungsaufgaben sprechen. Schließlich möchten Sie Codierungserfahrung aufbauen. Sie sind auch als Programmierer wertvoller als als Systemadministrator.
quelle
Code ist nicht besonders nützlich, wenn er nicht ordnungsgemäß in eine Anwendung integriert wird oder nicht auf die richtigen Daten zugreift. Daher scheinen die von Ihnen aufgelisteten Aktivitäten weitgehend mit den Aktivitäten eines Entwicklers übereinzustimmen. Ich sollte hinzufügen, dass Softwareentwickler auch in Dokumentation und Tests sehr durcheinander geraten. Dies sind Aktivitäten, die bei der Herstellung von Software erforderlich sind.
Es ist großartig, wenn Ihr Unternehmen über Spezialisten verfügt, die diese Aufgaben für Sie erledigen können. Wenn nicht, sind Softwareentwickler für alles verantwortlich, bis eine Anwendung in der Produktion bereitgestellt (und möglicherweise auch) und dort unterstützt wird.
quelle
Es ist ziemlich üblich, dass ein Entwickler in einem kleinen bis mittleren Unternehmen einige Serveradministrator- / DBA- / allgemeine Konfigurationsaufgaben übernimmt.
Wenn diese Aufgaben jedoch zu einem Hauptteil Ihrer Aufgaben werden, können Sie sich abhängig von Ihren Karrierezielen Sorgen machen. Obwohl Sie als allgemeiner Technologe wahrscheinlich in bestimmten Unternehmen erfolgreich sein können, kann dies bei einem Wechsel zu einem neuen Unternehmen viele Probleme bei Ihrem Übergang verursachen. Wenn Sie keine traditionelle Entwicklung durchführen, müssen Sie dies in Ihrem Lebenslauf deutlich machen. Wenn Sie nach einer von Ihnen beschriebenen Zeit in einem Job einen Job in direkter Entwicklung erhalten möchten, müssen Sie möglicherweise etwas akzeptieren, für das Sie aufgrund der Jahre in der Branche "überqualifiziert" sind.
Auf der anderen Seite kann es Unternehmen geben, die Entwickler mit unterschiedlichen Fähigkeiten suchen. Angesichts des aktuellen Trends, Code in Interviews zu schreiben, müssen Sie jedoch auch über erstklassige Codierungsfähigkeiten verfügen, selbst wenn für den Job nach dem Einstieg nur wenig Code erforderlich ist.
Wenn Sie nicht in Ihrer aktuellen Position stecken bleiben möchten, würde ich auf jeden Fall versuchen, die Situation bald zu beheben.
quelle