CodeGym /Java-Blog /Random-DE /Die typischen Aufgaben eines Java-Entwicklers in einem Pr...
John Squirrels
Level 41
San Francisco

Die typischen Aufgaben eines Java-Entwicklers in einem Projekt

Veröffentlicht in der Gruppe Random-DE
Was sind die typischen Aufgaben eines Java-Entwicklers? Schließlich müssen Sie verstehen, worauf Sie sich einlassen und was Sie am Ende tun werden, oder? Heute möchte ich über zehn wichtige Aufgaben sprechen, die ein Java-Entwickler ausführt. Die typischen Aufgaben eines Java-Entwicklers an einem Projekt – 1Aber machen wir uns zunächst mit einem Tool namens Jira vertraut. Oder frischen Sie Ihre Erinnerung daran auf, wenn Sie es bereits kennen. Jiraist ein Werkzeug zur Organisation menschlicher Interaktionen, wird aber in manchen Fällen auch für das Projektmanagement eingesetzt. Mit anderen Worten: Ein Projekt wird in kleine Aufgaben zerlegt, die in diesem Tool beschrieben werden. Diese Aufgaben werden den Entwicklern übertragen, die für deren Umsetzung verantwortlich sind. Eine Aufgabe könnte beispielsweise das Hinzufügen einiger Funktionen sein. Während eine Aufgabe ausgeführt wird, fügen Entwickler und andere Spezialisten Kommentare dazu hinzu, wer was getan hat und wie viel Zeit sie aufgewendet haben. Dies geschieht zu Zeiterfassungszwecken – um zu wissen, wie viel Zeit für welche Aufgaben aufgewendet wurde. Idealerweise geschieht dies einmal am Tag: Bevor Sie abends Ihren Schreibtisch verlassen, geben Sie an, wie viel von Ihren 8 Arbeitsstunden Sie für verschiedene Aufgaben aufgewendet haben. Die Funktionalität von Jira bietet viel mehr als das, was oben beschrieben wurde, aber dies wird für ein erstes Verständnis ausreichen.

1. Neue Lösungen entwerfen

Bevor Sie etwas erstellen und implementieren, müssen Sie es konzeptualisieren, oder? Wie ich bereits sagte, könnte dies einfach eine Aufgabe in Jira sein, die Ihnen zugewiesen wird, sodass Sie daran arbeiten, eine neue Lösung zu entwerfen und in Jira aufzeichnen, wie viel Zeit Sie wofür aufgewendet haben. Diese Arbeit könnte auch während einer Diskussion in einer Team-Telefonkonferenz erfolgen: Jeder kann seine Meinung äußern und den Ansatz vorschlagen, der ihm am besten erscheint. Und hier möchte ich einige Punkte anmerken. Erstens ist Softwareentwicklung ein sehr kreativer Beruf, da Sie Standardwerkzeuge verwenden müssen, um neue Wege zur Problemlösung zu finden. Eine Aufgabe kann oft viele verschiedene Lösungen haben. Dementsprechend hängt alles von der Kreativität des Entwicklers ab, die stark von seinem gesammelten Wissen und seiner Erfahrung beeinflusst wird. Hier können Sie Ihre ganze Kreativität und Genialität unter Beweis stellen. Aber das Wichtigste ist, es nicht zu übertreiben. Andernfalls wird der Code zu komplex und unlesbar. Dies hat zur Folge, dass nach dem Verlassen niemand mehr vollständig verstehen wird, was Sie codiert haben und wie es funktioniert. Und sie müssen alles von Grund auf neu schreiben. Und sie erinnern sich vielleicht an Sie. Mehr als einmal. Und es ist unwahrscheinlich, dass warme, freundliche Worte gesprochen werden. Brauchst du das? Zweitens muss ein Entwickler psychologische Flexibilität bewahren, in dem Sinne, dass er sich nicht an eine einzige Lösung klammern und anderen gegenüber engstirnig werden sollte. Als ob man etwas nur auf eine Art tun müsste und es keine anderen Möglichkeiten gäbe. Sie könnten aus verschiedenen Gründen in diese Falle tappen. Angenommen, Sie möchten beweisen, dass Ihr Standpunkt richtig ist. Oder vielleicht haben Sie bereits Ihre eigene bekannte Lösung entworfen und implementiert – natürlich Sie möchten nicht zugeben, dass es nicht das Beste ist. Diese Situationen können Sie ziemlich blind machen. Tatsächlich müssen Sie in der Lage sein, Ihre Fehler zuzugeben und immer aufgeschlossen zu sein, auch wenn Sie Funktionen entfernen müssen, auf die Sie stolz sind und die Sie seit mehr als einer Woche programmieren. Ich erinnere mich, wie ein Kollege einmal allen den Tag verschönerte, indem er diesen Zeiterfassungskommentar in Jira hinterließ: „Ich habe mein totgeborenes Gesicht entfernt. Und getrauert.“

