Die Problematik der Softwareentwicklung
Als ich zum ersten Mal mit der Softwareentwicklung begann, hörte ich am häufigsten den Satz „Bei der Softwareentwicklung geht es darum, Probleme zu lösen.“ Aber niemand hat behauptet, dass die Softwareentwicklung selbst problematischer Natur sei.
Wissenschaft und Technik sind ebenso wie die Softwareentwicklung ein Werkzeug zur Problemlösung. Und das Ziel ist die Problemlösung. Aber Softwareentwicklung ist ein problematisches Werkzeug, wie ein Fisch, der aus der Hand rutscht.
Und basierend auf diesem Gedanken; Bevor wir Probleme lösen, müssen wir meiner Meinung nach die kaputte Axt reparieren oder zumindest lernen, mit einer kaputten Axt Holz zu hacken.
Hier sind einige der Probleme, die ich in der Softwareentwicklung sehe:
- Es verändert sich so schnell und es gibt wenig, was ich als dauerhaftes Wissen bezeichnen kann.
- Die Lernmaterialien sind zu umfangreich, zu unübersichtlich und schlecht dokumentiert.
- Es ist nicht möglich, intuitiv vorzugehen, es ist notwendig, mit präzisem Wissen vorzugehen.
- Es geht nicht dezentral, unkontrolliert und standardisiert voran.
- Es gibt zu viele komplexe Lösungen für einfache Probleme.
- Es gibt so viele verschiedene Technologien, die die gleiche Aufgabe erfüllen, und genau wie verschiedene Religionen, die einem Gott dienen, hat jede ihre eigenen Regeln.
- Die Informationen sind so umfangreich und dynamisch, dass es unmöglich ist, sie im Gedächtnis zu behalten.
- Beim Lernen hört es nicht auf und man fühlt sich nie wie ein Experte.
- Das größte Problem besteht darin, dass dies alles nicht als Problem angesehen und als „so ist Softwareentwicklung eben“ ausgegeben wird.
- Hat eine veränderliche Natur
- Die Quellen sind verschwommen
- Nicht intuitiv
- Nicht standardisiert genug
- Unnötig kompliziert
- Zu viel Information
- Zu viele nutzlose Informationen.
Eine Person, die sich auf ein bestimmtes Gebiet und Thema in einem beliebigen Zweig der Wissenschaft spezialisieren möchte, kann sich ausreichende Fachkenntnisse aneignen, indem sie sich wissenschaftliche Artikel und Bücher zu diesem Thema besorgt, einige Monate zu Hause bleibt, sie untersucht und sich die notwendigen Notizen macht.
In der Softwareentwicklung läuft das nicht so. Offizielle Dokumentation reicht nie aus. Es ist notwendig, unvollständige oder falsche Informationen aus Leitfäden und Videos zu sammeln, die von Dritten verfasst wurden. Und dies führt zu einem qualitativ sehr schlechten und holprigen Lernprozess. Aus diesen Gründen ist es einem Softwareentwickler nicht möglich, sich so stark auf sein eigenes Fachgebiet zu spezialisieren wie jemand, der sich auf ein wissenschaftliches Fachgebiet spezialisiert hat.
Und selbst wenn er sich spezialisiert, ist das nicht von Dauer. Denn alle paar Monate kommt ein neuer Einstein heraus und schlägt eine neue Theorie vor. Aus irgendeinem Grund gibt es auf diesem Gebiet so viele Einsteins …
Ich weiß, es ist kindisch zu sagen, wie Softwareentwicklung sein sollte. So wie es die antiken Philosophen taten. Sie sprachen viel darüber, wie der Staat sein sollte.
- Lassen Sie Philosophen Staaten regieren.
- Lassen Sie Kinder das gemeinsame Eigentum der Gesellschaft sein.
- Kein Krieg.
- Pflücken Sie die Blumen nicht.
- Alle Programmiersprachen sollten in einer einzigen Syntax zusammengefasst werden, ohne dass ihre Eigenschaften verloren gehen.
- Äquivalente Bibliotheken und Frameworks werden zu einer einzigen Bibliothek und einem einzigen Framework zusammengeführt, ohne ihre Eigenschaften zu verlieren.
- Lassen Sie diese einzelnen Sprachen und Bibliotheken von einer offiziellen Institution verwalten und standardisieren.
- Lassen Sie Linguisten die Sprache so intuitiv wie möglich gestalten.
- Lassen Sie die Dokumente von echten Autoren schreiben.
- Alle Entwicklungen in der Softwarewelt werden aus einer Hand angekündigt.
Aber das ist eine Utopie und wird in der heutigen Welt nicht wahr sein. Was sollte der Programmierer also tun? Es sollte entweder sich selbst oder die Branche verändern. Wie Sie der von mir erwähnten Utopie entnehmen können, wird es lange dauern, bis sich die Branche verändert, vielleicht wird es nicht möglich sein. Da die Lebensdauer begrenzt ist, muss sich der Entwickler an diese Bedingungen anpassen.
Wie ich eingangs sagte, ist Softwareentwicklung ein schlüpfriger Fisch. Zunächst müssen Sie lernen, dieses Werkzeug zu halten. Und ob wir diese Arbeit in unserem begrenzten Leben leisten wollen oder müssen. Das erste, was Sie lernen müssen, besteht darin, über die erforderliche Philosophie, das System und die Methoden zu verfügen, um dieses Tool beizubehalten.
Der beste Rat, den ich geben kann, wäre, sich auf dauerhafte Behandlungen zu spezialisieren. Das sind diejenigen, die mir in den Sinn kommen;
- Englische Sprache
- Fähigkeit zu lernen
- Algorithmen und Problemlösungsfähigkeit

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































