5 Skills von professionellen Softwareentwicklern

Поділитися
Вставка
  • Опубліковано 19 лис 2024

КОМЕНТАРІ • 41

  • @DavidTielke
    @DavidTielke  3 роки тому +2

    Auch wenn ich es erst am Ende sage: mich würde wirklich sehr interessieren, wie Ihr das seht. Was sind Eure Top 5 Skills die so ein professioneller Softwareentwickler haben sollte?

    • @1kuch3n
      @1kuch3n Рік тому

      K.I.S.S. und Refaktorieren sind mMm zwei schnell erklärte aber schwer zu erlerenende wichtige Skills

  • @dripdrops3310
    @dripdrops3310 2 роки тому +2

    Der Dude macht nen kompetenten Eindruck. Abonniert.

  • @markh6919
    @markh6919 3 роки тому +7

    Für mich wären noch angelehnt an deine Punkte:
    Kommunikation: Sehr viele Probleme und Missverständnissen können durch richtige Kommunikation und vor allem gemeinsames Verständnis der Arbeit vermieden werden. Wie oft schon habe ich User-Stories gesehen, welche wiederholt werden mussten, da mehrere Parteien ein unterschiedliches Verständnis der Aufgabe hatten - einfach, weil aneinander vorbei geredet wurde… Richtiges Kommunizieren ist für mich immer noch eine Kunst.
    Verantwortung übernehmen: Besonders wenn man an Kundenprojekten arbeitet, finde ich es wichtig das man Verantwortung für deine Arbeit / Team übernimmt. Besonders in unserer digitalen Welt, kann unsere Arbeit nicht vorhersehbare Auswirkungen haben. Daher finde ich professionelles Arbeiten und ein gewisses Niveau an Qualität als absolut notwendig um diese zu begrenzen.
    Bestes Beispiel, was bestimmt jeder mal erlebt hat: Kurzfristigen Workaround einbauen und dann dort lassen (soll sich doch der Nächste darum kümmern). Sowas kann beim Kunden später enorme Kosten beim Refactoring oder Bugfixing verursachen.
    Bei deinen Punkten stimme ich dir aber auch vollkommen zu!

    • @DavidTielke
      @DavidTielke  3 роки тому

      Hallo Mark,
      danke für Deine - grandiosen - Ergänzungen!
      Kommunikation: bin komplett bei Dir, genau das meinte ich mit dem "Gesamtverständnis der Softwareentwicklung" weil genau die solche Kommunikationsprobleme minimiert, ABER du hast vollkommen recht, ich hätte noch ergänzen sollen das natürlich auch die Domäne verstanden werden sollte - Danke!
      Verantwortung: Ich habe lange überlegt was die Top 5 angeht und das hier habe ich gar nicht bedacht - weil ich es für selbstverständlich erachte, aber bei nochmaligem Überlegen ist es für viele vielleicht nicht. Du hast absolut recht, das hätte ich explizit erwähnen müssen! Irgendwann mach ich dazu mal ein separates Video.
      Gruß David

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Du glaubst gar nicht wie sehr ich mich gerade ärgere, das ich das nicht erwähnt habe... :D

    • @markh6919
      @markh6919 3 роки тому

      Hallo @@DavidTielke
      Es gibt viele (Soft/Social-) Skills, welche ich als absolut notwendig für einen professionellen Software-Entwickler betrachte. Dort ein Ranking zu bilden, finde ich sehr schwierig. Daher gerne nochmal ein separates Video dazu 👍
      Für mich wären das wahrscheinlich (von rein technischen Skills mal abgesehen):
      - Kommunikation
      - Teamfähigkeit
      - Kritikfähigkeit bzw. auch ein gewisses Maß an Selbstkritik
      - Prozesse verstehen - auch die Notwendigkeit dahinter sehen
      - Verantwortung übernehmen
      Könnte aber glaube ich noch 10 weitere nennen, welche ich als „förderlich“ betrachte. Ist für jeden natürlich ein wenig anders und sehr häufig auch Kontext/Umgebungsabhängig. Für mich als Consultant ist in meinem Umfeld z.B. auch Auftreten und Präsentieren sehr relevant.
      Da ich mit deinem Punkt Kritikfähigkeit absolut übereinstimme - ebenfalls auch die Gegenseite: „gute Kritik geben“
      Ich persönlich finde das gute konstruktive Kritik geben besonders am Anfang sehr schwer umzusetzen ist. Vor allem, wenn man sich mal ein wenig mit dem Thema Kritik im Allgemeinen und dessen verschiedenen Arten auseinandersetz. Ich sehe sowas besonders bei Code-Reviews von jüngeren Entwicklern häufig. Denn auch Kritisieren muss gelernt werden.
      Jetzt wollte ich gerade schon Fragen, ob du ein Video zum Thema Code-Reviews machen könntest. Aber wie sehe existiert das ja bereits. Dann habe ich für heute Abend etwas nachzuholen 😊
      Grüße
      Mark

  • @perschinski
    @perschinski 3 роки тому +3

    Punkt 6: Erkenne und vermeide Befindlichkeiten, Starrsinn und
    Dogmatismus; häufig anzufinden bei Diskussion um und über Agile, REST,
    DDD und Microservices :-)

    • @DavidTielke
      @DavidTielke  2 роки тому

      Hey Jörg,
      bin komplett bei Dir - das ist wichtig aber in meinen Augen noch wichtiger das der Softwarearchitekt diese Eigenschaft hat.
      Gruß David

  • @alexanderbehling4680
    @alexanderbehling4680 2 роки тому +3

    Framework sind alle schön und gut.
    Benutze diese auch selbst(z.B. Bootstrap, jQuery).
    Allerdings sehe ich da Parallelen zu den Design Patterns.
    Nur weil es soviele Frameworks gibt heißt das noch lange nicht, dass man diese bei jedem Projekt einsetzen muss.
    Dies ist m.E. nach ein weiterer wichtiger Skill eines Entwicklers, Frameworks nicht nur zu kennen sonder auch beurteilen zu können, wann diese mehr Vorteile als Nachteile für das Projekt haben. Denn eins ist nunmal Fakt. Mit jedem Framework das genutzt wird, bindet man auch eine Abhängigkeit in das Projekt ein, die gepflegt werden muss.
    Ich für meinen Teil programmiere schon über 20 Jahre in PHP, habe aber bisher noch kein PHP-Framework wie bspw. Zend, Symfony, Laravel und Co. genutzt, da es dafür keinen Grund gab. Ich sehe Frameworks auch ein stückweit als Gefahr, da es durchaus junge Kollegen gibt, die sich nur darauf verlassen und denen aber leider der Hintergrund für diese Frameworks fehlt und die somit kein Problem ohne Framework lösen können.

    • @DavidTielke
      @DavidTielke  2 роки тому

      Hallo Alexander,
      da hast Du recht, allerdings sollte man in Entwicklungsteams einige wenige Frameworks festlegen, welche verwendet werden sollten und die sollte ein Softwareentwickler dann sicher beherrschen.
      Gruß David

    • @alexanderbehling4680
      @alexanderbehling4680 2 роки тому

      @@DavidTielke Da kann ich leider nicht mitreden, da ich seit 2014 der einzige Entwickler in der Firma bin. .Zumal der Einsatz von Frameworks bei uns im Betrieb von Projekt zu Projekt entschieden wird (meistens von mir). Dabei habe ich mehr oder weniger freie Hand, solange dafür nichts zusätzlich auf den von genutzten Server installiert werden muss. D.h. bei Javascript bspw. könnte ich jedes x-beliebige Framework einsetzen, schaue aber ob es mir in konkreten Kontext mehr Vorteile als Nachteile bringt.

  • @abergy87
    @abergy87 2 роки тому

    Großartiges Video!

  • @marcusreinicke
    @marcusreinicke 3 роки тому +3

    Hallo David,
    leider konnte ich in letzter Zeit nicht so rege Deine Videos verfolgen.
    Ich dachte gerade, was kommt jetzt. Aber es war ja habe so wild.
    2 Punkte bin ich etwas Zwiegestalten, obwohl Du recht hast.
    Kritikfähig. Es kommt immer darauf an, wie es rübergebracht wird.
    Es kommt drauf an wie ehrlich und wie gerecht eine Kritik ist. Hat man sich jemanden ausgeguckt?
    Viel wichtiger ist es einen Ausweg zu suchen. Miteinander zu reden.
    Jedes Team besteht aus den unterschiedlichsten Persönlichkeiten und kann Zeit brauchen.
    Man sollte nicht alles immer hinnehmen und hinnehmen müssen.
    Teamfähig. Was genau ist Teamfähig? Was genau ist in Deinen Augen Teamfähig?
    Manchmal habe ich das Gefühl, dass ich nicht Teamfähig bin.
    Ich habe in den letzten Jahren einiges Erleben müssen, was mich manchmal echt glauben lies, das liegt alles nur an mir, ich bin dafür nicht gut genug.
    Vertrauen?
    Unterordnen? Duckmäusern?
    Immer nur Ja sagen, obwohl man anderer Meinung ist?
    Immer ja sagen, obwohl man weiß das, das Vorgehen gerade, absolut falsch ist?
    Einsatz zeigen?
    Kommunikativ?
    Verantwortungsvoll?
    Bereit Verantwortung zu übernehmen?
    Eigenständiges Arbeiten?
    Oh, da gibt es bestimmt noch viel mehr!
    LG
    Und schöne Weihnachtszeit

    • @DavidTielke
      @DavidTielke  3 роки тому +2

      Hallo Marcus,
      schön das Du wieder dabei bist :)
      MIt der Kritik hast Du natürlich recht, aber aus meiner Erfahrung heraus bringt bei der Art von Kritik eh keine Diskussion etwas. Ich habe mir angewöhnt nur dann über etwas zu diskutieren, wenn auch tatsächlich eine Verbesserung erwartet werden kann - das ist oft nicht so.
      Was das mit der Teamfähigkeit angeht, das steht schon als Video auf der Todo-Liste für das nächste Mal ;)
      Gruß David

  • @rmbl349
    @rmbl349 2 роки тому +2

    Top Fähigkeit für mich ist es auf den Hinterbeinen zu stehen und dem Kunden zu sagen "so geht das nicht". WIeviele Projekte ich schon fixen musste die durch "der Kunde wollte das so" verhunzt wurden kann ich gar nicht mehr zählen. Dazu muss man aber die Technik 100% beherrschen, eine große Klappe haben und vor allem ein harter Brocken sein. Der Kunde darf gerne blöde Ideen haben, aber bitte nicht alles umsetzen oder zumindest Gegenvorschläge bringen und durchsetzen.

    • @DavidTielke
      @DavidTielke  2 роки тому

      Bin vollkommen bei Dir, siehe das Update zu diesem Video: ua-cam.com/video/RKD_T26l224/v-deo.html
      Danke für die Anmerkung :)
      Gruß David

  • @taschfogster223
    @taschfogster223 3 роки тому +1

    Dann bin ich ja auf nen guten Weg... :D Wie ist deine Einschätzung zu Software Developer -> Software Craftsman? In dem Buch von Sandro Mancuso habe ich viel dazu gelesen, dass der Software Craftsman die Entwicklung auch wie ein Handwerk versteht (Stichpunkt Kreativität) und eine professionellere Haltung einnimmt in SW-Projekte...

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Hallo Tasch,
      genau dazu gibt es demnächst ein Video: ja, stimme mit vielen der dort getroffenen Aussagen überein und finde das sind sehr gute Ansätze die leider viel zu wenig verbreitet sind.
      Gruß David

  • @BinGanzLieb
    @BinGanzLieb 2 роки тому

    Hast du bereits über Continuous Integration ein Video gemacht oder kannst eine machen?

  • @peterzwegat2744
    @peterzwegat2744 3 роки тому +1

    Moin, kommt mal ein Tutorial von dir zu Java oder eine Roadmap was man lernen sollte? LG

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Hey,
      ich versuche die Videos hier immer weitestgehend neutral von tatsächlichen Sprachen und Technologien zu machen, weil es halt Zuschauer aus allen Bereichen hier gibt - aber das kann man auch auf einer abstrakten Ebene sehr gut machen, packe den Vorschlag mal auf die Liste - vielen Dank!
      Gruß David

    • @peterzwegat2744
      @peterzwegat2744 3 роки тому +1

      @@DavidTielke Hi, ja das verstehe ich. Die Roadmap wäre echt Klasse! - Ein Beispiel von mir: ich wollte mich mit Datenbanken beschäftigen und habe angefangen eine in HeidiSQL zu erstellen. Irgendwann bin ich auf den Trichter gekommen, dass man vorher Natürlich ein ERD erstellen muss 😅 dann natürlich alles von vorne und erstmal lernen was Primary Keys etc. sind. Schönes Wochenende

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Hey,
      ja können wir sehr gerne mal machen, könnte man auch gut mal wieder andere Experten dazuholen und eine Art Gesprächsrund emachen - super Idee, danke!
      Danke, Dir auch!
      Gruß David

    • @peterzwegat2744
      @peterzwegat2744 3 роки тому

      @@DavidTielke Da freue ich mich jetzt schon drauf! Bin in der Ausbildung zum Anwendungsentwickler aber lerne leider nichts im Betrieb, daher besorge ich mir meine Informationen von tollen Leuten wie dir.

  • @PeterEichhorn
    @PeterEichhorn 2 роки тому +1

    Hallo David, Was schlägst du vor, wenn man ein Scrum Team ist aber viele verschiedene Projekte im Team zu betreuen hat, die alle auch sehr komplex sind? Also nicht dieses wünschenswerte 1 Projekt 1 Team.

    • @DavidTielke
      @DavidTielke  2 роки тому

      Hallo Peter,
      kann man anhand von so einer groben Beschreibung nicht all zu viel zu sagen - oft ist in solchen Situationen Scrum nicht der beste Ansatz und Kanban ist geeigneter - habt ihr das schon mal probiert?
      Gruß David

    • @PeterEichhorn
      @PeterEichhorn 2 роки тому

      @@DavidTielke Ja wir machen da aktuell so eine Mischung aus Scrum und Kanban, auf die wir uns geeinigt haben. Ich frage nur weil du das so schön mit den Außenseitern und nicht Teamfähigen Leuten gesagt hast. Wir wollen alle an einem Strang ziehen, nur ist das sehr schwer, wenn keiner sich mit dem jeweils anderen Projekt auskennt. Die Einarbeitung ist auch nicht gerade einfach und mit manchen Dingen möchte man sich auch einfach nicht beschäftigen. Die macht dann jeder einzeln eher ala Kanban. Neuere Projekte entstehen dann aber eher im Pairprogramming, wo man dann viel besser als Team arbeiten kann.

  • @viktoryudin9114
    @viktoryudin9114 2 роки тому +1

    Kaum in der Lage, sowiel Zeichensätze binnen einer kurzesten Zeit auszuspucken.

    • @DavidTielke
      @DavidTielke  2 роки тому

      Hey Viktor,
      kann Deine Aussage nicht ganz zuordnen :)
      Gruß David

  • @ahr0cdovlzk3my1lahqtbmftdw7
    @ahr0cdovlzk3my1lahqtbmftdw7 3 роки тому +2

    Ich hab das Problem das ich immer versuche die effizientesten Lösungen zu finden die gleichzeitig einfach geil sind. Aber die Menschen mit denen ich zusammen arbeite oder generell interessiert das weniger und wollen einfach funktionellen Code und kein qualitativen Code. Bin ich jetzt derjenige der jetzt teamunfähig ist? Der Typ der wegen Idealen rumheult? Manchmal will ich einfach nur noch im Keller hocken und nur für mich selbst coden

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Moin,
      das Problem kenne ich selbst - ich bin oft der, der die Vorgesetzten davon überzeugen muss, dass genau das der richtige Weg ist. Am Ende bekommt dein Team ein Ziel durch den PO vorgegeben, bzw durch die Anforderungen selbst. Die Aufgabe Deines Teams ist es, dieses Ziel zu erreichen - wenn es nicht Aufgabe deines Teams ist, ein entsprechendes Qualitätsniveau zu liefern bist Du in meinen Augen erstmal nicht teamfähig. ABER wenn Eure Vorgaben keinerlei Qualität fordern macht Ihr natürlich grundlegend etwas falsch und Du solltest in die Richtung lieber eine Diskussion anstreben und Deinen Vorgesetzten erklären, warum der Weg den Ihr gerade geht so unfassbar gefährlich ist.
      Gruß David

    • @TheMannihilator
      @TheMannihilator 3 роки тому

      wenn du deine Frage und vor allem den letzten Satz nochmal liest dann ist die Antwort schon da

    • @MrML78
      @MrML78 3 роки тому +1

      Im Endeffekt muss das Endprodukt der jeweiligen Entscheiderseite gefallen (und diese hat i.d.R. andere Prioritäten als z.B. Qualitätsaspekte, Teamfähigkeit oder effizienteste Lösungen). Einfaches Beispiel: in breiter Masse werden UIs erwartet, die dem Benutzer Hilfestellungen geben, optisch zeitgemäss aussehen, sich dem Endgerät anpassen und einfach zu bedienen sind. Wer diesen (subjektiven) Bedarf nicht liefert, wird mit dem schlechteren (oder gar nicht-)Verkauf seines Produkts auf Dauer wohl eher finanzielle Verluste verzeichnen..

    • @DavidTielke
      @DavidTielke  3 роки тому

      Hey,
      das stimmt schon, der Punkt ist aber das ich als professioneller Softwareentwickler dieses Ziel kenne und dann mit meinem Team genau darauf hin entwickle. Selbstständlich sind dem Endkunden die hier angesprochenen Eigenschaften total egal, der kennt sie Softwareentwickler ja meist gar nicht, aber das Endergebnis ist das was für ihn zählt. Der Endkunde will ein funktional einwandfreies Produkt (funktionale ANforderungen) und das entwickelnde Unternehmen will langfristig mit dem Produkt Geld verdienen (nichtfunktionale Anforderungen) - beide muss ein professioneller Softwareentwickler kennen und mit seinem Team auf diese Ziele hinarbeiten.
      Gruß David

    • @larshandrick1383
      @larshandrick1383 2 роки тому

      So pauschal würde ich das gar nicht sagen. Nicht jeder passt in jedes Team. Ich habe das Glück, dass wir in meinem Team sehr gut miteinander reden können. Klar gibts Unstimmigkeiten, aber wir respektieren unsere Meinung und wenn wir einen Konsens getroffen haben, dann halten sich eigentlich alle daran. Bei anderen Teams auf Arbeit ist das nicht unbedingt so. Da kann man fragen: ist da wer ,der nicht Team-fähig ist? Oder passt der einfach nicht in das Team, wo er ist und würde in einem anderen Team vielleicht besser aufgehoben sein? Es gibt halt Charaktere, die passen zusammen und andere nicht. Deshalb gibt es in meinen Augen selten ein "ja" oder "nein" auf diese Antwort, eher ein "richtiges" und "falsches" Team in Bezug auf die eigene Persönlichkeit. Ist wie in einer Beziehung, entweder man passt zusammen oder halt nicht. ;-)

  •  3 роки тому +3

    Autsch ... Teamfähig und dann die Story wo Leute entlassen werden ... na hoffentlich wird da dann teamfähig nicht mit beliebt (bzw. unbeliebt) verwechselt...

    • @DavidTielke
      @DavidTielke  3 роки тому

      Hey Carsten,
      ja ich hatte solche KOmmentare schon vermutet, aber wenn man im Team entwickeln will und immerwieder feststellt das einzelne Personen nicht teamfähig sind und sich auch nicht ändern wollen, ist das oftmals die einzige Möglichkeit wenn deshalb das Gesamtergebnis gefährdet ist. Finde den Fussballvergleich da immer recht gut, wenn Du da einen Spieler dabei hast, der nur sein Ding macht, kannst Du auch nicht erfolgreich sein, genau so ist es hier.
      Gruß David

    •  3 роки тому +1

      @@DavidTielke Wenn da ein Teammitglied absolut nicht mitarbeiten will klar kein Thema - nur wie genau misst Du das "objektiv"/"fair"? Oder anders: Wie beugst Du vor, dass hier unbeliebte Leute einfach rausgemobbt werden? Ich denke es gibt da durchaus Dynamiken für die der/die Einzelne vielleicht gar nichts können.
      Vielleicht erinnert mich das auch nur zu sehr an meine Schulzeit ;)

    • @DavidTielke
      @DavidTielke  3 роки тому +1

      Moin Carsten,
      soetwas ist - vollkommen richtig - ein großes Problem, aber nicht nur der Softwareentwicklung. Wenn es in Teams solche Probleme gibt, läuft grundlegend etwas falsch, das hast du aber immer wenn mehrere Menschen in Teams arbeiten. Ich denke das mit agilen Prozessen wie Scrum da durchaus viel Transparenz geschaffen wird, weil man meistens sehr genau zeigen kann, warum einzelne Sprintziele nicht erfüllt wurden und auch die Gründe kann man oft recht einfach finden. Wenn diese Person schuld ist, muss man immer erst versuchen diese irgendwie teamfähig zu machen, oftmals sind das aber Charakterzüge die nicht so einfach korrigiert werden können. Erst wenn das wirklich nicht geht, dann würde ich die entsprechende Person entlassen. Wenn ich merken würde das da gemobbt wird, würden DEFINITIV andere Personen entlassen weil wenn ich eins hasse wie die Pest, dann ist es so etwas! Aber trotzdem super anmerkung zu dir, das ist eine super Idee weil ich ein Video zu Entwicklungsteams machen wollte - Danke!
      Gruß David

  • @ytano5782
    @ytano5782 2 місяці тому

    #6 Vermarkte dich selbst als Produkt. Man hat nicht viel davon ein guter Entwickler zu sein, wenn keiner davon erfährt. Oft entscheiden Leute über deine Karriere (ob Angestellt oder Freiberuflich) die keine Ahnung von Software haben.