2. Neue Funktionalität schreiben

Dieser Schritt – die Implementierung neuer Funktionen – folgt logischerweise dem vorherigen. Die gesamte Arbeit eines Projekts wird in Jira in Aufgaben aufgeteilt, die dann entsprechend ihrer Arbeitsbelastung an die Entwickler verteilt werden. Für diesen Prozess gibt es verschiedene Ansätze, sogenannte „Methodologien“, über die Sie in diesem Artikel auf CodeGym ausführlicher lesen können . Aufgaben haben in der Regel einen KostenvoranschlagDies ist die voraussichtliche Zeit, die für die Fertigstellung erforderlich ist. Sie wird entweder von Ihnen als Entwickler festgelegt, wenn Sie die Aufgabe erhalten, vom Teamleiter oder während der Planung gemeinsam vom Entwicklungsteam. Diese Zeitschätzung ist sehr selten genau, da so viele verschiedene Faktoren die Softwareentwicklung beeinflussen. Zum Beispiel, ob ein Programmierer mit der relevanten Technologie vertraut oder nicht vertraut ist, seine oder ihre Gesamterfahrung, verschiedene unvorhersehbare Fallstricke usw. Wenn Sie also beim Codieren nicht alle Ihre Zeitschätzungen einhalten, ist das kein Weltuntergang. Dabei handelt es sich lediglich um allgemeine Schätzungen. Allerdings erfordern nicht alle Projekte eine Zeitschätzung. Persönlich finde ich es viel einfacher, ohne zu leben, vor allem, wenn der PM mich nicht ein paar Mal am Tag mit der Frage belästigt: „Wo sind Ihre Zeitschätzungen?“ Du bekommst also eine Aufgabe,„Bereit zur Überprüfung “ in Jira und beten Sie, dass Ihre Codeänderungen nicht zusammen mit Kommentaren zur Überarbeitung zurückgeschickt werden.

3. Tests schreiben

Dem Prüfer, also der Person, die Ihren Code prüft, gefällt die von Ihnen implementierte Funktionalität, aber sie hat eine Frage an Sie: Wo sind zugehörige Tests? Daher sendet sie die Aufgabe zur Überarbeitung an Sie zurück. Tests sind ein wesentlicher Bestandteil jeder Java-Anwendung. Durch die Durchführung von Tests können Sie sofort Stellen identifizieren, an denen die Anwendung nicht ordnungsgemäß funktioniert. Beispielsweise nimmt ein Entwickler einige Änderungen in einem Teil des Systems vor, die zu Verhaltensänderungen in einem anderen Teil führen, aber er hat dies beim Codieren nicht bemerkt. Durch die Durchführung der Tests kann er erkennen, dass bestimmte Tests fehlgeschlagen sind, was bedeutet, dass sie nicht die erwarteten Ergebnisse erbracht haben. Dies sagt ihm, dass irgendwo anders im System etwas kaputt ist. Da er dies weiß, wird er die Breaking Changes nicht auf den Server übertragen und stattdessen weiter an der Fehlersuche in seinem Code arbeiten. Ja, Eher wenige Entwickler lieben es, Tests zu schreiben, aber die Vorteile, die sie für die Softwareentwicklung mit sich bringen, lassen sich nicht leugnen. Kunden geben häufig selbst an, welchen Grad der Testabdeckung sie beibehalten möchten (z. B. 80 %). Das bedeutet, dass Sie es wissen müssenSie kennen die verschiedenen Arten von Tests und können diese schreiben. Java-Entwickler schreiben hauptsächlich Unit-Tests und Integrationstests, während die umfangreicheren (End-to-End-)Tests von Experten für Qualitätssicherung und Testautomatisierung durchgeführt werden.

4. Fehler finden und beheben

