Sind Programmierer und Softwaretechniker überbewertet?

Ich würde sagen, dass Programmierer / Entwickler / Softwareingenieure / Software-Architekten / <> die am häufigsten missverstandenen Rollen in einem Unternehmen sind.

Lassen Sie mich mit einer Analogie zu der CRUD-Anwendung erklären, die Sie beschreiben.

Ein Unternehmen hat eine Verkaufsabteilung, in der alle Verkäufer ihre Karte mit dem Gesamtumsatz am Ende des Tages an die Verkaufssekretärin abgeben. Die Sekretärin nimmt die Karte, multipliziert alle Verkäufe, addiert alle Beträge, überträgt die Summe auf das wöchentliche Gesamtberichtsformular und legt die Karte im Aktenschrank ab. Am Ende der Woche fasst sie alle Summen auf dem Wochenberichtsformular zusammen, überträgt die Summe auf ein neues Wochenberichtsformular, legt das Wochenberichtsformular im Schrank ab und übergibt das Wochenberichtsformular
an den Verkaufsleiter für ihn zu überprüfen.

Das funktioniert eine Weile, aber der Manager möchte seine Vertriebsmannschaft erweitern, um neue Gebiete zu erobern. Das Problem ist, dass die Sekretärin zu langsam ist, um mit der aktuellen Situation Schritt zu halten, und den wöchentlichen Bericht nicht erstellen kann, wenn der Außendienst wächst.

Aber der Manager bekommt Neuigkeiten über eine neue Sekretärin, diese ist zehnmal so schnell wie die vorherige. Aber es gibt einen Haken, dieser Sekretär kann sich nicht vermehren. Der Manager entschließt sich, die derzeitige Sekretärin zu entlassen und diese schneller einzustellen. Das Multiplikationsproblem wird durch Hinzufügen von Multiplikationstabellen auf Karten im Ablagesystem gelöst. Da der neue Sekretär Dateien nachschlagen, Summen lesen, übertragen und addieren kann, ersetzt der Sekretär lediglich den Multiplikationsschritt durch das Nachschlagen einer Multiplikationstabellenkarte im Dateisystem und überträgt die Summe in das Berichtsformular. Es gibt eine Auswirkung auf die Leistung, aber insgesamt ist der neue schneller als der vorherige Sekretär, und die Vertriebsmannschaft kann erweitert werden.

Großartig, das funktioniert eine Weile prächtig, aber das Unternehmen will noch weiter expandieren. Die Sekretärin kann mit dieser Erweiterung nicht mithalten. Kein Problem, sie stellen eine neue Sekretärin ein, zehnmal schneller als die vorherige. Aber es gibt einen neuen Haken – den neuen kann man auch nicht hinzufügen. Kein Problem, der Manager ersetzt die Additionsoperation durch dieselbe Prozedur, durch die er die Multiplikationsprozedur ersetzt hat, und es müssen mehr Tabellen nachgeschlagen und Summen übertragen werden. Immer noch eine Auswirkung auf die Leistung, da es mittlerweile so viele Such- und Übertragungsvorgänge gibt, aber insgesamt übertrifft diese neue Sekretärin die vorherige. Der Aktenschrank ist inzwischen zu einer großen Halle mit Schränken gewachsen, die alle möglichen Summations- und Multiplikationstabellen sowie alle Berichte und Karten enthalten.

Jetzt geht es dem Unternehmen so gut und es will weiter expandieren. Die arme Sekretärin, die herumläuft und nach Karten und Summen sucht, kann mit dieser Erweiterung nicht umgehen. Keine Sorge, der Manager hat eine brandneue Sekretärin gefunden, die um Größenordnungen schneller ist als die vorherige. Dieser Idiot kann jedoch keine Zahlen lesen, addieren, multiplizieren oder verstehen. Dieses Wunder eines Wesens kann nur zwei Farben verstehen: Rot und Grün. Die einzigen Operationen, die dieser ausführen kann, sind die Such-, Übertragungs- und Dateioperationen. Die Lösung besteht also darin, alle Texte, Zahlen und Verweise auf Karten durch rote und grüne Punkte zu ersetzen. Das Ablagesystem ist jetzt so groß, dass es vier Fußballfelder füllt. Jedes Feld hat einen eigenen Punktcode RR, RG, GG, GR, wobei jede Schrankreihe auf die gleiche Weise codiert ist, bis hin zu Karten mit codierten Darstellungen aller Zahlen und Briefe und Operationen und Ergebnisse für sie. So läuft die neue Sekretärin mit erstaunlichem Tempo und überträgt Daten mit Schränken von und zu den Fußballfeldern. Wenn die Sekretärin sieht, dass etwas mit einem roten Punkt beginnt, muss die Sekretärin zuerst zu den roten Feldern rennen, und wenn der nächste Punkt grün ist, rennt die Sekretärin zu dem zweiten der roten Felder, und indem sie durch die Punkte iteriert, kann die Sekretärin das genau lokalisieren Informationen, die angefordert werden.

