Programmer Vs Developer Vs Engineer
Wenn Sie jemals ein Software-Team durchgesehen haben, sind Sie auf diese Berufsbezeichnungen gestoßen und haben sich vielleicht gefragt, ob ein Entwickler in Ihrem Team tatsächlich gut für Ihre Geschäftsentwicklung ist, oder ein Software-Ingenieur ist ein Schlüssel zum Erfolg Ihres Projekts, da es eine Reihe technischer Daten enthält, mit denen nur ein Ingenieur umgehen kann. Oder vielleicht für Ihre Anwendung oder ein Stück Software, um einen zuverlässigen Code zu haben, benötigen Sie einen Codierer? Schauen wir uns das an.
„Ein Softwareingenieur, ein Entwickler und ein Programmierer betreten eine Bar.
– Hier kommen die Programmierer! – sagt der Barkeeper.“
Die Vielfalt der Rollennamen ist aufgrund der grundlegenden Unterschiede in der Funktionsweise dieser Rollen nicht aufgetreten. Es war vielmehr ein historischer Prozess des Wachstums und der Robustheit der Industrie. Die Überschneidung internationaler Begriffe trug zur Vielfalt bei. Zunächst einmal gibt es keinen inkrementellen Unterschied in der Art und Weise, wie diese Jobs der digitalen Produktion in ihrer spezifischen Umgebung funktionieren. Es gibt jedoch subtile Unterschiede in den Lösungsansätzen für technische Aufgaben, die Ihnen einen Hinweis darauf geben können, wie die Partnerschaft verlaufen wird, vorausgesetzt, Sie setzen sich mit einer bestimmten Nomenklatur auseinander.
Der Programmierer
In Anlehnung an diesen Witz ist ein Programmierer der Oberbegriff für die gesamte Bandbreite der Jobs in der digitalen Produktherstellung. Jetzt habe ich Definitionen eines Programmierers als denjenigen gesehen, der „Code für Anwendungen und Software schreibt, ohne sich zu sehr mit Design und Erfahrung zu befassen. Ich denke, das ist nicht ganz richtig, da dies eher die Aufgaben eines Back-End-Entwicklers sind. Ich glaube, ein Programmierer ist jeder Computerprofi, der weiß, wie man codiert.
Alles, was durch die Verwendung von Programmiersprachen zu einer digitalen Produktionsausgabe führt, kann als Programmierung betrachtet werden, was den Botschafter dieser Fähigkeiten zum Programmierer macht.
In meinem Land 🇷🇺 haben wir die offiziellen staatlich regulierten Berufsbezeichnungen und -beschreibungen. Die meisten von uns in der Software-und Computerindustrie sind in Bezug auf die Arbeitsgesetzgebung, Ingenieur-Programmierer.
Der Entwickler
Ein Entwickler ist vielleicht die häufigste Berufsbezeichnung, wenn Sie Code schreiben und Software zusammenstellen möchten. Der in den späten 80er Jahren eingeführte Begriff Entwickler spiegelt das moderne Verständnis der digitalen Produktion wider.
Heute sehen wir die Produktion als einen schrittweisen und systematischen Prozess der Schaffung eines Produkts, während ein gewisses Maß an Leistung, Attraktivität und Exposition erreicht wird. Warum schrittweise? Wenn Sie alle Basen laden oder alle Tore erzielen könnten, müssten Sie nicht schrittweise sein. Leider sind unsere Ressourcen oft begrenzt und auch unsere Ideen entwickeln sich im Laufe der Zeit weiter. Entwicklung scheint das wirklich scharfe Wort für diesen Prozess zu sein.
Nun, ein Entwickler in diesem Sinne unterscheidet sich von einem Programmierer, wegen der Besonderheiten des Prozesses, in dem Codierung nur ein Teil ihrer Verantwortung ist. Dazu gehören auch die Dokumentation von Funktionen, die konzeptionelle Analyse, in einigen Fällen das Design, das Testen und Debuggen sowie die Optimierung.
Es gibt eine logische Abstufung der Entwickler zu Junior, Middle, Senior und Lead. Junioren sind hauptsächlich daran interessiert und in der Lage, Code in einer bestimmten Sprache zu schreiben. Als sie Stufe nach oben, ihre Palette von Fähigkeiten wächst, Peaking schließlich an der Spitze. Damit geht der Lead weg vom Codieren und Debuggen mehr in den Bereich des Produktmanagements.
Im Allgemeinen ist ein Entwickler eine kreative Einheit mit einer breiten Palette technischer Fähigkeiten. Ihre Verantwortung ist die Leistung des Produkts in allen Aspekten, nicht nur im Backend.
Der Ingenieur
Das klingt ziemlich ernst. Wenn du deiner Großmutter sagst, dass du eine mittlere Backend-Entwicklerin bist, würde sie denken, dass du irgendwo zwischen einem Punkrocker und einem seltsamen Sportspieler bist. Aber wenn du sagst, du bist Ingenieur, werden deine Stokes steigen. Warum ist das so? Der Beruf eines Ingenieurs ist in der Antike verwurzelt, wo die Leute, die entweder akademisch oder natürlich Physik und Mechanik verstanden haben, in der Lage wären, Dinge außerhalb des allgemeinen öffentlichen Bereichs zu machen.
Jahrtausende später läuft unsere Welt immer noch auf Engineering. Ein Flugzeugingenieur und ein Brückenbauingenieur sind zwei verschiedene Arten von Ingenieuren. Gemeinsam ist ihnen die grundlegende und branchenspezifische Aus- und Weiterbildung. Gemäß der allgemeinen Definition ist ein Software-Ingenieur eine Person, die die Prinzipien des Software-Engineerings auf das Design, die Entwicklung, die Wartung, das Testen und die Bewertung der Software anwendet, mit der Computer oder andere Geräte, die Software enthalten, funktionieren.
In einfachen Worten, der Ingenieur hat eine solide pädagogische Grundlage und die Fähigkeit, technische Konzepte anzuwenden, um digitale Lösungen zu schaffen.
Diese Art der Erdung bringt mehr Verantwortung auf einen Softwareentwickler, da wir erwarten, dass ein konstruiertes Stück zuverlässig ist und Vertrauen ausstrahlt. Keine Kunst und Kreativität, die wir von einem Entwickler tolerieren können, wird von einem Ingenieur erwartet. In einigen Ländern muss man sich zertifizieren lassen, um Ingenieur zu werden, da dieser Beruf oft mit lebensbedrohlichen Situationen verbunden ist, wenn etwas schief geht. Während dies bei der Computer- und Softwaretechnik noch nicht der Fall ist, können wir deutlich sehen, wie sie diesen Punkt erreichen werden, wenn wir noch mehr Entscheidungsfunktionen an Computer und Software delegieren.
Werfen wir einen Blick auf den Umfang der Kenntnisse und Fähigkeiten, die ein Softwareentwickler haben muss:
- Informatik. Computer lösen menschliche Probleme. Es muss jemanden geben, der Computerprobleme löst und sie unterrichtet. Informatiker.
- Mathematik. Es gibt keine Übertreibung des Spektrums der Mathematik in ihrer Anwendung in der Technologie.
- Softwareentwicklung selbst. Auch hier kann der wissenschaftliche Ansatz auf den Prozess der Erstellung jeder Art von digitalem High-End-Produkt angewendet werden, unabhängig von den beteiligten Sprachen, Technologien, Tools und Zielen.
Der Softwareentwickler muss in der Lage sein, sein gesamtes technisches Wissen anzuwenden, um die geschäftliche Seite eines Produkts zu unterstützen. Es gibt keine Junior-Ingenieure, wenn Sie diese Haltung zum Beruf eines Software-Ingenieurs einnehmen.
🐝 The beehive
Wenn Sie bereit sind, über diese drei hinauszugehen und sich ein wenig verspielt zu fühlen, finden Sie hier einige exotische Titel des Programmierers (ich bleibe dabei) Job mit allen möglichen Nuancen beleuchtet, um einen Effekt zu erzielen.
Der Codierer
Codierer fügen Anforderungen und Funktionsbeschreibungen in ihren User Stories in die Arbeitssoftware ein. Normalerweise erreicht der Umfang der Beteiligung eines Programmierers keine signifikante kreative Freiheit. Sobald das passiert, herzlichen Glückwunsch, Sie sind ein Entwickler.
Der Scripter
Skripte sind winzige Programme, die einfache wiederholte Operationen automatisieren können, um einen Menschen von dieser Routine zu befreien. Heutzutage erlaubt modernes Scripting jedem, seine Skripte zu schreiben und einen Teil seiner Arbeit zu automatisieren, was sie alle zu Skripten macht.
Der UI-Entwickler
Die UI-Entwicklung wird oft als Teil der Front-End-Entwicklungsdisziplin bezeichnet und liegt näher an der UX als jede andere Codierungseinheit. Wenn ein UI / UX-Designer mit verschiedenen Programmiertools hochwertige Layouts codieren und erstellen kann, kann er sich als UI-Entwickler bezeichnen. Und umgekehrt.
Der kreative Codierer
Wenn ein Scripter also Codeskripte verwendet, um fallspezifische Ziele zu erreichen, kann seine nächste Phase kreatives Codieren sein. Weiter mit einem Designer-Beispiel, gibt es eine Tonne Kreativität in ihnen, aber oft, Null-Code. Ein kreativer Programmierer zu sein bedeutet, eine Reihe von einmaligen Code-Snippets ohne wissenschaftlichen Hintergrund oder Framework-Building-Fähigkeiten zu verwenden, um eine funktionierende Software so zu erstellen, wie sie entworfen wurde. Der kreative Programmierer kann entweder ein Notlückengenerator bleiben oder sich zu einem ausgewachsenen Entwickler entwickeln.
Der Informatiker
Jede Wissenschaft hat eine starke theoretische Basis. Informatik ist nicht anders. Ähnlich wie sich ein theoretischer Physiker für theoretische Modelle und Abstraktionen physikalischer Objekte und Naturphänomene interessiert, studieren Informatiker theoretische Grundlagen von Information und Berechnung und deren Anwendung. Informatiker in gewisser Weise den Weg für die weitere Entwicklung der Branche sowie versuchen, die Lösungen für aktuelle Probleme zu erfinden.
🙄 Die Bedeutung der Unterscheidung
Die Ablehnung des Unbekannten ist der natürliche Abwehrmechanismus. Um Zeit und Mühe zu sparen, neigen wir oft dazu, uns an die Dinge zu halten, mit denen wir vertraut sind. In diesem Fall ist es eine Frage der Erfahrung, sich verschiedener Kategorien von Objekten, Gruppen und Phänomenen bewusst zu sein.
Für einen Unternehmer oder Startup-Unternehmer ist es äußerst hilfreich, Muster zu erkennen und erfahrungsbasierte Entscheidungen zu treffen. Dies betrifft alles, von der Ideenbewertung bis hin zu Produktmarketingstrategien. Aber davor liegt die Teamauswahl. Um nicht von den Titeln eingeschüchtert zu werden, sollten Sie zumindest ein oder zwei Dinge über die Besonderheiten jeder Rolle wissen.