OpenSource Projekte als Praxiserfahrung?

  • Hallo zusammen,

    ich habe in meiner Ausbildung mittlerweile etwas mehr als die hälfte der Zeit vollendet und mache mir langsam aber sicher gedanken um meine Zukunft. Da ich wusste, dass im Normalfall keine Übernahmechancen existieren will ich später möglichst gut vorbereitet sein und habe mir mal so die Anforderungen für Anwendungsentwickler angeschaut. Klar bei der großen Sprachenvielfalt gibt es natürlich auch viele verschiedene Profile die gesucht werden. Häufig ist selbstverständlich Berufs-/Praxiserfahrung gefordert. Nun habe ich überlegt, vll. mal ein eigenes OpenSource Projekt zu starten vll. auch in Bereichen die ich in meiner Ausbildung vll. nicht lernen werde (bezogen auf die Programmiersprachen) um mir vll. einen Vorteil anderer Ausbildungs-Absolventen zu verschaffen.

    Ich habe zwar nur selten gelesen, dass ein aktiver Github Account o.a. ein Vorteil sein kann, jedoch frage ich mich jetzt ob ein eigenes OpenSource Projekt vielleicht nicht noch attraktiver sein könnte. Alternativ an einigen aktiv mitarbeiten. Dazu wollte ich mir hier mal gerne eure Meinungen einholen. Mir wäre es sehr lieb, wenn einige von euch die hier Antworten mögen dazu schreiben könnten ob sie vll. sogar beruflich Anwendungsentwickler sind.

    Sollte ein eigenes OpenSource Projekt eine bessere Entscheidung sein als nur andere zu supporten, muss ich mich mal mit der Frage "Was für ein projekt mag ich denn machen?" beschäftigen. Meine absolute Hassfrage. Jedenfalls würde ich wahrscheinlich zu den C Sprachen greifen wollen, oder was relativ neues denke ich. Ich möchte mir gerne Sprachen aussuchen, die erstens mir Spaß am arbeiten bereiten und zweitens "zukunftssicher" sind, damit meine ich dass ich auf dem Jobmarkt auch fündig werden kann in mehr als einem Unternehmen pro Bundesland :P

    Soweit schon mal ein Danek Danke an alle die ihre Meinung dazu abgeben :)

    Grüße Yaerox

    Grüne Hölle

    2 Mal editiert, zuletzt von Yaerox (31. März 2014 um 14:31)

    • Offizieller Beitrag

    Mal als Gedanke:
    Fast alle Anwendungen sind mit Datenbanken verknüpft. Erstelle als Musterprojekt z.B. eine Warenwirtschaft (Artikel/Kunden/Rechnungen etc.) auf Basis von SQLite. Das ist anspruchsvoll, sinnvoll und bildet deine Fähigkeiten gut ab. Mit solch einer Mustersoftware im Gepäck kann man sich sicher sehen lassen.

  • Nagut, sowas wäre natürlich auch eine Möglichkeit, aber habe ich irgendwie das Gefühl mit sowas würde ich mich lächerlich machen. Ich habe auch noch einige Schulprojekte hier die ich mal gemacht habe, das letzte z.B. ist eine Schulbibliothek mit PHP, jQuery, CSS, MySQL (Prozeduren, Triggern, Funktionen und Events) und selbst da denke ich dass sollte doch alles basic sein ^^

    Grüße Yaerox

    Grüne Hölle

  • Zitat

    und selbst da denke ich dass sollte doch alles basic sein


    ich kenne genug Leute, die damit angeben sie hätten eine suertolle, mit Jquery Effekt Gedöns vollgestopfte Webseite erstellt und wären deshalb Pros. Alles nur heisse Luft. Hinterher ist dann doch alles nur kopierter Murks aus dem Web. Wenn es dir peinlich ist, jemandem zu zeigen das du die "basics" beherschst, dann wirst du ihn auch schlecht davon überzeugen können, das du auch noch einiges mehr kannst. :)

  • Wenn es dir peinlich ist, jemandem zu zeigen das du die "basics" beherschst, dann wirst du ihn auch schlecht davon überzeugen können, das du auch noch einiges mehr kannst. :)

    Ich denke das könnte mein größtes Problem werden. Ich bin jemand der versucht alles auf einem so hohen level zu lösen das es oftmals über das Ziel hinaus geht, oder für mich ganz einfach eine Nummer zu groß ist. Aber ich habe irgendwie hohe Ansprüche an mich selbst, wo ich mal hin möchte und daher werde ich dann dort mal schauen müssen. Ich habe jetzt eine Idee einer Art Portfolio zu verscheidenen Themen mit beispielprojekten etc. Ich denke da werde ich jetzt mal anknüpfen :)

    Die Themen werden alles Themen in verscheidenen Sprachen die ich in meiner Schulzeit, über die Ausbildung bis hin zu meiner Freizeit mal bearbeitet habe. Damit wäre dann (COMAL, PASCAL,) C (hier hab ich auch n Uni-Zertifikat), C++ (inkl. OOP), C#, Perl (inkl. OOP), Python (inkl. OOP), PHP (inkl. OOP), HTML, CSS, SQL, PL/SQL (hier folgt ein Uni-Zertifikat ende des Jahres) in verscheidenen Bereichen wie Datenbanken/Webentwicklung/Skripte abgedeckt hoffe ich ^^

    #Edit: Hab ich glatt AutoIt vergessen :wacko:

    Grüße Yaerox

    Grüne Hölle

    3 Mal editiert, zuletzt von Yaerox (31. März 2014 um 15:19)

  • Mit einem eigenen Projekt zeigst du, was du alles kannst, da du wahrscheinlich alleine entwickeln wirst.
    Wenn du bei einem großen Projekt mitarbeitest, sammelst du Erfahrung mit Teamarbeit, Build-, Test- und Dokumentationssystemen. Ich kann mir vorstellen, dass die Zeile "Ich habe mich an der Entwicklung von ??? beteiligt und daher Erfahrung mit Teamarbeit und üblichen Entwicklungstools" wesentlich nützlicher ist als, "Ich habe ein von mir entwickeltes Beispielprogramm angehängt".

    Außerdem: Anwendungsentwicklung, aber kein Java? Lern das doch einfach mal schnell. Es ist für kleine Anwendungen (gerade im Mobilbereich) is Java die wohl wichtigste Sprache und wenn du schon C# beherrschst, ist der Rest ein Klacks.

    • Offizieller Beitrag

    Das Problem in der Jugend ist einfach, dass du noch keinen Bezug zur Anwenderwelt hast.
    Ich schreibe Software, die die Dinge macht, an die natürlich kein Entwickler der kommerziellen Software geadacht hat. Und eine funktionierende! Warenwirtschaftssoftware hat mit Basics recht wenig zu tun. Das ist schon eher high end.
    Es ist auch völlig unerheblich, ob ich Probleme mit atemberaubend verzwickten Algorithmen löse oder einen zuverlässigen simplen Weg wähle. Es zählt einzig das Ergebnis. Ich würde bei Betrachten von Lösungen auch als vorteilhaft empfinden, wenn der Proband in der Lage ist Dinge "einfach" zu lösen. ;)

  • Ich kann mir vorstellen, dass die Zeile "Ich habe mich an der Entwicklung von ??? beteiligt und daher Erfahrung mit Teamarbeit und üblichen Entwicklungstools" wesentlich nützlicher ist als, "Ich habe ein von mir entwickeltes Beispielprogramm angehängt".


    Da stimme ich dir zu.

    Außerdem: Anwendungsentwicklung, aber kein Java? Lern das doch einfach mal schnell. Es ist für kleine Anwendungen (gerade im Mobilbereich) is Java die wohl wichtigste Sprache und wenn du schon C# beherrschst, ist der Rest ein Klacks.


    Ich hab mir irgendwann mal überlegt C# oder Java und da lag es bei C# daher hätte ich kein problem mit Java anzufangen, also so ist es nicht. Wieso ich es bisher nicht gebraucht habe ist der Grund dass ich auf der Arbeit die meiste Zeit mit Skriptsprachen arbeite und bisher Programme in diversen Größenordnungen mit Perl realisiert habe. Ich werde auf der Arbeit niemals in den Genuss von C#, Java etc. kommen, da dies hier einfach nicht genutzt wird :)

    Das Problem in der Jugend ist einfach, dass du noch keinen Bezug zur Anwenderwelt hast.


    Was heißt keinen Bezug zur Anwenderwelt? Ich möchte gerne mal in einem Bereich arbeiten, der mir Spaß macht, der eine sichere Zukunft bietet und möglichst gefragt aber nicht Standard ist.
    Beispiel Webentwicklung. Finde ich toll, aber gibt es wie Sand am Meer.
    Maschinensprachen oder sowas wie COMAL und PASCAL gibt es auch noch, aber das ist für mich einfach nichts wo ich denke ich eine gesicherte Zukunft darin sehe.
    C z.B. ist und wird immer die Mutter aller Sprachen bleiben denke ich, somit wäre das für mich eine alternative, auch wenn ich es derzeit versuche zu vermeiden, mag dieses alles zu fuß machen zu müssen nicht.
    Und dann gibt es ja noch diese "neuen/modernen" Sprachen wie C#, Java, und was da sonst noch so aus dem Hause Microsoft in Verbindung mit .NET und sowas alles gibt.

    #Edit: Was noch ein großes Problem ist, da ich auf der Arbeit teilweise auch große Projekte alleine Plane, realisiere und betreue habe ich zu Hause nach Feierabend nicht immer Lust weiter zu proggen. Daher ist das was ich auf der Arbeit mache, aber aus Datenschutztechnischen Gründen sowie Vertragsbedingungen nie wem anders zeigen werde weil es nicht gestattet ist, von der Komplexität und dem Wissen faktoren größer als die Dinge die ich bisher in der Freizeit realisiert habe, oder in der Schule realisieren musste.

    Grüße Yaerox

    Grüne Hölle

    Einmal editiert, zuletzt von Yaerox (31. März 2014 um 16:22)

  • Das Problem in der Jugend ist einfach, dass du noch keinen Bezug zur Anwenderwelt hast.
    ...
    Und eine funktionierende! Warenwirtschaftssoftware hat mit Basics recht wenig zu tun. Das ist schon eher high end.


    Eine funktionierende (!) Warenwirtschaftssoftware ist absolut high end.
    Ohne Bezug zur Anwenderwelt ist das aber quasi unmöglich.
    Ich habe beruflich viel mit Warenwirtschaftssystemen zu tun und weiss ungefähr (naja) worauf es ankommt.
    Das ist kein Projekt für einen Einzelperson.

    Als Praxiserfahrung würde ich eher empfehlen nur einen Teil des Warenwirtschaftssystems herauszunehmen und den sauber ausarbeiten.
    z.B. eine Software zur reinen Rechnungsschreibung mit Stammdatenverwaltung, Import der Gegenstandswerte, Export für die Buchführung
    Hört sich einfach an, ist aber schon sehr viel Arbeit!
    z.B. müsstest du dich im ersten Schritt mal schlau machen welche gesetzlichen Vorschriften es für Rechnungen gibt.

  • nuts
    ... Oder du überlässt das alles dem Anwender.
    Du bist nur der Programmierer. Der Inhalt kann dir egal sein.
    Das ist genau so, wie wenn das Wordpress-Team sich um jegliche Copyright-Hinweise auf allen Wordpress-Systemen weltweit kümmern müsste. Solche Sachen sollte man in die Hände der Benutzer legen, finde ich.

    Bei dem konkreten Fall "Rechtliche Vorschriften für Rechnungen" würde ich z.B. eine Art Template-System basteln, wie bei Word-Serienbriefen. Die Firma kann (in Absprache mit einem Rechtsanwalt, von mir aus) ein Dokument mit Platzhaltern erstellen, das Rechnungs-Programm fügt dann nur die Werte ein. Du ermöglichst dem Nutzer eine höhere Flexibilität und bist gleichzeitig aus'm Schneider. :P

    Gruß