Neuorientierung



  • Was ich bisher gesehen habe ist, das die Gehälter sehr unterschiedlich ausfallen können (2100 € bis 5200 €). Ich peile als Einsteiger nicht die Obergrenze an, vielleicht später mit mehr Kenntnis und Erfahrung. Um Erhfarung zu sammeln bin ich selbstverständlich bereit klein anzufangen.

    Ein Praktikum wäre mir sehr willkommen, auch gerne ohne Gehalt. Jedoch ist das anscheinend nicht mehr möglich in Deutschland, da Gesetzlich geregelt wurde das man Praktikanten ein Mindestlohn bezahle muss (wurde mir von einem Unternehmen gesagt wo ich mich um ein Praktikum beworben haben).

    Ich werde mich mal an den OpenSource-Projekten versuchen, mal schauen wie der Einstieg wird.

    Danke dir für die Antworten.



  • Turro schrieb:

    Im Mai 2014 hab ich mich für ein Fernstudiengang an der HAF Hamburg angemeldet (C++ Programmierung für Windows unter Qt) und habe diesen Dezember 2015 abgeschlossen.

    Ich bin etwas irritiert, dass sowas als Studiengang bezeichnet wird.
    Was kann man sich drunter vorstellen, was habt ihr gelernt, wie hat der Lehrplan ausgeschaut?

    Bei vielen Open Source Projekten ist die Qualität sehr durchwachsen, auch bei großen und bekannten. Da muss man als Anfänger vorsichtig sein, weil man das schlecht einschätzen kann. Außerdem ist der Einstieg zumindest in anspruchsvollere Projekte oft überhaupt nicht leicht.



  • Mechanics schrieb:

    Turro schrieb:

    Im Mai 2014 hab ich mich für ein Fernstudiengang an der HAF Hamburg angemeldet (C++ Programmierung für Windows unter Qt) und habe diesen Dezember 2015 abgeschlossen.

    Ich bin etwas irritiert, dass sowas als Studiengang bezeichnet wird.

    geht mir auch so. Gestern meinte einer, man kann (wenn man 8000 Euro hinlegt) den Bachelor in einem Jahr machen, bei dem hier genannten "Studiengang" lernt man überhaupt nur C++ und Qt!?

    Bei vielen Open Source Projekten ist die Qualität sehr durchwachsen, auch bei großen und bekannten. Da muss man als Anfänger vorsichtig sein, weil man das schlecht einschätzen kann. Außerdem ist der Einstieg zumindest in anspruchsvollere Projekte oft überhaupt nicht leicht.

    nochmal 100% Zustimmung: auch ich finde, dass Open Source Projekte oft nicht das gelbe vom Ei sind. Und meist bleiben dort eh nur irgendwelche faden Bugfixes über die sonst keiner machen will.

    @Turro: schau dass du privat ein oder zwei halbwegs herzeigbare Projekte erstellst. Zu Themen, die dich interessieren. Die kannst du dann immer noch auf github online stellen und ggf. als Referenz herzeigen.
    Habt ihr dort nur programmieren gelernt? Oder auch ein bisschen Theorie dazu, Algorithmen (einfache Such/Sortieralgorithmen selbst implementiert, Laufzeitabschätzung) und Datenstrukturen (Liste, Baum, Hashtabelle, ...)?



  • Mechanics schrieb:

    Turro schrieb:

    Im Mai 2014 hab ich mich für ein Fernstudiengang an der HAF Hamburg angemeldet (C++ Programmierung für Windows unter Qt) und habe diesen Dezember 2015 abgeschlossen.

    Ich bin etwas irritiert, dass sowas als Studiengang bezeichnet wird.

    Das ist kein Bachelor-Studium, sondern nur ein Kurs.

    c++ progger schrieb:

    Bei vielen Open Source Projekten ist die Qualität sehr durchwachsen, auch bei großen und bekannten. Da muss man als Anfänger vorsichtig sein, weil man das schlecht einschätzen kann. Außerdem ist der Einstieg zumindest in anspruchsvollere Projekte oft überhaupt nicht leicht.

    nochmal 100% Zustimmung: auch ich finde, dass Open Source Projekte oft nicht das gelbe vom Ei sind. Und meist bleiben dort eh nur irgendwelche faden Bugfixes über die sonst keiner machen will.

    Ich habe noch keine Firma gesehen, die so qualitativ arbeitet, wie man das gelernt hat. Was man im Studium nie lernt, ist dass eine Firma nicht das Ziel hat, tollen Quelltext zu produzieren, sondern ein tolles Produkt. Die Qualität der Quelltexte ist den meisten Firmen dabei egal.
    Ein Kollege, der wirklich nett programmieren kann, hat die Firma verlassen, weil er sich nicht mit der Realität abfinden konnte: Die Realität ist nunmal nicht, dass man nur moderne, leicht wartbare Quelltexte vorliegen hat, sondern dass man Probleme lösen muss, die man damals nicht berücksichtigt hat.
    Wir haben C++, C, C#, Python und Fortran 77 und backen daraus ein paar hundert DLLs und ein Executable. Das sind 25 Jahre Quelltext.
    Man stochert also immer wieder in alten Kram, der scheiße programmiert ist und man macht Bugfixes, die keiner machen will.
    Auch das gehört zum Programmieralltag.
    Wer nicht alle drei Monate bei Null beginnt, wird immer Design-Debts mit sich mitschleppen.

    Bei meinen privaten Projekte achte ich sehr auf Quelltext-Qualität. Ich habe Phasen, wo ich entwickle und ebenfalls Phasen, wo ich nur aufräume.
    Und trotzdem bin ich nicht zufrieden. Es sind lebendige Quellcodes und wenn man nicht gerade ein Lehrbuch schreibt, gibt es keine sauberen Quelltexte und damit muss man klarkommen.

    c++ progger schrieb:

    @Turro: schau dass du privat ein oder zwei halbwegs herzeigbare Projekte erstellst. Zu Themen, die dich interessieren. Die kannst du dann immer noch auf github online stellen und ggf. als Referenz herzeigen.

    Ein halbwegs herzeigbares Projekt nimmt schnell ein Jahr ein. Insbesondere, wenn man noch über keine Erfahrung verfügt. Gerade am Anfang wird man so vorangig Zeit verschwenden, um elementare Dinge zu lernen, die man sich in anderen Projekten einfach mitnehmen könnte.

    Bei dem Weg wäre interessanter, dass er Quellcodes auf Github hochladen kann, als was er hochgeladen hat.





  • Xin schrieb:

    Ich habe noch keine Firma gesehen, die so qualitativ arbeitet, wie man das gelernt hat. Was man im Studium nie lernt, ist dass eine Firma nicht das Ziel hat, tollen Quelltext zu produzieren, sondern ein tolles Produkt. Die Qualität der Quelltexte ist den meisten Firmen dabei egal.

    Darauf wollte ich auch nicht hinaus. Ich arbeite auch an einer riesigen, in über 20 Jahren gewachsenen Codebasis und bin damit völlig zufrieden. Weil es umfangreich, komplex und anspruchsvoll ist.
    Sehr vieles ist natürlich sehr unsauber programmiert und man kommt auch überhaupt nicht einfach rein, ich hab etwa ein Jahr gebraucht. Und ich würde sowas auch nicht als ein gutes Einstiegsprojekt für einen Neuling empfehlen.
    Trotzdem muss man bei Open Source Projekten eben aufpassen, ich hab schon sehr viel grauenhaften Code gesehen. Und man kann das nicht unterscheiden, ohne sich auszukennen. Und es gibt mit hoher Wahrscheinlichkeit niemanden, der einem hilft, in das Projekt einzusteigen.
    Ich will damit auch nicht sagen, dass ich von Open Source Projekten (für Neulinge oder nicht) abraten würde. Ich will nur davor warnen, alles was man in so einem Projekt findet, automatisch als guten Code oder guten Stil einzuschätzen, nur weil man das in einem erfolgreichen Projekt gesehen hat.



  • Xin schrieb:

    Ein Kollege, der wirklich nett programmieren kann, hat die Firma verlassen, weil er sich nicht mit der Realität abfinden konnte: Die Realität ist nunmal nicht, dass man nur moderne, leicht wartbare Quelltexte vorliegen hat, sondern dass man Probleme lösen muss, die man damals nicht berücksichtigt hat.
    Wir haben C++, C, C#, Python und Fortran 77 und backen daraus ein paar hundert DLLs und ein Executable. Das sind 25 Jahre Quelltext.
    Man stochert also immer wieder in alten Kram, der scheiße programmiert ist und man macht Bugfixes, die keiner machen will.
    Auch das gehört zum Programmieralltag.

    Ha, der Kollege koennte ich (bald) sein 😃
    Wobei der Punkt ja gar nicht ist, dass der Code nicht gut ist, sondern das es auch niemand besser machen will. Das alter Code immer schlecht ist - geschenkt. Nur sollte man daraus auch lernen wie man es besser macht und sukzessive die Qualitaet steigern. Stattdessen werden aber gern die gleichen Fehler immer wieder gemacht.
    Die Begruendung, dass Firmen Produkte verkaufen und keinen schoenen Quellcode ist so alt und falsch wie die Softwareentwicklung. Denn eine schlechte Code Basis enthaelt per Definition mehr Fehler, ist schlechter aenderbar und schwieriger zu erlernen - und mindert damit die Produktqualitaet und erhoeht die Kosten.



  • maximAL schrieb:

    Xin schrieb:

    Ein Kollege, der wirklich nett programmieren kann, hat die Firma verlassen, weil er sich nicht mit der Realität abfinden konnte: Die Realität ist nunmal nicht, dass man nur moderne, leicht wartbare Quelltexte vorliegen hat, sondern dass man Probleme lösen muss, die man damals nicht berücksichtigt hat.

    Ha, der Kollege koennte ich (bald) sein 😃
    Wobei der Punkt ja gar nicht ist, dass der Code nicht gut ist, sondern das es auch niemand besser machen will. Das alter Code immer schlecht ist - geschenkt. Nur sollte man daraus auch lernen wie man es besser macht und sukzessive die Qualitaet steigern. Stattdessen werden aber gern die gleichen Fehler immer wieder gemacht.

    Och, habe ich alles schon versucht.
    Aber man muss auch die Erlaubnis und die Möglichkeit dazu haben.

    maximAL schrieb:

    Die Begruendung, dass Firmen Produkte verkaufen und keinen schoenen Quellcode ist so alt und falsch wie die Softwareentwicklung. Denn eine schlechte Code Basis enthaelt per Definition mehr Fehler, ist schlechter aenderbar und schwieriger zu erlernen - und mindert damit die Produktqualitaet und erhoeht die Kosten.

    Alles richtig, alles bekannt.
    Wenn schlechter Code aber reichlich vorhanden ist, muss man damit klarkommen. Man kann sich nicht einfach 2 bis 5 Jahre aus dem Markt verabschieden und sagen, wir räumen dann mal auf. Das muss man wollen. Planen. Habe ich gemacht, war aber nicht gewollt.

    Und das ist ja auch vollkommen legitim. Auch wenn die Weiterentwicklung teurer ist, so nimmt man in der Zwischenzeit ja auch Geld ein. Am schönen Quelltext sind vorranig wir interessiert. Zwei Etagen höher stellt sich die Frage, was unter'm Strich rauskommt.
    Vermutlich käme in 5 Jahren mehr raus. Aber erstmal ist das laufende Geschäftsjahr wichtig.
    Und was in 10 Jahren ist, weiß auch keiner. Vielleicht lohnt sich der Aufwand ja gar nicht. Was wenn wir alles aufräumen und dann feststellen, dass wir in die falsche Richtung geräumt haben, weil die Kunden plötzlich was ganz anderes wollen? Dann steht man da und muss wieder alles umräumen. Dann kann man doch eigentlich alles so lassen, wie es ist.

    Das ist ein legitimer Standpunkt. Macht die Code-Basis aber halt nicht besser. Dafür muss man aber auch nicht jede halbe Stunde begründen, die man für's Debuggen mehr gebraucht hat. Oder wenn jemand sich zwei Wochen komplett abmeldet, um irgendeinen Hard-Core-Fehler zu fixen.
    Aktuell bin ich damit beschäftigt, das Produkt für 64-Bit-Maschinen zu kompilieren. Klingt erstmal lächerlich. Aber Pointer auf longs zu speichern ist hier durchaus unüblich. Warum? Weil in Fortran77 Pointer ja auch nur 4-Byte-Ints sind und 4-Byte-Ints sind in C nunmal longs... ist doch logisch, dass man dann longs nimmt, oder? 😉
    Gleichzeitig rüste ich die Quellen noch auf einen neuen C++-Compiler um.
    Nichts für zarte Nerven. ^^

    So hat jeder seine Idee, wie man Programme effizient entwicklet. Irgendeiner sagt, welche Idee er besonders gut findet und der Restbekommt monatlich etwas Schmerzensgeld überwiesen. 😉
    Ich schätze jedenfalls, dass mir die Arbeit dieses Jahr nicht ausgehen wird. 😃



  • Xin schrieb:

    Wenn schlechter Code aber reichlich vorhanden ist, muss man damit klarkommen. Man kann sich nicht einfach 2 bis 5 Jahre aus dem Markt verabschieden und sagen, wir räumen dann mal auf. Das muss man wollen. Planen. Habe ich gemacht, war aber nicht gewollt.

    Deswegen: Pfadfinderregel. Code immer etwas sauberer hinterlassen als man ihn vorgefunden hat. Wenn ich an einem Stueck Code irgendwas aendern muss, dann raeume ich so ganz nebenbei gleich noch ein bisschen auf.



  • Mechanics schrieb:

    Ich bin etwas irritiert, dass sowas als Studiengang bezeichnet wird.
    Was kann man sich drunter vorstellen, was habt ihr gelernt, wie hat der Lehrplan ausgeschaut?

    Bei vielen Open Source Projekten ist die Qualität sehr durchwachsen, auch bei großen und bekannten. Da muss man als Anfänger vorsichtig sein, weil man das schlecht einschätzen kann. Außerdem ist der Einstieg zumindest in anspruchsvollere Projekte oft überhaupt nicht leicht.

    Ich denke Abendschule wäre ein besserer Begriff, als Studiengang. Aber ich habe mich nicht getraut ein Studium anzufangen.

    Lehrgangsinhalt war:

    - Datentypen, Operatoren, Kontrollstrukturen
    - Objektorientierte Programmierung
    - Klassen, Instanzen, Vererbung, Mehrfachvererbung, Polymorphie
    - Ausnahmebehandlung
    - Funktionstemplate, Klassentemplate,
    - STL, Umgang mit verschiedenen Containern
    - Datenbackerstellung sowie -zugriff
    - Arbeiten mit Dateien
    - etc.

    c++ progger schrieb:

    @Turro: schau dass du privat ein oder zwei halbwegs herzeigbare Projekte erstellst. Zu Themen, die dich interessieren. Die kannst du dann immer noch auf github online stellen und ggf. als Referenz herzeigen.

    Das würde ich sehr gerne machen, aber mir fällt nichts ein, außer App! Hättet ihr noch eine Idee was man als Projekt machen könnte?


Anmelden zum Antworten