Dies ist auch eine sehr häufige und häufige Aufgabe für Java-Entwickler. Die Hauptaufgabe von QA- und Testautomatisierungsexperten besteht darin, Fehler zu erkennen. Mit anderen Worten: Sie suchen nach Stellen, an denen sich das Programm falsch verhält, erstellen dann Aufgaben in Jira und weisen sie jemandem zu. Beispielsweise an einen Teamleiter, der wiederum je nach Auslastung und Vertrautheit mit den relevanten Teilen des Systems entscheidet, welchen Entwicklern er sie zuweist. Anschließend geht der beauftragte Entwickler stundenlang in einem Debugger auf die Suche nach der Ursache des Fehlers, unter Verwendung der von den QA-Experten bereitgestellten Fehlerbeschreibung, um die Bedingungen zu reproduzieren, unter denen der Fehler auftritt. Sobald der Entwickler den Fehler findet und behebt, sendet er den Fix zur Überprüfung. Manchmal kann der Entwickler den Fehler nicht reproduzieren und sendet die Aufgabe zusammen mit einem erläuternden Kommentar an den QA-Experten zurück. Es scheint, als würde es nicht lange dauern, einen Fehler zu finden und zu beheben, aber es gibt einige Nuancen. Es hängt vor allem davon ab, wie gut der Entwickler mit diesem Abschnitt des Codes vertraut ist, sowie von seiner Erfahrung und seinem theoretischen Wissen. Manchmal kann ein Fehler in 20 Minuten gefunden und behoben werden, manchmal kann es drei Tage dauern. Dies bedeutet, dass diese Art von Aufgabe besonders schwer im Voraus abzuschätzen ist, es sei denn, der Entwickler versteht beim Lesen der Beschreibung sofort, was, wo und wie der Fehler vorliegt. In diesem Fall,

5. Codeüberprüfung

Wie oben erwähnt, sollte eine Aufgabe, sobald Sie sie erledigt haben, zur Überprüfung gesendet werden. Wenn es die Prüfung besteht, gelangt es in den Hauptzweig. Wenn nicht, wird es mit Kommentaren, die bearbeitet werden müssen, an den Entwickler zurückgesendet. Natürlich verstehen Sie, dass Ihr Code vollständig von anderen Entwicklern überprüft wird und nicht von einer hohen Behörde. Allerdings ist es nicht jedem gestattet, Codeüberprüfungen durchzuführen – nur die erfahrensten Entwickler, die durch praktische Praxis abgehärtet sind und den Unterschied zwischen gutem und schlechtem Code erkennen können. Codeüberprüfungen werden normalerweise mit einem Hilfstool wie Crucible durchgeführt. Prüfer gehen den Code durch und hinterlassen bei Bedarf Kommentare zu bestimmten Zeilen. Es kann verschiedene Arten von Kommentaren geben. Einige sind zum Beispiel kritisch. Wenn sie nicht behoben werden, lässt der Prüfer nicht zu, dass der Code festgeschrieben wird. Andere Kommentare sind beispielsweise lediglich Bemerkungen zum gewählten Ansatz. Diese kann der Entwickler anhören, zur Kenntnis nehmen oder ignorieren. Ein Team kann seine eigenen Regeln und Verfahren für Codeüberprüfungen erstellen und sich darüber einigen, worauf es wert ist, beachtet zu werden und worauf nicht, welcher Zeitrahmen für die Durchführung einer Codeüberprüfung vorgesehen werden sollte usw. Erfahrung allein reicht nicht aus, um eine Überprüfung durchzuführen: Sie immer noch Sie müssen Ihre technischen Fähigkeiten stark erweitern und verschiedene Bücher lesen (z. B. „Clean Code“).

6. Code-Analyse

Da mehrere unterschiedlich denkende Personen gleichzeitig Code für das Projekt schreiben, werden ihr Code und ihre Ansätze unterschiedlich sein. Und mit der Zeit wird alles allmählich zu einem Chaos. Um den Code zu verbessern, werden manchmal Aufgaben erstellt, um beispielsweise ein bestimmtes Modul oder die gesamte Anwendung zu analysieren, Mängel zu finden und zu notieren und später auf der Grundlage dieser Analyse eine Refactoring-Aufgabe zu erstellen. Eine solche Analyse hilft auch in Situationen, in denen das Team zu Beginn der Entwicklung keine einfacheren, prägnanteren Lösungen sehen konnte, diese aber jetzt sieht. Beispielsweise wird die Logik in einigen Methoden häufig dupliziert. Dementsprechend kann es in eine separate Methode extrahiert werden, die dann viele Male wiederverwendet werden kann. Oder vielleicht ist eine Klasse zu aufgebläht, oder ein Code ist schwer zu warten oder veraltet, oder ... Analyseaufgaben tragen dazu bei, die Qualität des Codes und der Anwendung zu verbessern. Allerdings kann es für mich langweilig sein, eine große Menge Code zu analysieren.

