Forum: PC-Programmierung Wiedereinstieg Softwareentwicklung


von Arif Z. (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von Schlaumaier (Gast)


Lesenswert?

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. ;)

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

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.

von Arif Z. (Gast)


Lesenswert?

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.

von Udo S. (urschmitt)


Lesenswert?

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

von Arc N. (arc)


Lesenswert?

https://www.edx.org/search?q=software
und
https://www.coursera.org/browse/computer-science/software-development
bieten eine Reihe von sehr guten Kursen und Programmen bis hin zu 
vollständigen Bachelor- und Master-Studiengängen in dem Bereich an.

von ... (Gast)


Lesenswert?

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.

von IT-Abteilung (Gast)


Lesenswert?

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?"

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

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

von A. S. (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Alter xp Rechner (Gast)


Lesenswert?

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.

von Alter xp Rechner (Gast)


Lesenswert?

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

von Arif Z. (Gast)


Lesenswert?

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.

von A. S. (Gast)


Lesenswert?

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.

Beitrag #6586595 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

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...

von MaWin (Gast)


Lesenswert?

c-hater schrieb:
> Idiot!

Na? Beißreflex?

von A. S. (Gast)


Lesenswert?

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

von Martin V. (oldmax)


Lesenswert?

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

von S. R. (svenska)


Lesenswert?

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. :-)

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

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.

von A. S. (Gast)


Lesenswert?

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.

von Thomas_jhfd (Gast)


Lesenswert?

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.

von Anarchist (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.