Hallo Leute,
ich habe die Ausbildung zum Industrietechnologen
(Automatisierungstechnik) an der Siemens Technik Akademie vor gefühlt
einer Ewigkeit gemacht. Da gab es auch Datenverarbeitung als
Schwerpunkt.
3 Jahre habe ich im Bereich .NET mit C# programmiert. Das ist jetzt 12
Jahre her!
Ich suche eigentlich einen Kurs bzw. Studium, welches mich in kurzer
Zeit mit Softwareentwicklung vertraut machen kann. Ich will also wieder
gut coden können. Mich interessiert der Prozess (Modellierung) ebenso
wie das Programmieren in einer Hochsprache wie Java oder C#. Bin da
leider schon zu lange draussen.
Bei der ils oder sgd gibt es ja solche Kurse. Kennt ihr vielleicht
Einrichtungen auf Hochschulniveau mit Zertifikat oder Ähnliches?
Was würde mir eine Weiterbildung zum Techniker in Informatiktechnik
(Technikerschule Erlangen) bringen? Wenn ich mir die Inhalt so ansehe,
kommt net viel Neues vor habe ich den Eindruck.
Wäre dankbar für hilfreiche Tipps.
Arif Z. schrieb:> einen Kurs bzw. Studium, welches mich in kurzer> Zeit mit Softwareentwicklung vertraut machen kann. Ich will also wieder> gut coden können.
Das geht ausschließlich mit Erfahrung.
Keinesfalls mit einem schnellen Kurs oder Studium.
Bring es dir selbst bei.
Denk dir ein Projekt aus, lade die Visual-Studio für lau herunter und
fang an das Projekt umzusetzen. Der Aufbau einer Prg.-Sprache hat sich
nicht wirklich geändert. C hat immer noch zu viele { und } . Den Rest
machst du mir Erfahrung und den suchen im I-net nach Codeschnipsel.
Muss halt nur nicht nur Copy-Paste machen sondern auch verstehen wie der
Coder das warum so gelöst hat.
Wenn das Projekt fertig ist, bist du wieder fit. Ich code seit über 30
Jahre und lerne oft noch was neues. Einfach aus den Grund das ich nur
mein Standart-Befehlssatz im Kopf habe, aber nicht die riesen Mengen von
Libs.
Es reicht wenn ich weiß das es sie gibt. Oder ich frage Google. Ich
behaupte das es kein Programmierer gibt der das alles im Kopf hat.
Das Zauberwort ist "Objektkatalog". Das ist ein mittleren Brockhaus
inzwischen.
Auf so einen Lehrgang lernst du nur Codieren für Anfänger. Also ein
besseres "Hello World". Bisschen Schleifen, Variablen etc. . Wenn du da
damals aufgepasst hast, und es dir leicht von der Hand ging, bist du in
4 Wochen wieder voll drin.
Ist wie Fahrradfahren. Man hat Angst oder man fährt locker vorwärts. ;)
Bist du des Wahnsinns fette Beute?!?
Sei froh dass du aus der Softwareentwicklung raus bist. Aktuell kommt da
nur eine Hipster-Bullshit-Technologie nach der anderen, getrieben von
zugekifften Leuten ohne Erfahrung. Kannst du knicken.
Ja ich habe mich da durch Tutorials durchgewühlt im Internet. Und ja: Es
ist immer das Gleiche... Schleifen, Konstruktoren, Ableitungen,
abstrakte Klassen usw.
Wichtiger wäre wohl Modellierung und das Vorgehen in der Entwicklung von
Software.
Danke für Euren Beitrag. Ich wusste es irgendwie auch schon... einfach
losprogrammieren und besser werden. Ich hatte damals viel mit C
programmiert und denke, dass ich somit relativ fit sein müsste. Da hatte
man keinen Garbage Collector sondern musste sich mit Pointern
rumschlagen :)
Dann sollte ich wohl erst mal ein Praktikum suchen um da wieder
reinzukommen,gleich loslegen mit Berufseinstieg wird so wohl eher schwer
sein, ich traue mir das noch nicht ganz zu irgendwie, vor allem wenn ich
mir die Stellenangebote so ansehe total überhöhte Ansprüche.
Arif Z. schrieb:> und das Vorgehen in der Entwicklung von> Software.
Macht man heute alles agil.
Das ist der heisse Scheiß. Werte Scrum Master und glücklich.
SCNR
Programmieren kannst du ja prinzipiell. Gut programmieren braucht
Erfahrung. Zumindest gibts im Internet viele Tutorials und es gibt
natürlich auch viele Bücher zu dem Thema.
Ich würde eher zu einem guten Buch als einem Kurs raten.
Arif Z. schrieb:> 3 Jahre habe ich im Bereich .NET mit C# programmiert. Das ist jetzt 12> Jahre her!
Das heißt also, du hast 0 Ahnung von Programmierung. Rust ist derzeit
sehr beliebt, versuch es doch mal damit. Denn im Gegensatz zu C# kann
man damit auch tolle Sachen programmieren.
Beitrag "Rust - ist das hier um zu bleiben?"
Hallo Arif,
nach 35 Jahren in der Softwareentwicklung, kann ich Dir sagen das Ziel
ist es nicht irgendeine Programmiersprache zu erlernen, sondern sich mit
Softwarearchitektur / Pattern auseinander zu setzen und diese zu
verstehen.
Die Umsetzung in einer beliebigen Programmiersprache ist dann der
nächste Schritt.
Gruß
Frank
Arif Z. schrieb:> Wichtiger wäre wohl Modellierung und das Vorgehen in der Entwicklung von> Software.
Was meinst Du mit modellieren?
Ja, manche beschreiben Abhängigkeiten mit UML, aber das ist kein
modellieren.
Wenn Du C beherrschst, ist embedded vielleicht was für Dich.
Wenn Du C# vor vielen Jahren nur kurz gemacht hast, UND Du PC-Programme
schreiben möchtest, dann leg einfach wieder los.
Und das vorgehen ... Da gibt's nichts Neues, wenn Du allein bist. VCS
hast Du damals ja auch gehabt, hoffe ich, heute vermutlich GIT oder SVN.
Und scrum und Co lernst Du schnell, wenn Du als Indianer anfängst,
einfach der Herde folgen.
MaWin schrieb:> Arif Z. schrieb:>> einen Kurs bzw. Studium, welches mich in kurzer>> Zeit mit Softwareentwicklung vertraut machen kann. Ich will also wieder>> gut coden können.>> Das geht ausschließlich mit Erfahrung.> Keinesfalls mit einem schnellen Kurs oder Studium.
Ich pflege ja immer noch zu glauben, dass ein paar Jahre Studium bei mir
nicht nur dazu da waren, dass ich die in den Lebenslauf schreiben kann,
sondern ich dort auch was gelernt habe. Freilich bringt ein Studium oder
gar nur ein Kurs für sich alleine genommen so ziemlich gar nichts. Aber
es schafft eine solide Basis. Es geht auch ohne, dauert aber länger.
Nun, Software an sich ist dummes Zeug und wertlos.
So soll Etwas bezwecken, folglich setze dich damit zusammen und versuche
das Problem logisch zu lösen. Coden ist nur der letze Schritt und wird
auch nur schlecht bezahlt. Bei uns Firma „S...“ machen das die Inder für
ein Taschengeld. Der Kunde ist halt damit gekniffen, nur halbgare
Anwender zu bekommen. Mit jedem Update ein Problem halbwegs gelöst und
neue sind eingebaut worden.
Alter xp Rechner schrieb:> Nun, Software an sich ist dummes Zeug und wertlos.>> So soll Etwas bezwecken, folglich setze dich damit zusammen und versuche> das Problem logisch zu lösen. Coden ist nur der letze Schritt und wird> auch nur schlecht bezahlt. Bei uns Firma „S...“ machen das die Inder für> ein Taschengeld. Der Kunde ist halt damit gekniffen, nur halbgare> Anwender zu bekommen. Mit jedem Update ein Problem halbwegs gelöst und> neue sind eingebaut worden.
Anwendungen sollte es heißen
Frank L. schrieb:> Hallo Arif,>> nach 35 Jahren in der Softwareentwicklung, kann ich Dir sagen das Ziel> ist es nicht irgendeine Programmiersprache zu erlernen, sondern sich mit> Softwarearchitektur / Pattern auseinander zu setzen und diese zu> verstehen.>> Die Umsetzung in einer beliebigen Programmiersprache ist dann der> nächste Schritt.>> Gruß> Frank
Hi Frank,
genau das ist der springende Punkt und das meinte ich mit Modellieren 😊
Glaube ein gutes Buch hierzu kann helfen.
Ich brauche ein Praktikum da einzusteigen das wird nur über Learning by
doing gehen. Weil so komm bisher nicht in den Arbeitsmarkt rein.
Arif Z. schrieb:> Hi Frank,>> genau das ist der springende Punkt und das meinte ich mit Modellieren 😊> Glaube ein gutes Buch hierzu kann helfen.
Nein, das sind in ihrer Allgemeinheit leere Phrasen.
Wenn Du ein konkretes Ziel hast (embedded, Web, Zeichenprogramme,
Datenbanken, Berechnungen, Refakturierung, ...) dann gibt es natürlich
Pattern, die sich bewährt haben (z.B. die SPS-Loop, Pattern GoF,
Trennung von Geschäftslogik und Präsentation, ...) aber das sind eher
Best Practices für einen limitierten Bereich.
Und dass die Programmiersprache dann egal ist, ist auch Quatsch. Ja,
einen Bubble-Sort kann ich in allen imperativen Programmiersprachen etwa
gleich Umsetzen. Das darf aber nicht umgekehrt zu dem Trugschluss
führen, dass die Programmiersprache egal ist. Jede hat ihre Stärken und
Schwächen und nur einen sehr eingegrenzten Anwendungsbereich. Und muss
trotzdem intensiv gelernt werden. Und wenn sie sehr universell
(Multiparadigmen) ist wie C++, dann kann man sich realistisch nur auf
einen für seine Anwendung sinnvollen Teilbereich fokussieren, zumindest
als Anfänger.
IT-Abteilung schrieb:> Arif Z. schrieb:>> 3 Jahre habe ich im Bereich .NET mit C# programmiert. Das ist jetzt 12>> Jahre her!>> Das heißt also, du hast 0 Ahnung von Programmierung.
Idiot! Natürlich kann man mit C# sehr gut programmieren, bloß bei der
Performance hapert es halt manchmal. Ist halt tendenziell immer so: je
höher der Abstraktionsgrad der Sprache und je besser die eingebaute
Sicherheit gegen Programmierfehler, desto lausiger die Performance des
letztlich abgearbeiteten Codes.
Wenn man für jeden Code-Bestandteil die ultimative Geschwndigkeit haben
will, führt also nix an Assembler vorbei.
Zum Glück muss man das nicht wirklich. Man kann ganz entspannt in C# so
ziemlich alles hinreichend schnell (und sicher und komfortabel) umsetzen
und nur die Teile, die halt wirklich schnell sein müssen, dann in einer
weniger sicheren und weniger komfortablen Sprache umsetzen. Wenn man
kotzen möchte und mit "meistens immerhin recht nahe dran" zufrieden ist,
nimmt man z.B. C, C++ oder Rust, wenn man wirklich den ultimativen Speed
haben will, nimmt man Assembler...
c-hater schrieb:> IT-Abteilung schrieb:>>> Arif Z. schrieb:>>> 3 Jahre habe ich im Bereich .NET mit C# programmiert. Das ist jetzt 12>>> Jahre her!>>>> Das heißt also, du hast 0 Ahnung von Programmierung.>> Idiot! Natürlich kann man mit C# sehr gut programmieren
ich glaube es ging weniger um die Sprache als dass er (im Ausgangspost)
nur sehr kurz programmiert hat und das 12 Jahre her ist.
Das wurde inzwischen relativiert
Arif Z. schrieb:> Ich hatte damals viel mit C programmiert
Hi
Schau Mal bei Malerconnect.de im Forum unter der Rubrik FAQ. Dort
findest du ein kostenloses Buch. Mag sein, das es unter deinem Niveau
ist, möglicherweise aber hilft es dir genau bei deinem Problem. Keine
langweiligen Anleitungen, sondern eine Programmentwicklung Schritt für
Schritt bis zu einer vielleicht brauchbaren Anwendung.
Gruß oldmax
Arif Z. schrieb:> Wichtiger wäre wohl Modellierung und das Vorgehen> in der Entwicklung von Software.
Das ist in deiner Allgemeinheit eher irrelevant.
Einerseits werden da unglaublich viele Säue ("Hipster-Technologien")
regelmäßig durch die verschiedenen Dörfer ("Branchen") getrieben,
andererseits nützt dir das ganze Modellierungswissen nix, wenn dein
Wunschframework das nicht so modellieren kann.
Wenn du das kommerziell machst, sagt eh der Chef - das Team - das
Projekt, wie der Code auszusehen hat - da fängst du meistens nicht auf
der grünen Wiese an.
Such dir eine Ecke aus, in der du programmieren willst - z.B. Web oder
Embedded oder Applikation - und dann "mach" einfach. Such dir ein
Framework aus, wenn du eins benutzen möchtest, und spiele damit rum.
Sammle Erfahrung darin, Probleme zu lösen.
Wenn du das kannst, nimmst du dir die Dokumentation zu einem anderen
Framework und spielst vergleichendes Lesen: Was ist gleich, was ist
unterschiedlich, wie wird das von den Entwicklern (und unabhängigen
Dritten) begründet. Und so lernst du die Kompetenz, den einen Sinn vom
anderen Sinn zu unterscheiden. Kannst du das, kannst du coden. :-)
A. S. schrieb:> Und scrum und Co lernst Du schnell, wenn Du als Indianer anfängst,> einfach der Herde folgen.
Ja, bei diesem Quatsch dreht sich mir der Magen um. Sowas kann nur
Wegwerfsoftware werden. Schnell hingeschustert, fehlerhaft, nicht
erweiterbar.
Zum Programmieren Lernen reicht es erstmal, eine Aufgabe in Module und
Abläufe zu zerlegen und diese gedanklich zu testen. Das Code
hinschreiben in irgendeiner Sprache ist dann der geringste Teil.
Programmieren bedeutet Planung, Fleiß und Sorgfalt. Nur so wird Software
zuverlässig, wartbar und erweiterbar.
Peter D. schrieb:> A. S. schrieb:>> Und scrum und Co lernst Du schnell, wenn Du als Indianer anfängst,>> einfach der Herde folgen.>> Ja, bei diesem Quatsch dreht sich mir der Magen um. Sowas kann nur> Wegwerfsoftware werden. Schnell hingeschustert, fehlerhaft, nicht> erweiterbar.
Wie ist das gemeint? Scrum und Co haben erstmal nichts mit der
Entwicklung von SW zu tun, sondern sind eine Form der Organisation der
Beteiligten.
Der TO hat explizit nach "Modellieren" gefragt, ohne irgendeine
Anschauung darüber darlegen zu können.
Und Scrum und Co machen jetzt überhaupt keinen Sinn, dass man sich im
stillen Kämmerlein schon mal mit den Grundzügen vertraut macht. Das ist
wie Word an einem Buch durcharbeiten, ohne Computer.
Agil bedeutet für mich, möglichst schnell einen Stand zu erreichen, der
auch zur realen Anwendung kommt, weil er einen echten Mehrwert bringt.
Ab dann legt man in kurzen Abständen und ständiger Kommunikation mit den
Anwendern nach.
So wird die Software iterativ besser und vollständiger.
Bugs werden schnell behoben, falsch eingeschlagene Wege sofort erkannt
und korrigiert.
Der restliche Srcum Kram ist Bullshit & Buzzword Bingo für Hipster.
@Arif:
Ein Kurs wird dir vermutlich nicht viel bringen, weil die ja auch alle
nur an der Oberfläche kratzen.
Ob, und wann du wirklich einmal etwas dort gelerntes benötigst weiß man
nicht.
Du hast bereits alle Fähigkeiten beisammen um dir fehlendes Wissen zum
Lösen einer konkreten Aufgabe selbst anzueignen.
Du musst nur noch los legen. Außer Zeit kostet das nichts.
Mach dir einfach überall, auf der Arbeit, im Alltag, etc. Gedanken:
Geht das nicht besser? Kann man das nicht automatisieren?
Wenn du etwas gefunden hast, was dich richtig interessiert, dann klemm
dich dahinter und leg los.
Zuerst kopierst du vielleicht noch Codeschnipsel aus dem Netz zusammen,
ohne alles zu verstehen. Ganz egal, Hauptsache es läuft. Einfach dran
bleiben, der Rest kommt dann von ganz alleine.
Da biste hier im falschen Forum.
Sowas machen Webentwickler in Webagenturen mit einem Gehalt knapp über
Hartz IV.
Früher hat zum MCS51 programmieren lernen schon ein Kurs gereicht, z.B.
einer von Martin Ohsmann. Das hat jede Menge MCS51 Experten
hervorgebracht,
die dieser einfachen Architektur bis heute nachtrauern.