7. Code umgestalten

Der nächste Teil der Codeanalyse ist das Refactoring. Code kann veraltet, veraltet, schlecht geschrieben, schwer lesbar usw. sein. Sie sollten immer nach Perfektion streben (auch wenn sie nicht existiert) und nach einem aktuellen Code, indem Sie alles Überflüssige entfernen, denn das Überflüssige führt nur zu Verwirrung und beeinträchtigt die Fähigkeit, zu sehen, was der Code tut. Es versteht sich von selbst, dass Sie diese Aufgaben wahrscheinlich nicht zu Beginn eines Projekts sehen werden: Sie begegnen ihnen in späteren Phasen der Entwicklung, wenn die Anwendung verfeinert und perfektioniert wird. Hier kann es angebracht sein, sich mit Kollegen darüber zu beraten, was sie tun würden und welche Fallstricke sie sehen. Im Kern ähneln solche Aufgaben der Entwicklung neuer Funktionen. Angenommen, Sie erhalten die Aufgabe, einige Funktionen zu bearbeiten, ohne deren Verhalten zu ändern. Dazu löschen Sie den alten Code, schreiben Ihren eigenen und überprüfen die Tests. Wenn Sie alles richtig gemacht haben, sollten die Tests, ohne Änderungen an ihnen vorzunehmen, alle wie zuvor bestanden werden. Nachdem alles im Code so ist, wie es sein sollte, senden wir ihn zur Überprüfung und trinken einen Kaffee :)

8. Dokumentation schreiben

Stellen Sie sich vor, Sie sind ein neuer Entwickler an einem langfristigen Softwareentwicklungsprojekt. Sie müssen sich mit der Codebasis vertraut machen oder eine bestimmte Aufgabe ausführen, beispielsweise einen Fehler diagnostizieren. Wie werden Sie durch das Projekt navigieren? Alle fünf Minuten deine Teamkollegen belästigen? Und was ist, wenn sie beschäftigt sind oder Wochenende ist? Genau aus diesem Grund verfügen wir über Dokumentation – damit eine Person, die mit dem Code nicht vertraut ist, die entsprechende Seite finden und schnell herausfinden kann, was in dem Teil der Anwendung vor sich geht, der sie interessiert. Aber jemand muss die Dokumentation erstellen, haha. Wenn ein Projekt über eine Dokumentation verfügt, die Entwickler unterstützen müssen, beschreiben sie diese bei der Implementierung neuer Funktionen und aktualisieren die Dokumentation zusammen mit etwaigen Codeänderungen oder Refactorings. Es kann auch vorkommen, dass ein separater Mitarbeiter – ein technischer Redakteur – eingestellt wird, um die Dokumentation zu schreiben, zu pflegen und zu überwachen. Wenn ein solcher Spezialist verfügbar ist, ist das Leben normaler Entwickler etwas einfacher.

9. Verschiedene Treffen

Entwickler verbringen viel Zeit mit verschiedenen Besprechungen, Verhandlungen und Planungen. Das einfachste Beispiel ist das tägliche Stand-up-Meeting, bei dem Sie berichten müssen, was Sie gestern getan haben und was Sie heute tun werden. Darüber hinaus müssen Sie beispielsweise persönliche Telefongespräche mit Testern führen, damit diese die Nuancen der Reproduktion eines Fehlers demonstrieren/erläutern oder die Feinheiten und Anforderungen mit einem Business-Analysten besprechen oder über organisatorische Probleme sprechen können mit einer PN. Das bedeutet, dass eine Entwicklerin, auch wenn sie introvertiert ist und die Einsamkeit bevorzugt, dennoch in der Lage sein muss, eine gemeinsame Basis mit anderen Menschen zu finden (zumindest ein wenig). Die typischen Aufgaben eines Java-Entwicklers an einem Projekt – 2Je höher der Rang eines Entwicklers ist, desto mehr Zeit muss er für die Kommunikation aufwenden und desto weniger Zeit muss er für das Schreiben von Code aufwenden. Ein Entwicklungsleiter kann die Hälfte oder sogar mehr seines Arbeitstages allein mit Gesprächen und Besprechungen verbringen und möglicherweise seltener Code schreiben (was möglicherweise dazu führt, dass er ein wenig von seinen Programmierkenntnissen verliert). Aber wenn Sie einfach gerne reden, könnten Sie als Teamleiter ins Management wechseln und das Schreiben von Code völlig vergessen. Stattdessen würden Sie den ganzen Tag damit verbringen, mit verschiedenen Teams, Kunden und anderen Managern zu kommunizieren.

