Neuorientierung



  • Hallo zusammen,

    kurz zu meiner Person, ich bin gelernter Industriekaufmann, 35 Jahre alt. 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.

    Seit dem versuche ich mir immer wieder neues beizubringen, indem ich Bücher lese, kleine Programme schreibe (kleine Ratespiele, diverse Anwendungen, auch mit Datenbanken) und den Umgang mir UML Programmen lerne.

    Quereinstieg ist möglich, das konnte man aus diversen Beiträgen hier im Forum und dem Internet auslesen. Ich habe aber ein Problem mich selbst einzuschätzen ob das gelernte Wissen für ein Berufseinstieg ausreichend ist, da ich bisher noch nie an einem großen Projekt mitgewirkt habe! Wie werden solche Fernstudiengänge von den Arbeitgebern betrachtet?

    Wenn jemand eine Idee hat wie man sein Wissen testen kann, oder einem Neuling eine Chance in einem Projekt gibt, wäre ich im sehr dankbar.



  • Turro schrieb:

    Seit dem versuche ich mir immer wieder neues beizubringen, indem ich Bücher lese, kleine Programme schreibe (kleine Ratespiele, diverse Anwendungen, auch mit Datenbanken) und den Umgang mir UML Programmen lerne.

    Mit UML wäre ich vorsichtig... UML erachte ich (subjektive Meinung) vorrangig als Show. Gut zu wissen, aber im Alltag offenbar in Unternehmen im Einsatz, die groß genug sind, auch die Show mitmachen.

    Im Alltag habe ich (daher subjektiv) noch kein UML gesehen.

    Turro schrieb:

    Wie werden solche Fernstudiengänge von den Arbeitgebern betrachtet?

    Das kommt drauf an, aus welcher Perspektive Du Dich bewirbst.
    Und mit welcher Gehaltsvorstellung. Du kannst einen Informatiker verdrängen, weil Du billiger bist. Oder der Arbeitgeber sagt sich 'Für das Geld bekomme ich auch einen studierten Informatiker'.

    Wenn Du damit gutes Geld verdienen willst, brauchst Du nachgewiesene Erfahrung.
    Also fängt man erstmal klein an und arbeitet/bewirbt sich hoch.

    Turro schrieb:

    Wenn jemand eine Idee hat wie man sein Wissen testen kann, oder einem Neuling eine Chance in einem Projekt gibt, wäre ich im sehr dankbar.

    Projekte gibt es wie Sand am Meer. Es gibt reihenweise OpenSource-Projekte, wo man Quellcode lesen kann und sich beteiligen kann und was man entsprechend so auch in seine Bewerbung reinschreiben kann.

    Auch ist es möglich ein Praktikum zu machen, einfach damit man ein Schriftstück erhält auf dem ein Firmen-Briefkopf enthalten ist.
    Ansonsten ist das eher eine Frage des Könnens bzw. Deiner persönlichen Situation. Oder welche Form von Projekt Du suchst: Kurz, wieviel Zeit willst Du investieren und welche Art von Projekt soll es sein.
    Ich gehe mal davon aus, dass Du ja auch irgendwo Geld verdienen musst.

    Von daher wäre halt die Strategie erstmal einen weniger toll bezahlten Job zu machen, um für das Sammeln von nachweisbarer Erfahrung entsprechend Geld zu erhalten wohl die Strategie. Nebenher kannst Du Dich in fremden Projekten beweisen.



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


Log in to reply