Das Problem ist jetzt, dass die Verkäufer, der Verkaufsleiter und andere normale Menschen nicht verstehen oder in roten und grünen Punkten kommunizieren. Daher stellt das Unternehmen jemanden ein, der Geschäftskonzepte wie “Verkaufskarte”, “Verkaufsbericht” aus dem Klartext übersetzt und Zahlen in rot und grün codierte Punkte. Dieselbe Person hat auch die Aufgabe, die sich ergebenden roten und grünen Punkte von der Sekretärin wieder in für Menschen lesbarer Form in die Geschäftskonzepte umzuwandeln. Diese Person wird Programmierer genannt. Denn der blitzschnelle Idiot, der wie ein Verrückter durch endlose Fußballfelder mit Aktenschränken voller rot und grün codierter Informationen rennt, ist das, was ein Computer wirklich ist. Computer sind nicht schlau, Programmierer machen Computer schlau, indem sie eine Vielzahl von einfachen, aber völlig unverständlichen Anweisungen in vom Menschen verständliche Begriffe wie “Verkaufsbericht”, “Strategiespiel” oder “Rechnungshotel” übersetzen.

Dies macht den “Programmierer” zur am meisten missverstandenen und unterschätzten Rolle in einem Unternehmen, und der Computer ist tatsächlich diejenige, die überbewertet wird.

CRUD-Anwendungen und GUIs sind einige der Dinge, die Programmierer entwickeln.

Es gibt auch Gerätetreiber, mit denen USB-Laufwerke an Computer angeschlossen und Dateien kopiert oder Billionen von Polygonen auf den neuesten Grafikkarten gerendert werden können.

Nahezu alle heute hergestellten Autos sind stark von Software abhängig. Der Ford Focus ist ein Drive-by-Wire-Fahrzeug, das vollständig von einem Computer gesteuert wird, der auf Eingabesensoren basiert.

Auf den Netzwerkgeräten befindet sich Software, die die Grundlage des Internets bildet.

Während es also Menschen gibt, die als Softwareentwickler überbewertet sind, und Unternehmen, die mit dem Hype ihrer Apps überbewertet sind, weiß ich nicht, wie jemand die Behauptung rechtfertigen könnte, dass Softwareentwickler im Allgemeinen überbewertet sind.

Es ist einigermaßen wahr, Softwareentwicklung ist das neue Gesicht der Kohle und wir Entwickler sind die Bergarbeiter, die an ir arbeiten.

Ich würde jedoch spekulieren, dass der durchschnittliche Softwareentwickler ein wenig intelligenter und besser ausgebildet ist als der durchschnittliche Bergmann, und die Arbeit, die wir leisten, ist insgesamt viel komplexer und schwieriger durchzuführen.

Persönlich finde ich es Spaß, Dinge in Programmiersprachen zu bauen. Ich würde eine Karriere in der Softwareentwicklung keinem empfehlen, der Codierung für langweilig hält und darüber nachdenkt…

Als Bereich ist die Softwareentwicklung nicht im geringsten überbewertet, wenn man bedenkt, dass die Kombination von Hardware- und Softwareentwicklung (diese beiden Bereiche sind eng miteinander verbunden) im Bereich der Computer seit Ende der 1940er Jahre zu revolutionären Veränderungen geführt hat in unserer Welt in großem Maßstab. Schauen Sie sich um und denken Sie, dass viele der Dinge, die Sie für selbstverständlich halten, ohne die Arbeit von Informatikern wahrscheinlich nicht existieren würden…