10. Durchführung/Bestehen von Vorstellungsgesprächen

Wenn Sie für ein Outsourcing- oder Outstaffing-Unternehmen arbeiten, müssen Sie häufig externe und interne Vorstellungsgespräche absolvieren, bei denen Sie sich dem Kunden „verkaufen“ müssen (Sie werden möglicherweise von jemandem interviewt, der für den Kunden arbeitet). diejenigen, die innerhalb des Unternehmens aufsteigen. Ich würde das als eine gute Gelegenheit zur Weiterentwicklung bezeichnen, denn die häufigen Vorstellungsgespräche werden Sie dazu zwingen, Ihr Wissen auf dem neuesten Stand zu halten: Sie werden nicht eingerostet und weich. Denn wenn man in der IT nachlässig wird, kann man völlig aus dem Feld fallen. Wenn Sie ein erfahrenerer Entwickler werden, können Sie sich auf der anderen Seite des Tisches wiederfinden und Vorstellungsgespräche führen, anstatt sie zu bestehen. Glauben Sie mir, Sie werden sehr überrascht sein, wenn Sie es aus dieser Perspektive betrachten, denn das Stellen von Interviewfragen kann beängstigender sein, als darauf zu antworten. Sie benötigen eine eigene Interviewstrategie, eine Liste mit Fragen und Zeit, um in einer Stunde Fragen zu allen erforderlichen Themen zu stellen. Anschließend sind Sie dafür verantwortlich, Feedback zu geben, das Einfluss auf die Einstellungsentscheidung hat und darauf, ob der Kandidat ein lang erwartetes Angebot oder eine Beförderung erhält. Oder Sie erlauben einer offensichtlich schwachen Kandidatin, eine Stelle zu bekommen, für die sie nicht geeignet ist, und werden dann gefragt: „Wie können Sie zulassen, dass sie mit diesem Wissensstand überhaupt eingestellt wird?“ Wenn Sie also während eines Vorstellungsgesprächs auf dem heißen Stuhl sitzen, denken Sie daran, dass die Person vor Ihnen ebenfalls vor einer Herausforderung steht und möglicherweise gestresst ist. Sie sind dafür verantwortlich, Feedback zu geben, das Einfluss auf die Einstellungsentscheidung hat und ob der Kandidat ein lang erwartetes Angebot oder eine Beförderung erhält. Oder Sie erlauben einer offensichtlich schwachen Kandidatin, eine Stelle zu bekommen, für die sie nicht geeignet ist, und werden dann gefragt: „Wie können Sie zulassen, dass sie mit diesem Wissensstand überhaupt eingestellt wird?“ Wenn Sie also während eines Vorstellungsgesprächs auf dem heißen Stuhl sitzen, denken Sie daran, dass die Person vor Ihnen ebenfalls vor einer Herausforderung steht und möglicherweise gestresst ist. Sie sind dafür verantwortlich, Feedback zu geben, das Einfluss auf die Einstellungsentscheidung hat und ob der Kandidat ein lang erwartetes Angebot oder eine Beförderung erhält. Oder Sie erlauben einer offensichtlich schwachen Kandidatin, eine Stelle zu bekommen, für die sie nicht geeignet ist, und werden dann gefragt: „Wie können Sie zulassen, dass sie mit diesem Wissensstand überhaupt eingestellt wird?“ Wenn Sie also während eines Vorstellungsgesprächs auf dem heißen Stuhl sitzen, denken Sie daran, dass die Person vor Ihnen ebenfalls vor einer Herausforderung steht und möglicherweise gestresst ist. Jedes Vorstellungsgespräch ist sowohl für den Kandidaten als auch für den Interviewer stressig. Wir werden wahrscheinlich hier enden. Vielen Dank an alle, die diesen Artikel gelesen haben. Hinterlasse ein „Gefällt mir“ und lerne weiterhin Java :)
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION