Job Rolle: Software Engineer

Autor: Laura McKinney
Erstelldatum: 2 April 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
software engineer job description | software engineer role and responsibilities
Video: software engineer job description | software engineer role and responsibilities

Inhalt


Quelle: Dragonimages / Dreamstime.com

Wegbringen:

Der Softwareentwickler ist tief in den Lebenszyklus der Softwareentwicklung involviert und spielt eine große Rolle für den Erfolg eines Projekts.

Was macht ein Softwareentwickler? Die einfache Antwort lautet, dass er oder sie in die Softwareentwicklung involviert ist und dabei technische Prinzipien auf Softwareprodukte anwendet.

Es ist jedoch wirklich eine Fülle von Details und Nuancen darin zu beschreiben, was Softwareingenieure in der Software-Welt tun. Wir werden uns etwas damit befassen, wenn wir uns einen "Tag im Leben" eines Software-Ingenieurs ansehen, der daran arbeitet, all die großartigen digitalen Dinge zu erstellen, die wir jeden Tag verwenden. (Um mehr über die Rolle von jemandem auf dem Gebiet zu erfahren, lesen Sie Wie ich hierher kam: 12 Fragen an den Autor und Software-Ingenieur David Auerbach.)

Der Software-Entwicklungs-Lebenszyklus

Um die Rolle des Softwareentwicklers zu verstehen, ist es hilfreich, den Softwareentwicklungszyklus (SDLC) zu kennen.


Der Lebenszyklus der Softwareentwicklung umfasst verschiedene Schlüsselphasen, die häufig als Planung, Entwurf, Codierung, Test, Implementierung und Bereitstellung von Anforderungen beschrieben werden (einige Schritte gemäß proprietären Prozessen angeben oder ausführen).

„Software beginnt mit dem Problem, das wir zu lösen versuchen“, beschreibt John Quigley von Value Transformation LLC den konventionellen Lebenszyklus der Softwareentwicklung, indem er mit einigen Vorgängen am Anfang des Prozesses beginnt. „Dies wird in irgendeiner Form dokumentiert und ist das Ergebnis von Interviews mit Kunden oder Menschen, die unter dem Problem leiden. Das Dokument wird beschreiben, wie das Problem aussieht, und dabei helfen, Ideen zu entwickeln, die zur Lösung mit diesen verglichen werden können. Dies wird das Ziel dieser Arbeit sein, um herauszufinden, was wir erreichen wollen. “

In der Anforderungsphase legten die Ingenieure die spezifische technische Beschreibung des Produkts fest, sowohl für Hardware (sofern vorhanden) als auch für Software.


Dann gibt es Codierung: "Die Software-Ingenieure schreiben die spezifischen Anweisungen in Code, um das gewünschte Produkt zu produzieren, das die spezifischen Anforderungen erfüllt", sagt Quigley über die Codierungsphase.

Danach, sagt er, wird getestet, und dann eine weitere Reihe von Schritten, die die Software solide in Richtung einer Produktionsumgebung bringen. Gegen Ende des Prozesses gibt es Raum für verschiedene Ideen zur Implementierung und Bereitstellung. Quigley fügt hinzu, dass ein neues „agiles“ Modell für SDLC etwas anders funktioniert.

Keine Bugs, kein Stress - Ihre schrittweise Anleitung zur Erstellung lebensverändernder Software, ohne Ihr Leben zu zerstören

Sie können Ihre Programmierkenntnisse nicht verbessern, wenn sich niemand um die Softwarequalität kümmert.

"In der agilen Welt sehen die Dinge viel aus, aber die Iterationen sind kleiner und liegen näher beieinander", sagt Quigley. „Die Anforderung kann über Anwenderberichte behandelt werden, die weniger technischer Natur sind und mehr zum Verständnis der Anwendung geschrieben wurden, sodass die Software-Ingenieure Rückschlüsse ziehen und wichtige Attribute ableiten können, die auf der Grundlage der tatsächlichen Verwendung erforderlich sind.“

Die vielfältige Rolle des Software Engineers

Da der Lebenszyklus der Softwareentwicklung verschiedene Phasen und Vorgänge umfasst, ist es sinnvoll, dass auch die Arbeit des Softwareentwicklers variiert.