Denken Sie, Sie verstehen das gesamte Konzept der Softwareentwicklung falsch. Unsere Aufgabe ist es, Probleme zu lösen. Es geht nicht darum, GUIs oder CRUD-Operationen zu schreiben. Es geht darum, ein Geschäft zu verstehen und Probleme zu lösen. Ich sehe das nicht als überbewertet an, wir konzentrieren uns auf technische Details, wie wir ein Problem lösen können, das sich über das derzeitige Verständnis hinaus entwickelt. Ich habe seit einiger Zeit keine GUI mehr geschrieben. Ich musste viele neue Konzepte außerhalb des Software-Engineerings lernen und auch neue Konzepte in meinem eigenen Umfeld. Wir schaffen Systeme, die einigen Unternehmen Milliarden einbringen. Also würde ich nein sagen, ich habe noch nie in einem Umfeld gearbeitet, in dem ich mir die Lösung eines Problems nicht zu Nutze gemacht habe. Es ist nicht das, worum es in diesem Bereich geht, wenn wir einen sehr engen Blickwinkel auf das angeben, was wir tun können.

Ja, sind Sie.

Und natürlich nicht.

Einerseits ja, es gibt eine Menge BS über den Ort, OMG! Die Githubs! oder Hände über Algorithmen oder Datenstrukturen reiben. Einige sprechen über Optimierung, Effizienz oder wie viel besser es wäre, wenn es in% FAVOURITELANGUAGE% geschrieben wäre.

Ein großer Teil davon ist BS, wie Sie sagen, viele von uns schreiben ziemlich grundlegende Dinge, um ihren Lebensunterhalt zu verdienen, und wir machen uns keine Sorgen, diese VIS-Vektoreinheit im SPARC-Prozessor zu verwenden, um eine Geschwindigkeit von 0,00001% zu erreichen .

Was für einige jedoch grundlegend ist, ist für andere unkompliziert.

Ich denke nicht, dass es so ist, als ob man ein virtueller Bauarbeiter wäre, denn beim Bauen auf niedrigem Niveau gibt es keine wirkliche Eintrittsbarriere. Wenn Sie mich gebeten haben, ein kleines Haus mit allen mir zur Verfügung stehenden Materialien und Werkzeugen zu bauen, dann könnte ich es wahrscheinlich. Es könnte in einem Sturm herunterfallen, der Boden könnte nicht zu 100% eben sein, und vielleicht würde das Dach Wasser einlassen oder zumindest im Wind pfeifen.

Wenn Sie einer normalen Person jedoch alle Tools zur Verfügung stellen, die sie zum Schreiben von Software benötigt, wird sie nicht einmal den Compiler zum Laufen bringen, geschweige denn überhaupt etwas schreiben.

Manchmal werden Softwareentwickler überbewertet und wir fügen ihr auch eine mystische Ebene hinzu. Wir schätzen auch die falschen Dinge, so wie Entwickler / Programmierer predigen, um eine perfekte, kleine und einfache Lösung für ein Problem zu finden. Insgeheim lieben viele von uns diese Komplexität und schwelgen darin. Wie viele Entwickler verwenden Ubuntu und wie viele Inferno? Die Leute reden davon, einfache, durchdachte Lösungen zu finden, aber wenn es darum geht, den neuesten aufgeblähten JS-Stack oder die neueste Bibliothek zu finden, oder die Gigabyte ihres nächsten Betriebssystem-Downloads.

Es ist jedoch auch völlig unterschätzt, es ist eine Fähigkeit, die Unternehmen führt, und es ist auch keine ersetzbare Fähigkeit.

Ein CEO kann eine Woche, einen Monat, eine Hölle und ein Jahr frei haben, und die meisten Unternehmen werden sich selbst führen. Wenn sich die Entwickler frei nehmen, wird die Arbeit nicht erledigt. Es wird nicht langsamer oder schlimmer, es passiert einfach nicht * überhaupt *. Ohne Entwickler können Manager Kunden nicht sagen: “Entschuldigung, unser Entwickler ist abwesend, es wird etwas länger dauern.” Sie müssen sagen: “Unser Entwickler ist abwesend, das wird nicht passieren.” Je.’

Es ist wie die meisten Fähigkeiten / Berufe, es kann unterschätzt und auch überbewertet werden. Es ist in BS überflutet, aber zur gleichen Zeit, wenn Sie ein Problem lösen müssen, wird Sie keine Menge an BS retten, Sie müssen es nur lösen.

In einer Zeit des Friedens in einem Unternehmen wird BS Sie weit bringen, in einer Zeit der Krise hilft nur die Fähigkeit, ein Problem zu lösen.

