Esi UCLM
StartseiteAnsichtLebenslange Kompetenzen in der Softwareentwicklung

Lebenslange Kompetenzen in der Softwareentwicklung

David Vallejo, Professor am ESI, UCLM

Lebenslange Kompetenzen in der Softwareentwicklung

von David Vallejo, Universitätsprofessor am ESI-UCLM.

„Lesen Sie, was Sie lieben, bis Sie es lieben zu lesen.“ Der Vorschlag, der dieses berühmte Zitat von Naval Ravikant aufgreift, führte mich vor einigen Jahren dazu, Morgan Housel zu finden. Er ist mittlerweile einer meiner Lieblingsautoren. Morgan hat die erstaunliche Fähigkeit, Sie durch Ideen und Argumente, die er mit kleinen Geschichten verknüpft, zum Nachdenken über viele Themen im Zusammenhang mit dem Leben und Verhalten von Menschen anzuregen.

Sein neuestes Buch mit dem Titel Das Gleiche wie immer, konzentriert sich auf das Wissen über Dinge, die sich nie ändern, während die allgemeine Tendenz der meisten von uns darin besteht, unsichere Vorhersagen über eine zunehmend unbekannte Zukunft zu machen.

In einer der ebenfalls sehr empfehlenswerten Folgen seines Podcasts reflektiert Morgan über Fähigkeiten, die ablaufen oder ablaufen, und über Fähigkeiten, die dauerhaft sind.

Die auslaufende Fähigkeiten Sie neigen dazu, viel Aufmerksamkeit zu erregen. Zumindest vorübergehend. Das sind sie in der Regel heiße Themen von der Industrie gefordert, um die kurzfristige Leistung zu verbessern. Sie neigen auch dazu, den FOMO-Effekt zu erzeugen (Fomo).

Dagegen dauerhafte Fähigkeiten Sie sind anders. Sie waren schon immer da und werden immer da sein. Sie sind einfach. Sie sind einfach. Sie schweigen sogar. Aber sie machen langfristig einen Unterschied. Zinseszins in seiner reinsten Form.

All dies brachte mich dazu, über lebenslange Kompetenzen aus der Sicht der Softwareentwicklung nachzudenken. Und in diesem Artikel werde ich sieben auflisten, die ich für besonders relevant halte.

  • Fähigkeit Nummer 1. Erkenne, dass du welche hast Solide Programmiergrundlagen stellt den Grundstein dar. Dies ist genauso wichtig wie ein gutes Fundament für den Bau eines Hauses. Technische Schulden sind in vielen Programmierprojekten ein wiederkehrendes Problem. Um dies abzumildern, müssen Sie ein gutes Softwaredesign vorschlagen. Und um ein gutes Design vorschlagen zu können, müssen Sie über solide Programmiergrundlagen verfügen. Es tut mir leid, aber man kann das Programmieren nicht in 21 Tagen lernen.
  • Fähigkeit Nummer 2. Die Fähigkeit haben Umgang mit Abstraktionen, Anwendung bestehender Lösungen auf wiederkehrende Probleme. Genau; Sie denken wahrscheinlich darüber nach: Designmuster. Das Rad existiert bereits, erfinden Sie es nicht ständig neu. Die Verwendung gut getesteter und funktionierender Lösungen spart Zeit und bekämpft technische Schulden.
  • Fähigkeit Nummer 3. Komplexität erkennen der Dinge und nimm sie mit Demut an, wenn sie nicht vermieden werden können. Das KISS-Prinzip (Halten Sie es einfach blöd) ist Ihr zeitloser Verbündeter, aber es gibt Projekte, die von Natur aus komplex sind. Manchmal gibt es keine andere Wahl, als mit der Komplexität umzugehen, und eine Vereinfachung ist nicht realistisch.
  • Fähigkeit Nummer 4. In der Lage sein Erstellen Sie Prototypen auf agile Weise, so dass das Entwicklungsparadigma oder die eingesetzte Technologie kein wesentliches Hindernis darstellen. Ich rufe Liquiditätssoftware. Werkzeuge, Technologien, Sprachen und sogar Paradigmen ändern sich ständig. Der Schlüssel besteht darin, in kurzer Zeit zu verstehen, wie sie funktionieren, und sie auf praktische und agile Weise anzuwenden. Meistere Fertigkeit Nummer 1, bevor du Fertigkeit Nummer 4 anwendest.
  • Fähigkeit Nummer 5. Verstehe das Problem die Ihr Kunde lösen muss. Dieser Schritt vor dem Softwaredesign und der Softwareentwicklung ist für einen erfolgreichen Abschluss unerlässlich. Die Fähigkeit, mit Ihrem Kunden zu interagieren und ihn zu verstehen, ist unersetzlich. Fast genauso viel wie die Fähigkeit, Nein zu sagen, wenn Ihre Erwartungen (angegebene Anforderungen) die Realität (verfügbare Ressourcen) übertreffen.
  • Fähigkeit Nummer 6. Überoptimieren Sie nicht. Ökonomie kann als Definition von Allokationsrichtlinien für knappe Ressourcen verstanden werden. Dies gilt auch für die Softwareentwicklung. Denken Sie daran: „Zeit ist Ihr wertvollstes Gut.“ Konzept der negativen Route. Warnung, die jedes Mal aktiviert wird, wenn ein Kollege den Ausdruck „Nun, hier sind wir“ verwendet.
  • Fähigkeit Nummer 7. Sei großzügig. Dies ist eine dauerhafte Fähigkeit, die auf jeden menschlichen oder beruflichen Bereich angewendet werden kann. Softwareentwicklung ist eine gemeinschaftliche Arbeit. Der Code, den ein Entwickler schreibt, muss von anderen Kollegen verstanden und genutzt werden. Gegenwart und Zukunft. Das Gleiche passiert auch bei der Code-Dokumentation, selbst in Ein-Personen-Projekten: „Dokumentation ist ein Liebesbrief, den man an sein zukünftiges Ich schreibt.“ Wenn Sie denken, dass ChatGPT das für Sie erledigen kann, fragen Sie sich, ob Sie es wirklich damit beauftragen würden, einen Liebesbrief für Sie zu schreiben.
Druck, aufgehende Sonne. Claude Monet, 1872.

Referenzen

  • Der Almanach von Marine Ravikant.
  • Das Gleiche wie immer. Morgan Housel.
  • Der Morgan Housel Podcast.
  • Der schwarze Schwan. Nassim N. Taleb.
  • Aufhören: Die Macht zu wissen, wann man aufhören sollte. Annie Duke.
Teilen mit:
Bewerten Sie diesen Artikel