"Ein Software-Ingenieur hat eine umfassendere Rolle als die meisten anderen bei der Entwicklung von Softwarelösungen", schreibt Samuel Malachowsky, Professor am Rochester Institute of Technology. „Jedes Element des SDLC verfügt über Spezialisten: REs und Sales für die ersten Schritte, Architekten für die Entwurfsphase, Programmierer / Programmierer für die Erstellung, QS für die Verifizierung / Prüfung, IT für Bereitstellung / Wartung und Projektmanager für die Bewegung und Verwaltung von von jedem Teammitglied / Phase wird jedoch erwartet, dass sich Softwareingenieure auf den gesamten Prozess beziehen. Unter diesem Gesichtspunkt könnte eine bessere Frage sein, was ein Software-Ingenieur nicht tut. "

Hier ist ein weiterer interessanter Punkt, den Malachowsky über den Unterschied zwischen IT und Software-Engineering macht, der viel darüber aussagt, wie die Arbeit eines durchschnittlichen Software-Ingenieurs aussieht:

„Die IT ist betriebsbereit und wiederholt sich, während sich das Engineering um neue Probleme dreht, die als einzigartige Projekte gelöst werden müssen“, sagt er. „Aufgrund dieser Wiederholung suchen IT-Mitarbeiter viel häufiger nach individuellen werkzeugbasierten Zertifizierungen. Im Gegensatz zu etwas wie Computertechnik sieht es dort aus, wo die Anforderungen erfüllt sind - CEs konzentrieren sich in der Regel darauf, das Problem mit Hardware und Software zu lösen, die es unterstützt. SEs lösen das Problem mit Software und Hardware, die Unterstützung bietet. “

Die Software Engineer und Projektteams

In vielen Unternehmen sind Softwareingenieure entsprechend ihrer Rolle im komplexen Prozess in Gruppen zusammengefasst und delegiert.

Brennan Meagher beschreibt ein Beispiel von TeleTracking, einem Unternehmen, das Schlagzeilen im Bereich Innovationen im Gesundheitswesen bei Fierce Healthcare, dem American College of Emergency Physicians, Gesundheitsdatenmanagement, IT-Nachrichten im Gesundheitswesen und anderen Unternehmen macht.

„Bei TeleTracking sind die Software-Ingenieure für das Codieren und Testen aller Module und Anwendungen verantwortlich, die Teil der TeleTracking-Plattform sind“, sagt Meagher. „Sie helfen auch bei der Entwicklung von Softwarelösungen und Produktionen. Dazu gehört das Erforschen, Entwerfen, Dokumentieren und Entwickeln neuer Software. Kurz gesagt, unsere Software-Ingenieure entwickeln die Softwarelösungen, die auf die technische Vision von TeleTrackings abgestimmt sind, um den Zugang zu Patienten zu verbessern. “

Sie können sich diese Fachleute auf einem Firmengelände vorstellen, indem Sie zuerst Entwürfe erstellen, dann das Modell optimieren und dann in Teams testen, um ein Projekt sorgfältig bis zum Abschluss zu begleiten.

"Ein Beispiel für etwas, für das Softwareentwickler regelmäßig verantwortlich sind, ist das Schreiben, Debuggen, Testen von Einheiten und Leistungstestcodes in allen Anwendungsebenen", sagt Meaghan. "Dies umfasst die Front-End- (Web-), Middle-Layer- (Web-Services-) und Datenzugriffsschicht."

Das Fazit ist, dass Softwareentwickler unterschiedliche, spezialisierte Aufgaben haben. Sie alle müssen einige der Grundlagen des Codierens verstehen, aber einige müssen sich mit den Besonderheiten des Testens, der Transparenz der Entwurfsanforderungen oder in einigen Fällen mit der Welt der agilen Entwicklung befassen.

Dann kam das DevOps-Modell und führte viele der iterativen Prozesse zusammen, die im konventionellen Modell sehr spezifisch umrissen und kategorisiert waren. Die Rolle des Softwareentwicklers ändert sich also. (Weitere Informationen zu DevOps finden Sie unter Erklären der Funktionsweise von DevOps-Managern.)

Dies gibt Ihnen ein wenig Zeit, um mehr über die Arbeit dieser zentralen Experten in der Softwareproduktion zu erfahren. Der Softwareingenieur wurde als „Schweizer Taschenmesser“ für Design und Softwareerstellung bezeichnet - und kann in einem geschäftigen Unternehmen viele Hüte tragen.