Sie können diese Frage aufgrund der Arbeit von Software-Ingenieuren stellen.

Und Software-Ingenieure auf der ganzen Welt können Ihnen Antworten durch die Luft in eine magische Lichtplatte senden, die Sie in der Hand halten. Software-Ingenieure hatten einen großen Anteil daran, dass dies möglich wurde.

Prächtig? Vielleicht nicht?

Überbewertet? Nicht nach Bedarf.

Mobile Anwendungen sind auch nicht plattformübergreifend gleich. Wenn Sie wollen, dass sie richtig gemacht werden, brauchen Sie doppelt so viele Software-Ingenieure.

Ich stimme zu, dass das Software-Engineering nichts Großartiges ist, aber ich bin nicht sicher, ob jemand behauptet, dass es das gibt. Aus dieser Sicht werden Programmierer also nicht überbewertet. Gelegentlich stößt man auf jemanden, der von den (anscheinend) geheimen Kenntnissen der für den Job erforderlichen Computer und der semi-glamourösen Terminologie wie “Coding” und “UX” sowie “Künstliche Intelligenz” beeindruckt ist. Ich denke nicht, dass uns das überbewertet.

Die Personen, auf die Sie sich beziehen, werden als Code-Affen bezeichnet. Ich würde zustimmen, dass es nicht glamourös ist. Wen interessiert das schon? Die meisten Jobs sind nicht. Die Leute, die “x job” für die Besten halten, sind zum größten Teil die Leute, die in diesem Bereich arbeiten, und das Gleiche gilt für Software. Es gibt wirklich sehr wenige Leute, die Software-Engineering für einen großartigen Job halten.

Auf der anderen Seite gibt es im Baugewerbe noch echte Ingenieure – eine etwas glamourösere Aufgabe. Das Gleiche gilt für Software. Einige Leute machen echtes Engineering mit Software.

Ich stimme Ihrem Gefühl in vielerlei Hinsicht zu. Ich finde es sehr seltsam und bedrückend, dass so viele schlaue Leute an “heißen neuen Apps” arbeiten wollen. Aber jeder interessiert sich für verschiedene Dinge, für jeden für sich.

Dies ist auch kein guter Ort, um eine solche Frage zu stellen, oder eine gute Quelle für Meinungen über die Popularität von Software. Quora ist stark auf CS- und Software-Engineering ausgerichtet.

Wir sind sicher überbewertet. Es ist nur ein Handwerk, das etwas Training und Können erfordert. Ein guter Programmierer zu sein, braucht kein größeres Gehirn als ein guter Klempner oder Elektriker zu sein. Meistens erfordert es die Einstellung eines Handwerkers und ein wenig Liebe zum Detail (und Sie können sogar ein wenig an letzterem sparen, wenn Sie gute Prozesse, Tests usw. verwenden).

Je eher wir aufhören, uns selbst als geniale kleine Rockstar-Attentäter oder was auch immer zu betrachten, desto besser. Wir sind nur Arbeiter, wie alle anderen Arbeiter der Welt. Einige könnten sogar sagen, wir sollten uns vereinen.

Softwareingenieure können als Ganzes überbewertet werden oder auch nicht, da dies eine völlig subjektive Meinung ist.

Sicher ist, dass Softwareingenieure eine Dienstleistung mit einem enormen wirtschaftlichen Wert erbringen, daher die vergleichsweise hohe Bezahlung in Bezug auf andere Berufe. Darüber hinaus ist das Angebot an hochqualifizierten Software-Ingenieuren im Vergleich zu der enormen wirtschaftlichen Nachfrage nach ihren Talenten minimal.

Wenn Sie nicht einmal eine grobe Anwendung schreiben können, sollten Sie die Softwareentwickler nicht herabsetzen.

Ich bin damit einverstanden, dass es Softwareprodukte gibt, für die ich mich nur schwer begeistern kann, aber das wirklich Große treibt unser Leben an, und es würde Ihnen schwer fallen, eine moderne Gesellschaft am Laufen zu halten, ohne die harte Arbeit von Softwareentwicklern die Show auf der Straße.

Wie Bauarbeiter muss die Arbeit erledigt werden, und die Menschen, die dazu in der Lage sind, erhalten eine Menge Geld dafür. Es ist auch einfach, ein Feld als überbewertet zu bezeichnen, wenn Sie nicht über die Oberfläche schauen.