17. Mai 20205 j Hallo, ich möchte gerne mal hören wie andere dieses Thema sehen. Ich weiĂ selber nicht was da richtig oder falsch ist daher bin ich offen fĂŒr jede Meinung. Ich arbeite als Softwareentwickler und habe eine FIAE Ausbildung. In der Firma, in welcher ich beschĂ€ftigt bin, komme ich mit sehr vielen Technologien in Kontakt: C# (WinForms, ASP.Net, weitere Teile des .Net Frameworks), Xamarin, Azure, SQL, Angular / Typescript / Bootstrap, zudem bin ich Ausbilder fĂŒr FIAE (mit IHK - Schein) Zudem studiere ich noch nebenbei Wirtschaftsinformatik und programmiere zuhause mit Java fĂŒr Android. Das Problem, bzw. da wo ich immer etwas Bauchschmerzen habe, ist das ich mich in keiner der Technologien (auĂer C# die Sprache an sich) als Experten bezeichnen wĂŒrde. Teilweise komme ich mit einer Technologie auch nur fĂŒr ein Projekt in Kontakt. So geschehen bei Angular. 3 Wochen Angular / Typescript gelernt, 4 Monate ein Projekt umgesetzt und dann jetzt schon wieder 1 Jahr nichts darin gemacht. Somit auch wieder alles vergessen und ich kann AdHoc keine Zeile mehr in Angular schreiben. Manchmal schaue ich mir Stellenausschreibungen an aber traue mich gar nicht mich zu bewerben, weil HĂ€ufig ein Programmierer in einer bestimmten Technologie / Framework gesucht wird und da auch schon mehrere Jahre Erfahrung drin hat. Sprich auch mal 2 Jahre am StĂŒck drin entwickelt hat. Was erwartet der Arbeitsmarkt? Stelle ich mich als Allrounder selber aufs Abstellgleis? Teilweise sehe ich meinen Werdegang auch als Vorteil. Ich hatte auch schon mit Entwicklern Kontakt die 10 Jahre nur Javascript gemacht haben oder 20 Jahre nur PHP mit einem bestimmten Framework. Die Fallen dann erstmal auf die Nase (meine Erfahrung, gilt natĂŒrlich nicht fĂŒr alle!) wenn sie mit anderen Programmier / Framework - Konzepten konfrontiert werden. Ich bin es glaube ich gewohnt mich stĂ€ndig in was neues einzuarbeiten. Allerdings schrecke ich dann vor Stellenanzeigen zurĂŒck wo ein "Senior Angular Entwickler" gesucht wird, weil meiner Meinung nach so jemand auch ein paar Jahre Erfahrung in der Technologie haben sollte. In heutigen Softwareprodukten rĂŒckt die eigentliche Programmiersprache auch immer mehr in den Hintergrund. Was ist es schon Wert wenn jemand reines C# kann? Ohne WinForms, WPF, ASP.Net, Xamarin etc. kommt man nicht weit, alles baut auf speziellen Frameworks auf. Gleichzeitig tue ich mich aber auch schwer mich auf was zu spezialisieren. Zum einen aus eigenem Interesse weil ich alle Technologien Interessant finde, anderseits aber auch weil man dann wieder seinen Kreis fĂŒr Stellenangebote einschrĂ€nkt. Wenn ich mich jetzt auf Angular / Typescript spezialisiere schlieĂe ich wieder 95% der Stellenangebote aus und bin dazu noch gefĂ€hrdet falls Angular mal nicht mehr so populĂ€r ist. Gerade im Web ist es ja ein kommen und gehen mit den Frameworks. Ich danke euch fĂŒr eure Meinung Bearbeitet 17. Mai 20205 j von DerEntwickler
17. Mai 20205 j Nun was der Arbeitsmarkt möchte kann ich dir nicht sagen. Ich denke aber das ein guter Allrounder eben auch einen Vorteil hat, er kann sich meist schneller in Sachen einarbeiten. Er hat quasi gelernt zu lernen. Und viel ist dann auch Intuitiv und lĂ€sst sich ĂŒbertragen. Es wird immer so getan, als wenn sich die IT so rasant entwickelt aber letztlich werden doch immer wieder Konzepte aus den 70ern und frĂŒher in einer anderen Kombination zusammengewĂŒrfelt. Das heiĂt nicht, dass es nicht viel zu lernen gibt. Der GroĂteil sind heute aber Entwicklungsumgebungen, Schnittstellen, Build Tools und Frameworks. Nicht Sprachen oder generelle Konzepte. Mir geht es per se Ă€hnlich. Kleine Firma und je nachdem wer Zeit hat, darf etwas umsetzen. Wenn er damit noch nix gemacht hat, dann arbeitet er sich da eben ein. Was die Stellenausschreibungen angeht, da wird auch nur mit heiĂen Wasser gekocht. Glaube das ist meist kein K.O. Kriterium. Oft hat das mit der eigentlichen Arbeit wenig zutun. Da werden mehrere Stellen und Rollen in einen Text zusammengemischt oder man fordert lieber etwas mehr etc. pp. Die IT ist in Summe mit ihren Technologien auch zu groĂ. Oft sind die Stellenbeschreibungen so spezifisch auf den Tech Stack der jeweiligen Firma, dass es quasi keine fĂŒnf Leute in Deutschland geben wĂŒrde, die genau das die geforderten X Jahre gemacht haben. Ansonsten ist natĂŒrlich auch die Frage, was einen SpaĂ macht. Ich schaue da gerne ĂŒber den Tellerrand, sehe verschiedenste Technologien und begleite auch innerhalb eines Projektes alles, als eine kleine Nische zu erfĂŒllen und abgesehen von den Schnittstellen dazwischen nix zu kennen. Klar finanziell ist "ich kann mich in alles schnell einarbeiten und habe schon etliche Sachen gesehen" meist nicht so lukrativ wie Spezialist in Xy zu sein mit 10 Jahren Erfahrung. Schon einfach weil es nicht wirklich bemessen werden kann. Bearbeitet 17. Mai 20205 j von Velicity
17. Mai 20205 j Es gibt Stellen fĂŒr Spezialisten und fĂŒr Generalisten. Diese sollte man auseinanderhalten. Spezialisten kennen sich super in haargenau einer Technologie aus, verstehen aber oft nicht das groĂe Ganze hinter einem Projekt. Der Generalist ist - wie Du - eher ein Allrounder. Er versteht, was hinter den unterschiedlichen Technologien dahinter steckt und verwendet alles, je nachdem was gebraucht wird. Unternehmen können weder ohne den Spezialisten noch ohne den Generalisten ĂŒberleben. Willst Du Spezialist fĂŒr eine Technologie werden? Dann such Dir etwas aus, was Dir in den letzten Jahren sehr viel SpaĂ gemacht hat und vertiefe diese Kenntnisse. Kein Unternehmen wird Dir böse sein, wenn Du schreibst, dass Du vom Generalisten zum Spezialisten wechseln willst. Willst Du weiterhin immer wieder mit neuen Technologien in Kontakt kommen und mit allem ein bisschen konfrontiert werden? Das ist nicht schlimm! Besonders in der Ausbildung oder als zukĂŒnftiger Teamleiter werden gerne Allrounder eingesetzt. Ich selbst finde es auch schwer mich zwischen unterschiedlichen Spezialisierungen zu entscheiden und bin lieber ein Generalist. So verkaufe ich mich auch. Ich kann mich schnell in neue Technologien einarbeiten, weiĂ was wofĂŒr gut ist und kann somit RatschlĂ€ge geben. FĂŒr die "richtige Tiefe" braucht man dann zusĂ€tzliche Spezialisten. Es gibt einfach zu viele schöne Richtungen, so dass ich mich nicht entscheiden will und somit "möglichst viel" genieĂen will. Viele Personalverantwortliche haben bei dieser Ausdrucksweise in den letzten Jahren gelacht, aber verstĂ€ndnisvoll genickt.
18. Mai 20205 j @SaJu hat Recht. Genau das ist die Frage, um welche es sich bei Dir vorrangig drehen sollte. Generalist oder Spezialist? đ Ich möchte zwei Dinge ergĂ€nzen.  Zum einen, dass es auf Dein Alter und Deine Berufserfahrung ankommt. Wenn Du noch unter 30 bist und nur wenige Jahre im Beruf bist, ist es ggf. sinnvoll, wenn Du zuerst in die Breite gehst. Von einem Junior Developer wird selten erwartet, dass er alle Details von Programmiersprache X kennt. Da Du somit unterschiedliche Techniken siehst, kannst Du Dir einen guten Ăberblick verschaffen und besser einschĂ€tzen, wohin Du möchtest. Wenn Du dann nach 5+ Jahren in Richtung Senior Developer oder Software Architekt bei einem DAX-Konzern zielst, solltest Du Dich auf ein Ziel fokussieren und dies bedeutet im Regelfall Spezialisierung.  Zum anderen hĂ€ngt es vom Unternehmensumfeld ab. In kleinen Betrieben und im Mittelstand werden klassischerweise bevorzugt Generalisten gesucht. Die Personaldecke ist dort selten groĂ genug, um fĂŒr jedes Thema einen Spezialisten zu beschĂ€ftigen. Je gröĂer ein Betrieb wird, umso spezieller im Schnitt die TĂ€tigkeitsfelder.
18. Mai 20205 j ZĂ€hlt es schon als Allrounder, ein paar Programmiersprachen zu beherrschen und im Front- und Backend bzw. als Fullstack unterwegs zu sein? Ein Allrounder wĂ€re fĂŒr mich jemand, der programmiert, Softwarearchitekturen, Datenbankarchitekturen erstell, Infrastrukturen OnPrem und in der Cloud aufbaut, nebenher noch die CI/CD Pipeline einrichtet und pflegt, Prozesse in der Softwareentwicklung definiert, Requirements Engineering betreibt und Projekte und Mitarbeiter leitet und ganz nebenher noch eine Rolle im Post- und Presales spielt.
18. Mai 20205 j Autor vor 4 Stunden schrieb Ulfhednar: ZĂ€hlt es schon als Allrounder, ein paar Programmiersprachen zu beherrschen und im Front- und Backend bzw. als Fullstack unterwegs zu sein? Ein Allrounder wĂ€re fĂŒr mich jemand, der programmiert, Softwarearchitekturen, Datenbankarchitekturen erstell, Infrastrukturen OnPrem und in der Cloud aufbaut, nebenher noch die CI/CD Pipeline einrichtet und pflegt, Prozesse in der Softwareentwicklung definiert, Requirements Engineering betreibt und Projekte und Mitarbeiter leitet und ganz nebenher noch eine Rolle im Post- und Presales spielt. Aus meiner persönlichen Sicht wĂŒrde ich nicht sagen FullStack - Entwickler = Allrounder. Aber es gibt doch erhebliche unterscheide zwischen reinen Frontend / Backend Entwicklern und eben FullStacks. Ein Fullstack ist ja an sich schon umfangreicher und kann sich daher auch weniger in die einzelnen Technologien vertiefen. Zumindest nicht im Berufsalltag, da muss man dann auch extrem privat hinterher sein. Alleine wenn ich mir nur Xamarin anschaue, da hat sich soviel in den letzten 2 Jahren getan aber ich komme da einfach nicht mehr hinterher weil mir die Zeit fehlt und ich eben auch noch mit anderen Technologien arbeiten muss. Klar könnte ich eine komplette App FullStack mit Xamarin samt Backend (z.b ASP.Net Core WebAPI) und Datenbank entwickeln. Ich habe aber auch schon mit einem Xamarin - Entwickler zu tun gehabt der damit FullTime arbeitet seitdem es das Framework gibt. Der kennt da Tricks und Kniffe in den tiefen des Frameworks, da fehlt mir als FullStack Entwickler einfach die Zeit. Ich muss dann immer Workarounds schreiben mit mehr Code weil ich nicht weiĂ das es auch anders geht. Das ist halt der Punkt, hat ein FullStack Entwickler eine Chance sich auf eine "Senior Xamarin Entwickler" - Stelle bewerben wenn seine reinen Xamarin Kenntnisse eher nur so MittelmaĂ sind und vielleicht auch auf einem Framework - Stand von vor einem Jahr basieren? Angular ja das selbe Spiel, die Release ZeitrĂ€ume des Frameworks sind so kurz so schnell können wir in der Firma gar nicht upgraden und mit neuen Features kommt man dann meistens erst 1 Jahr spĂ€ter in Kontakt wenn man sie mal braucht. Allrounder geht natĂŒrlich nochmal einen Schritt weiter, da gebe ich dir recht. Da kommt dann noch Projektmanagement, Requierments Engineering dazu etc. Gerade daher wĂŒrde ich mich auch als Allrounder sehen in meinem aktuellen Job. Ich begleite Projekte von Anfang bin Ende und programmiere nicht nur. Wir sind eine kleine Firma da haben wir nicht extra einen der Projektmanagement, RE, Spezifikation etc. macht. Datenbankserver installieren, Hosting etc ist auch alles Teil meiner Aufgaben. Glaube ganz wichtig ist auch folgendes: Arbeitet man als FullStack - Entwickler auf einem TechStack oder mehreren? Es gibt ja Technologien die sehr gut zusammenpassen und oft zusammen eingesetzt werden: MEAN - Stack (NodeJs, Angular, Mongo) oder Angular/Bootstrap/ASP WebAPI...oder wechselt man zwischen völlig verschieden Stacks stĂ€ndig hin und her bzw. wie kontinuierlich ist das ganze. Wenn ich ein halbes Jahr Angular machen darf aber dann 1 Jahr nicht mehr ist das auch nicht gerade hilfreich. Bleibt man bei einem TechStack kann man sich einfacher aktuell halten. Am 17.5.2020 um 08:33 schrieb Velicity: Mir geht es per se Ă€hnlich. Kleine Firma und je nachdem wer Zeit hat, darf etwas umsetzen. Wenn er damit noch nix gemacht hat, dann arbeitet er sich da eben ein. Das spricht mir aus der Seele. Deswegen sage ich mir eigentlich auch immer das mein Jobprofil eigentlich auch nicht so auĂergewöhnlich sein kann. Wir sind auch eine kleine Firma. Wir können keinen extra Datenbankentwickler, Webentwickler, Azure Entwickler etc. anstellen. DafĂŒr sind die Projekte zu breit gefĂ€chert. Gerade in kleinen Firma mĂŒssen solche Allrounder eigentlich die Regel sein statt die Ausnahme. Ich danke euch fĂŒr eure ganzen Kommentare, das hat mir sehr geholfen. Es gibt natĂŒrlich viele Faktoren zu berĂŒcksichtigen (persönliche Ziele, Alter, Berufserfahrung) und wo man finanziell hin möchte. NatĂŒrlich ich mir klar das man als Allrounder nicht an der Gehaltsspitze steht wie ein KI - Spezialist oder  jemand der noch die letzte Millisekunde Performance aus einem SQL - Server herausholen kann. Aber das ist auch okay fĂŒr mich, solange ich allgemein attraktiv bin fĂŒr den Arbeitsmarkt. Bei der Aussage "Es gibt viele offene Entwickler - Stellen" kam ich eben nur manchmal ins grĂŒbeln. NatĂŒrlich stehen wir mit unserem Beruf auf dem Arbeitsmarkt gut da, die Welt wird immer digitaler und Entwickler werden benötigt, auch jetzt in einer Wirtschaftskrise. Gleichzeit gibt es aber auch nicht den "Entwickler", der Beruf ist eben hochspezialisiert in unterschiedliche Themenbereiche. Was bringen mir 10 offene Java Stellen als PHP Entwickler? Die Firma muss ja bereit sein mir Zeit zu geben das ich die neue Programmiersprache lerne. Bearbeitet 18. Mai 20205 j von DerEntwickler
28. Mai 20205 j Ich hab selbst ja nun noch keine Erfahrung damit, aber sowohl mein Abteilungsleiter, als auch Freunde von mir die schon ein paar Jahre die Ausbildung fertig haben reden eher "schlecht" ĂŒber Generalisten. Wenn ich auf Stackoverflow unterwegs bin im Bereich Karriere und IT wollen auch viele keine Generalisten mehr sein und alle Parteien sagen folgendes: Die einzelnen Teilgebiete der IT sind heute einfach schon so speziell geworden in den vergangenen 6+ Jahren, dass du einfach viel mehr Aufwand betreiben musst dich einzuarbeiten und vor allen Dingen auch am Ball zu bleiben. Klar werden viele Hochsprachen durch syntaktischen Zucker und gröĂere Standardbibliotheken immer bedienungsfreundlicher, aber in Summe trotzdem umfangreicher und komplexer. Das gleiche gilt fĂŒr Frameworks, in jedem Bereich sind immer mehr Frameworks relevant, die gleichzeitig immer umfangreicher werden und an denen sich immer schneller was Ă€ndert. Dadurch kann man heute einfach nicht mehr in mehreren Bereichen am Ball bleiben, weil heute ein Teilbereich schon fast so komplex ist wie vor 10, 15 Jahren das gesamte Thema. Und heute Generalist zu werden ist darum wohl schwer, auĂer du arbeitest wirklich in einem kleinen Unternehmen. In einem Systemhaus oder einer Softwarefirma kommst du um schlecht drum herum dich auf irgendwas zu spezialisieren weil die Codebasis im Zweifelsfall eben von Spezialisten entwickelt wurde und von dir erwartet wird dass du sie verstehst und auch irgendwann Code in der QualitĂ€t ablieferst. Ich hab aber auch schon öfter von Firmen gehört, wo doch viele Mitarbeiter sind, die das dann nicht machen und wo dann schon viele Generalisten (meistens schon etwas Ă€lter) arbeiten. Und ja die haben ein enormes IT Rundumwissen. Allerdings haben solche Firmen in Projekten wohl oft einen ziemlich hohen Technical Depth, weil die Umsetzung einfach auch gemacht wird wie vor 5 Jahren und immernoch PHP 5.2x verwendet wird. Grundlegend mag nichts Falsches an der Umsetzung sein, aber wenn bei der Umsetzung dann einfach keiner wirklich tief in den einzelnen Teilgebieten drin und auf dem Laufenden ist, dann erreicht das Ergebnis einfach nicht die Standards, die heute erwartet werden. Sprich wenn es dann an die Umsetzung geht, benötigst du heute ohnehin wieder einen Spezialisten. Bearbeitet 28. Mai 20205 j von Chris-Info
29. Mai 20205 j vor 6 Stunden schrieb Chris-Info: Und ja die haben ein enormes IT Rundumwissen [...] immernoch PHP 5.2x verwendet wird Den Widerspruch merkst du selbst?  Was ist ein Generalist? Jemand, der sowohl Frontend als auch Backend in einer Sprache kann? Dazu noch Datenhaltung/-modellierung in einem DBMS? Jemand, der mehrere Programmier- & Skriptsprachen kann? Sich in mehreren DBMS auskennt? Jemand, der dir eine fachliche Vorgabe sowohl Hard- als auch Softwareseitig komplett eigenstĂ€ndig implementieren kann? In einem architekturellen Umfeld? In mehreren?  Am 18.5.2020 um 12:32 schrieb DerEntwickler: NatĂŒrlich ich mir klar das man als Allrounder nicht an der Gehaltsspitze steht wie ein KI - Spezialist oder  jemand der noch die letzte Millisekunde Performance aus einem SQL - Server herausholen kann. Wenn man sich einen Namen gemacht hat als Feuerwehr/Krisenreaktionskraft mit entsprechender Reisebereitschaft verdient man bestimmt sehr gut. Jemandem, der 0,1 Promille mehr Performance aus einem Server raus kitzelt, sodass man 5⏠im Jahr spart, zahlt man kaum mehrere Tausende Euro...
29. Mai 20205 j Viele Start-ups, kleinere Unternehmen und KMU schreiben oft gezielt Stellenausschreibungen die auf Allrounder ausgelegt sind, in der Hoffnung irgendeinen an Land zu ziehen. Der Grund ist ziemlich einfach: "Chef der kann viel, dadurch sparen wir uns eine weitere Stelle, wenn nicht mehr". Am Ende muss der AN also evtl. fĂŒr 2 Stellen arbeiten bei oft schlechtem Gehalt. Persönlich ... ja ich arbeite auch an ganz verschiedenem Zeug. Immer öfters höre ich von unseren Kunden Cloud, aber das konnten wir, Gott sei Dank, bisher ausreden (und jeder zweite fragt als erstes, ob die Software auch auf seinem Mac funktioniert....). Ich mach sehr gerne ganz unterschiedliche Sachen, da ich mich in allen Richtungen weiterbilde (kann mir gut vorstellen wieder was mit Web zu machen, falls ich hier aufhöre). Viele Allrounder reden sich ein, dass sie tiefes Wissen und einen Ăberblick ĂŒber ein Projekt hĂ€tten. Das ist aber meist kompletter Unsinn, da Projekte an so vielen Stellen von so vielen Leuten bearbeitet werden, dass ein Einzelner eher Basiswissen ĂŒber die einzelnen Komponenten hat. Bei einer PrĂ€sentation hĂ€ttest du auch lieber 5 Experten, die jeweils an ihrem Projekt gearbeitet haben, als einen Allrounder der ĂŒberall etwas mitgewirkt hat.  Tl;Dr: In allen Bereichen etwas zu können ist nicht per se schlecht. Auch nicht verschiedene Sachen zu machen. Du musst nur am Arbeitsmarkt viel mehr aufpassen, da schlechte Unternehmen oft solche Leute einstellen wollen, um an anderer Stelle zu sparen (wĂ€hrend gute Unternehmen oft etwas mehr zahlen, um einen Experten auf Gebiet XY einzustellen).  Â
29. Mai 20205 j Autor vor 7 Stunden schrieb Chris-Info: Ich hab selbst ja nun noch keine Erfahrung damit, aber sowohl mein Abteilungsleiter, als auch Freunde von mir die schon ein paar Jahre die Ausbildung fertig haben reden eher "schlecht" ĂŒber Generalisten. Das wĂŒrde mich mal nĂ€her interessieren. Die Begriffe "Allrounder", "Generalist", "Full Stack" sind ja doch recht schwammig wie wir bisher festgestellt haben. Wie sieht dein Arbeitsalltag konkret aus? Mit welchen Technologien arbeitest du? Wie groĂ ist deine Firma? Bist du reiner Programmierer und hast jemanden der dir den Projektmanagement-Kram vom Hals hĂ€lt? Aus meiner Erfahrung wĂŒrde ich auch widersprechen das in Softwarefirmen / SystemhĂ€usern keine Generalisten gibt. Ich habe meine Ausbildung auch in einer Softwarefirma gemacht. Das war eine kleine 10 - Mann Agentur. Auch hier gab es nur "Full - Stack" - Entwickler und keine reinen Backend/Frontend/Datenbank etc. - Entwickler. Ich wĂŒrde sogar sagen das hĂ€ngt ganz stark von FirmengröĂe ab. Wenn es sehr flexible Kundenanforderungen gibt ist es als kleine Firma (< 100 Mitarbeiter, keine reine Sofwarefirma also nicht 100 Entwickler) doch meistens recht schwer seine Mitarbeiter zu spezialisieren. Es sei denn du stellst deine Firma nach auĂen so auf das du sagt wir machen z.B nur Webanwendungen mit Angular/Typescript/Asp.Ne Webapi. Wenn die Anforderung nach einer React App (weil der z.B Kunde gehört hat das wĂ€re besser), mobile App, Deskptop Anwendung kommt dann musst das Projekt halt absagen. Aus meiner Erfahrung ist das fĂŒr kleine Firmen aber auch Problematisch sich so stark einzuschrĂ€nken. In kleineren Firmen ist der Programmierer auch oft zeitgleich der Projektmanager. Ich weiĂ nicht wie das bei euch ist aber ich sitze zu 50% in Meetings oder arbeite fachliche Konzepte aus. Wir haben keinen Requirements Engineer, könnten wir einfach nicht bezahlen und der Fachabteilung fehlt das technische VerstĂ€ndnis um die Konzepte detailliert ausarbeiten zu können. Ich stimme aber voll zu das es Bereiche gibt wo eine Spezialisierung unbedingt notwendig ist. Ich nenne da jetzt einfach mal Spielentwicklung, da kann ich etwas mitreden weil ich mich damit 5 Jahre lang als Hobby beschĂ€ftigt habe. FĂŒr mich unvorstellbar das man da nebenbei noch Webentwickler macht. Auch in der Anwendungsentwicklung gibt es sicherlich komplexe Themen wo ein Spezialist notwendig ist. Im B2B Umfeld bestehen die Kundenanforderungen aber doch meistens aus "CRUD - Applikationen" wo nicht unbedingt die technischen Anforderungen die HĂŒrde sind sondern das fachliche dahinter. Bearbeitet 29. Mai 20205 j von DerEntwickler
29. Mai 20205 j Im Lebenszyklus einer Anwendung gibt es so viele Rollen, die irgend jemand ausfĂŒllen muss. Von der Idee bis zum fertigen Produkt sind das unter anderem ein Anforderer, RequirementsEngineer, Entwickler, Tester (FunktionalitĂ€t, Performance, Security, Usability, ...), Implementierer, Support, Betriebsbetreuung, Budgetverantwortlicher, ... Welche dieser Rollen soll ein Allrounder alles ĂŒbernehmen? Welche Rollen schlieĂen sich eigentlich gegenseitig aus? Und: wie viele Kontextwechsel verkraftet so ein Allrounder? Pro Tag? Stunde? Wann konzentriert er sich auf AufgabeX? Was ist, wenn bei RolleY in dieser Zeit etwas akutes rein kommt?
29. Mai 20205 j Ich stimme ĂŒbrigens nicht zu, dass es das Allheilmittel fĂŒr die Karriere ist, sich spezialisiert zu haben. In den letzten Jahren habe ich einige Bewerbungen geschrieben und musste feststellen, dass das Mehr an Skills, welches einen Spezialisten kennzeichnet, hĂ€ufig gar nicht wirklich gefragt ist. Auch in den Jobbörsen sind selten Architekten- oder Senior-Posten ausgeschrieben. Das meiste Angebot befindet sich im Bereich Junior oder regulĂ€rer Mitarbeiter. Das ergibt Sinn, denn die meisten Aufgaben, die an uns ITler gestellt werden, sind eher basisch bis ins Mittelfeld hinein, denn High-End. In der Entwicklung z. B. Business-/Web-Anwendungen oder Mobile-Apps. In der Administration z. B. Server einrichten oder Cloud-ZugĂ€nge, ein Backup oder eine Firewall. Ob das nun alles 1 ms schneller lĂ€uft oder nicht und ob die Ausfallsicherheit nun 99 % oder 99,9 % betrĂ€gt, das juckt meist keinen. Viel wichtiger ist, was das alles kostet. Und hier hat der Wald- und Wiesen-ITler den Vorteil, dass er deutlich weniger kostet. Warum sollte man den Experten fĂŒr 70k einstellen, wenn es auch das Mittelfeld fĂŒr 50k tut und die Anforderungen ebenfalls zu 90 % erfĂŒllt? ... D. h. nicht, dass ich diese Ansicht teile. D. h. nicht, dass es fĂŒr Leute mit Ambitionen nicht sinnvoll ist, sich zu spezialisieren. Spezialisiten sind wichtig und Spezialisierung ist wichtig, um hohe GehĂ€lter erzielen zu können. Ich möchte damit lediglich darstellen, dass es kein Allheilmittel ist, sondern auch dieser Weg lĂ€ngst nicht ĂŒberall honoriert wird.  Bearbeitet 29. Mai 20205 j von Errraddicator
29. Mai 20205 j Ich wĂŒrde sagen, dass es immer einen Overhead gibt, den jeder Entwickler mit lernen muss und welcher sich in der verwendeten Infrastruktur- und Technik widerspiegelt. Gehen wir doch einmal zur Betrachtung ruhig in die AnfĂ€nge der Massendatenverarbeitung zurĂŒck und denken an die erste Technik, die auf dem Markt war und beispielsweise von Konzernen wie IBM geprĂ€gt wurde (natĂŒrlich gab es noch andere Firmen). Wir sehen hier eine technische Komponente, die in den AnfĂ€nge sogar noch aus mechanischen Bauteilen bestand und durch den Einsatz von Elektronik haben sich die Berufe gewandelt. Auch aus heutiger Sicht muss man wissen, welche Technik sich in der Entwicklung befindet und ob sich daraus möglicherweise Berufe im Wandel befinden. Hinzu kam ja die Globalisierung, die dazu gefĂŒhrt hatte, dass Produktion frĂŒhzeitig nach Fernost ausgelagert worden ist. Also die Frage was man macht, könnte in Zukunft auch einen geografischen Aspekt beinhalten. Wenn der Chiphersteller in Fernost sitzt und man genau auf diesem Gebiet arbeiten möchte, muss man also auch bereit sein, dahin zu gehen. Und das ist dann keine Frage, ob man das Thema in in DE möglicherweise studiert hat, sonder es ist die Frage, wo die Hardware entwickelt wird. Diese Prozesse finden heute durchaus weltweit statt, d.h. ein Ingenieur oder Hardwaredesigner kann durchaus auch in Deutschland sitzen, er muss aber dahin gehen, wo letztendlich die Fabrik sitzt. Ăhnlich ist es doch mit Infrastrukturlösungen. In AbhĂ€ngigkeit von der Technik und von den lokalen Gegebenheiten, wo gerade welche Entwicklung stattfindet, kommen unterschiedliche Lösungen zum Einsatz. Die Betrachtungsweise im Beispiel Fullstack Developer kĂ€me also ein wenig zu kurz, wĂŒrde man das Drumherum weglassen. Denn die Technik kann im robotergesteuerten RasenmĂ€her der Zukunft genauso eingesetzt werden, wie im Portal eines Unternehmens. Auch wir haben uns wĂ€hrend der Ausbildung darĂŒber "beschwert", dass wir bei fĂŒnf verschiedenen Programmiersprachen an der OberflĂ€che kratzen mussten und keine Zeit war, um bei einer Sprache in die Tiefe zu gehen. Aber letztendlich war die Entscheidung fĂŒr die Lehre doch richtig, denn zu dem Zeitpunkt wusste ja noch niemand wo er eigentlich hin geht. Vielleicht liegt die Antwort auf die Frage auch weniger an systemgebundenen Antworten, sondern ist eher dahin zu verstehen, dass jeder Fachmann generelle Arbeitsweisen- und Vorgehensmodelle lernen muss. In wie weit diese dann spĂ€ter ausgeprĂ€gt werden, hĂ€ngt von dem konkreten Arbeitsumfeld ab und dieses unterliegt einem steten Wandel einschl. Chancen- und Risiken. Â
29. Mai 20205 j @Errraddicator ich habe Ăhnliches erlebt. Aber eher so "entwickelnder agil-klassicher fachlich-technisch-architektonischer Projektleiter mit uneingschrĂ€nkter Reisebereitschaft" zum Fixgehalt einer Juniorstelle mit unerreichbaren Bonuszielen  Spezialisierung ist gut, nur es darf keine Insel-Spezialisierung mit Scheuklappen sein. Sehr gut in wenigen Themen, Einblick in viele. Nicht: enig Von allem etwas Ahnung.
29. Mai 20205 j vor 1 Minute schrieb allesweg:  "entwickelnder agil-klassicher fachlich-technisch-architektonischer Projektleiter mit uneingschrĂ€nkter Reisebereitschaft" Das beschreibt so in etwa meine vorherige Postion, dazu waren es mehrere Projekte und wir auch fĂŒr deren Betrieb zustĂ€ndig und ich zusĂ€tzlich noch der Teamleiter. Das erste, was dann wirklich nicht mehr geht, ist das entwickeln, dann das in die kleinen freien Blöcke zwischen die anderen TĂ€tigkeiten zu stopfen, funktioniert nicht nicht und schon gar nicht auf dem QualitĂ€tsniveau, welches ich selbst von mir erwarte. Leider ist das aber hĂ€ufiger der Fall, die Firmen schreiben Stellen aus mit einer ganz anderen Hauptverantwortung, erwarten aber, dass man in den restlichen 40-90% seiner Zeit noch entwickelt. Bezahlt wird meist auch nur die gĂŒnstigste Rolle in der Konstellation.
29. Mai 20205 j Autor Danke fĂŒr die interessanten BeitrĂ€ge, wirklich schön mal zu hören wie es anderen geht. Viele wĂŒrden sich scheinbar doch als Allrounder bezeichnen und reagieren flexibel auf Anforderungen aber es gibt auch die richtigen Spezialisten (in gröĂeren Firmen bzw. bei spezialisierten Dienstleistern?) Ich finde aber auch die Diskussion scheitert etwas daran weil es keine eindeutige Begriffsdefinition gibt und sich vermutlich auch nicht finden lĂ€sst. Jeder versteht etwas anderes unter Allrounder, Full Stack etc. Hier mal meine Definition: Spezialist = Jemand der sich jahrelang mit genau einer Technologie beschĂ€ft hat. Ich habe solche Spezialisten kennengelernt, z.B auf einer SQL Server - Performance Schulung. Absoluter Wahnsinn was der zu erzĂ€hlen hatte. So jemanden braucht man dann um mehrere 100 hoch verfĂŒgbare high - performance Datenbankinstanzen zu verwalten. Oder wenn es um SQL Abfragen mit mehreren 10.000 Zeilen -Code geht und das noch mit einer guten Performance. Naja, wie er dann die Daten dann mittels Entity Framework oder Ă€hnliches in eine Anwendung bekommt wusste er aber nicht. Oder Front - End Entwickler die die schönsten Webseiten bauen können aber keine SELECT - Statements schreiben können. Das sind fĂŒr mich Spezialisten die unheimliches Wissen in genau einem Bereich haben. Full Stack = Jemand der auf einem TechStack (z.B Angular/Typescript/Web API/MS SQL) komplett entwickeln kann. Dazu noch ein kleiner Anteil Projektmanagment. Allrounder / Generalist = Jemand der sich ĂŒberhaupt nicht an einen TechStack bindet. Wenn eine Technologie gefordert wird dann wird sich eben eingearbeitet. FĂŒhrt natĂŒrlich dazu das Wissen schnell veraltet weil man nie lange bei einer Technologie bleibt. So jemand hat schon mal in allen Bereichen was gemacht (Web/ Mobile / Desktop). Dazu kommt noch ein hoher Anteil Projektmanagement bzw. andere Aufgaben im Softwarelebenszyklus wie Testen / Support usw. Bearbeitet 29. Mai 20205 j von DerEntwickler
29. Mai 20205 j @DerEntwickler dein Spezialist ist fĂŒr mich ein Insel-Spezialist oder gar ein Fachidiot. Und wer SQLs mit mehreren 100 Zeilen Code verursacht, sollte sich Hilfe holen. Da besteht Optimierungsbedarf bei der Datenmodellierung.
29. Mai 20205 j vor einer Stunde schrieb DerEntwickler: Danke fĂŒr die interessanten BeitrĂ€ge, wirklich schön mal zu hören wie es anderen geht. Viele wĂŒrden sich scheinbar doch als Allrounder bezeichnen und reagieren flexibel auf Anforderungen aber es gibt auch die richtigen Spezialisten (in gröĂeren Firmen bzw. bei spezialisierten Dienstleistern?) Ja, die gibt es und das sind meistens die Fachleute, die in einem Pool verfĂŒgbar sind und projektbezogen arbeiten oder ein eigenes Unternehmen haben und sich auf spezielle Themen ausgerichtet haben und bei Bedarf auch von SystemhĂ€usern geholt werden. Im Bereich Microsoft sind das z.B. die MVPs https://de.wikipedia.org/wiki/Microsoft_MVP Hier mal ein Beispiel aus dem Pool von einem MVP. https://www.thinktecture.com/de/articles/ Ich habe einmal einen Smalltalk Entwickler kennengelernt, der ausschlieĂlich auf diesem Gebiet tĂ€tig ist und selber sagt, dass er sich in einer Nische befindet. Dieses Arbeitsgebiet ist natĂŒrlich eng damit verknĂŒpft, wie lange bestimmte Produkte genutzt und gewartet werden. Smalltalk wird von Banken und Versicherungen noch genutzt auch die DB soll einige Zeit Smalltalk Anwendungen genutzt haben. Im Mainframe Bereich gibt es auch einige Spezialisten. Bei YouTube gibt es einen Hobby Kanal, der interessierte Leute z.B. ĂŒber den Hercules Emulator einige Themen in diesem Bereich nĂ€her bringt. Da hier auch IT-Grundlagen vermittelt werden, sicher fĂŒr den ein oder anderen Azubi auch interessant. Bearbeitet 29. Mai 20205 j von tkreutz2
29. Mai 20205 j vor 2 Stunden schrieb DerEntwickler: Oder wenn es um SQL Abfragen mit mehreren 10.000 Zeilen -Code geht Jemand, der solche SQL-Abfragen schreibt, ist fĂŒr mich vieles, aber mit Sicherheit kein Spezialist. Wir haben Kollegen, die auch gerne ausufernde SQL-Kommandos schreiben, div. hundert Zeilen lang. Und sogar diese Dinger sind eine Katastrophe, unwartbar, voller Seiteneffekte, schlect zu debuggen, usw.. Wenn das jemand noch auf die Spitze treibt und tausende Zeilen macht, ist das Code der ĂŒbelsten Sorte. Das verdient Kritik und kein Lob.  @allesweg Zwei Doofe, ein Gedanke. Bearbeitet 29. Mai 20205 j von Errraddicator
29. Mai 20205 j Autor vor 2 Stunden schrieb allesweg: @DerEntwickler dein Spezialist ist fĂŒr mich ein Insel-Spezialist oder gar ein Fachidiot. Und wer SQLs mit mehreren 100 Zeilen Code verursacht, sollte sich Hilfe holen. Da besteht Optimierungsbedarf bei der Datenmodellierung. @allesweg Harte Aussage. Ich verstehe was du sagen willst und ja es gibt diese Fachidioten aber ich wĂŒrde das nicht so Schwarz-WeiĂ sehen. Wenn ich als Firma wirklich eine komplexe Datenbankstruktur habe mit mehreren Instanzen, FailOver - Clustern, HochverfĂŒgbarkeit, High - Performance etc. (z.B Big Data Analysen), dann wĂŒrde ich da keinen Full Stack Entwickler / Allrounder / Generalist sitzen haben wollen, dann möchte ich auch diesen Spezialisten haben, gerade wenn das ganze System geschĂ€ftskritisch ist. NatĂŒrlich sollte man auch als solcher Spezialisiert vielleicht ab und zu auch mal eine Anwendungsschicht höher coden um einfach mal zu sehen wie es dort lĂ€uft um RĂŒckschlĂŒsse auf die eigenen Lösungen zu ziehen. Am Ende das Tages muss das Datenbanksystem ja mit anderen Teilen zusammenspielen. OffTopic: Ja klar sollte man bei mehren 100 Zeilen SQL - Code auch mal das Datenmodell hinterfragen aber Best Practice und RealitĂ€t sind leider oft zwei verschiedene Sachen. Wir haben SQL Statements mit bis zu 5000 Zeilen Code. Nicht eine einzelne Query aber in einer Stored Procedure. Warum? 1. Weil da teilweise Daten fĂŒr sehr komplexe Finance / Controlling Reportings aufbereitet werden. 2. Weil die Daten teilweise aus Fremdsystemen kommen. Und diese Fremdsysteme haben teilweise 200 Tabellen pro Datenbank. Auch wenn man wĂŒsste wie das besser geht, man hat halt keinen Einfluss darauf also muss man sich die Daten aus 200 Tabellen zusammenziehen. Daraus entstehen dann solche SQL Codes. -> Ok, ich gebe zu man sollte die Stored Procedure nochmal in kleinere Teilen aufteilen aber trotzdem bleibt es ein zusammenhĂ€ngendes Konstrukt. Bearbeitet 29. Mai 20205 j von DerEntwickler
29. Mai 20205 j Es gibt Laien, alles-nur-etwas-könnende-Frickler, Generalisten, Spezialisten, Insel-Spezialisten und Fachidioten.  Laien taugen maximal zum Anwender. Frickler und Fachidioten als abschreckendes Beispiel. In einem extrem kleinen Team braucht es Generalisten. Insel-Spezialisten brauchen ein Team um sich herum, welche sie auf ihrer Insel versorgen.
29. Mai 20205 j @DerEntwickler Gerade, wenn das Umfeld so komplex wird, wie von Dir beschrieben (FailOver, Cluster, HochverfĂŒgbarkeit, usw.) brauche ich jemanden, der den ganzen Stack versteht. NatĂŒrlich muss sein Schwerpunkt z. B. auf der Datenbank liegen, aber wenn er nicht versteht wie das zugrunde liegende OS funktioniert, die vorgeschaltete Lastenverteilung, wie sich das aktive Backup auf die Performance auswirkt, usw., dann wird sein Ergebnis schlecht werden. Ein Fachidiot eben, wie es @allesweg beschrieben hat. Das ist nicht hart, das ist wahr. Und genau das von mir skizzierte Szenario wird bei dem Vortragenden, den Du lobend erwĂ€hnt hast, der Fall gewesen sein. Den brauche ich nicht zu kennen, um das zu wissen. Solche Leute sind KoryphĂ€en im jeweiligen Metier, verstehen aber auch das ganze Drumherum gut. HĂ€ufig sogar besser als die meisten ITler. Solche Leute sind Allrounder und Spezialisten. Das mĂŒssen sie auch sein, denn im Regelfall bedingt das eine das andere. ... Gleiches mit dem SQL-Kommando. Eine 5.000 Zeilen lange Stored Procedure ist schlecht. Punkt. Sollte das bei Euch der Fall sein, wird es Zeit, diese eine 5.000 Zeilen lange Stored Procedure in 50 kleinere ĂĄÂ 100 Zeilen zu zerlegen. Vielleicht noch kleiner. Das ist das kleine 1x1 der Softwareentwicklung und ist allgemeingĂŒltig. Erst recht, wenn die Materie komplex wird. Mit einer einzelnen, langen Funktion beherrscht man triviale Aufgaben. Je komplexer ein Umfeld wird, umso modularer muss der Code werden. Zumindest, wenn es ordentlich gemacht ist und nicht einfach 10 Jahre lang hintendran gearbeitet wurde, ohne jemals ein Refactoring durchzufĂŒhren. Bearbeitet 29. Mai 20205 j von Errraddicator
30. Mai 20205 j Ich kann @DerEntwickler nur zustimmen. Meine Firma arbeitet im Versicherungs/Finanzbereich. Ich hab im ersten Lehrjahr auch einige von den "Allgemeinen" Abteilungen jeweils fĂŒr ein paar Wochen durchlaufen und war dabei zum Beispiel im Risk Management wo viel im Bereich Predictgive Analytics etc. gemacht wird. Dort habe ich auch Prozesse mit mehreren tausend Zeilen gesehen. Klar waren die aufgerĂ€umt und in einzelne Prozeduren zerlegt, aber insgesamt war das schon ein ganz schönes Monstrum.  Am 29.5.2020 um 12:26 schrieb Errraddicator: Das ist das kleine 1x1 der Softwareentwicklung und ist allgemeingĂŒltig. Erst recht, wenn die Materie komplex wird. Mit einer einzelnen, langen Funktion beherrscht man triviale Aufgaben. Je komplexer ein Umfeld wird, umso modularer muss der Code werden. Zumindest, wenn es ordentlich gemacht ist und nicht einfach 10 Jahre lang hintendran gearbeitet wurde, ohne jemals ein Refactoring durchzufĂŒhren. Ich kann auch verstehen wenn der Durchschnittsentwickler dabei den Kopf schĂŒttelt. Aber hier ging es ja um Spezialisten. Klar kann man jetzt die GemeinplĂ€tze aus dem Grundstudium bemĂŒhen, aber in RealitĂ€t wird es sicher kein Softwareprojekt geben, dass an allen Ecken und Enden immer nur den Best Practices entspricht. Und wenn du schon vom kleinen 1x1 redest, solltest du eigentlich nicht den Fehler machen und komplexe Systeme mit komplizierten Systemen verwechseln, denn zumindest bei mir wurde darauf spĂ€testens im zweiten Semester hingewiesen. KomplexitĂ€t ist eben genau nicht nur eine Aneinanderreihung an TrivialitĂ€ten. Dazu gehört eben deutlich mehr, deshalb kann ein FĂŒnftklĂ€ssler mit dem kleinen 1x1 eben noch lange keine Taylorreihen lösen und deswegen lassen sich Risk-Management, Big-Data oder ETL-Prozesse eben auch nicht nur auf Grundlagen der Softwareentwicklung herunterbrechen.
31. Mai 20205 j Was die Begrifflichkeiten angeht ala Spezialist und Allrounder/Generalist, natĂŒrlich versteht darunter jeder was anderes. Letztlich ist unser Bereich so breit aufgebaut, alles kann eh keiner verstehen, lernen oder benutzen. Ab wann man denn das eine oder andere ist, ist dann auch wieder Definitionssache. Ich kann sagen jemand ist kein Allrounder weil er hat ja keine Ahnung von X, Y und Z. Am Ende eben gerade bei kleineren Firmen verbreitet, da man meist gar nicht so viel Arbeit hat fĂŒr bestimmte Bereiche. Bei und wĂ€re es z.B. Wahnsinn einen dedizierte Projektleiter zu haben, einen FISI, einen DBA, einen Java oder C-Entwickler. Ergo werden diese Sachen mit von den Entwicklern ĂŒbernommen. Sicherlich hat davon in den jeweiligen Feld keiner so ein Spezialwissen, wie jemand der ausschlieĂlich das macht und das auch im gröĂeren Umfeld. Denke meist geht es bei der Entscheidung einfach darum wie praktibal es fĂŒr das Unternehmen ist. Die Wahl haben ohnehin nur groĂe Unternehmen oder Kleine die genug Geld haben jemanden rumsitzen zu lassen bzw. jemanden finden der fĂŒr ein paar Stunden in Teilzeit als Spezialist dabei ist. Vermutlich ist dann auch gerade der Wechsel schwer von einem Job, in dem man als Allrounder tĂ€tig war, zu einem, wo dies nicht der Fall ist. Ggf. gibt es einen Schwerpunkt und man orientiert sich daran. Bzgl. der SQL Diskussion: ich denke gerade das ist einer der wenigen FĂ€lle, wo viele Zeilen nicht gleich schlechter Code bedeuten. Ich denke auch gute SQL Statements oder bewusst verstĂ€ndlich gehaltene neigen oft zu vielen, vielen Zeilen. Dadurch, dass abgefragete Spalten angegeben werden, anstatt einfach ein alles selektiert wird, dadurch dass eben der GroĂteil relativ trivale Joins sind, eben weil die Sachen vernĂŒnftig normalisiert vorliegen und es keinen Sinn macht Sachen richtung OLAP abzubilden, da die Sachen nicht so regelmĂ€Ăig benötigt werden. Gleiche mit einigen SQL Dialekten wie Oracle eben mit der VerstĂ€ndlichkeit der Abfragen. Sei es indem mittels WITH Statement mehr Struktur reinkommt oder mittels MINUS, INTERSECT gearbeitet wird um die Abfrage wesentlich einfacher und verstĂ€ndlicher, ggf. auch perfomanter auszufĂŒhren.
31. Mai 20205 j Ich bin im Rahmen von Berater-TĂ€tigkeiten auch schon mit "abenteuerlichen" SQL Lösungen in Verbindung gekommen, zu denen dann tatsĂ€chlich Spezialisten hinzugezogen werden mussten, um die Arbeit von vermeintlichen Experten wieder zu entkernen. Diese Kunden waren der eigenen Meinung, dass die selbst entwickelte Lösung zu 98 % fertig sei. Die "Lösung" war dann, wie es oft bei ĂŒber Jahren gewachsenen Lösungen vorkommen kann mit so vielen Altlasten versehen, dass eine komplette Neuentwicklung des Produktes gĂŒnstiger gekommen wĂ€re, als das Altprodukt zu "entkernen". Hintergrund in diesem Zusammenhang waren auch technische AbhĂ€ngigkeiten, die sich dadurch ergeben haben, weil immer wieder "migriert" worden ist und hierdurch Komponenten weiter verwendet wurden, die vom Hersteller lĂ€ngst obsolet waren und somit in den Bereich Altlasten gefallen sind. Die Gefahr, Pferde zu reiten, die lĂ€ngst tot sind, ist gerade bei komplexen und umfangreichen Produkten oft gegeben. Selbst verschuldete AbhĂ€ngigkeiten durch Spezialisten kann aus Kostensicht fĂŒr Unternehmen genauso fatal sein, wie fehlgelenkte Produktpflege. Aber das sind strategische Entscheidungen, die oft auch an Personalien hĂ€ngen, um ihre "self fulfilling prophecy" zu verwirklichen. Â
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.