Was sind die Nachteile eines Open Source-Projekts, wenn man kein erfahrener Programmierer ist? [geschlossen]

12

Ich habe viele Ideen für Produkte, die gebaut werden sollen. Das Problem ist, dass ich weniger als ein Jahr Berufserfahrung habe und Angst habe, in Zukunft negativ beurteilt zu werden, basierend auf dem, was ich jetzt produziere. Ich habe keine Ahnung, ob mein Code gut ist.

Ich bin mit keinem der Codierungsmuster vertraut. Ich weiß nur, dass Produkte funktionieren. Ich möchte ein öffentliches Profil in Github für meine zukünftigen Projekte haben und ich werde mich bemühen, sicherzustellen, dass es gut kommentiert, optimiert und sauber ist.

Dies sind die Dinge, die ich fürchte, öffentlich ausgesetzt zu werden:

  1. Mein Code ist möglicherweise nicht sehr optimiert.
  2. Falsche Verwendung bestimmter Bibliotheken oder Funktionen, die den Job zufällig erledigen.
  3. Sie kennen kein Codierungsmuster oder folgen diesem nicht.
  4. Viele Bugs / Ecken, Kanten Fälle nicht berücksichtigt
  5. Grundlegender Mangel an Verständnis und Anwendung bestimmter Konzepte wie Threadsicherheit, Nebenläufigkeitsprobleme bei der Multithread-Programmierung usw.

Soll ich weitermachen und loslegen oder weiterhin lokal und privat bauen, bis ich mehr Erfahrung habe? Ich möchte nicht, dass die hier gemachten Fehler langfristig meine Karrierechancen beeinträchtigen.

Endrendum
quelle
4
Ich verstehe, woher du kommst. Wenn Sie Ihre Projekte der Welt zeigen, zeigen Sie effektiv einen Teil von sich selbst. Bedenken Sie jedoch, dass praktisch jeder Code auf dem Planeten Fehler enthält, es sei denn, sie haben betrogen, indem sie ihn formal überprüft haben. Sie haben viel mehr zu gewinnen als zu verlieren. Wenn ein potenzieller Arbeitgeber feststellt, dass Sie in einem Ihrer Projekte einen Fehler begangen haben, als Sie noch relativ unerfahren waren, denken sie, großartig, und ich und alle anderen hier auch. Das wahrscheinlichere Szenario ist, dass sie keine Zeit haben, alles durchzusehen, was Sie jemals geschrieben haben.
Dan_waterworth
1
Aus meiner Sicht ist die formelle Überprüfung eines Programms kein "Betrug".
4
All I know is to build products that work.- Das ist eine sehr gute Sache. Es ist leicht, sich zu sehr in Muster und Design zu
verstricken
Ich sage Scheiße, was andere Leute sagen, und habe keine Angst. Wenn Sie etwas Positives tun möchten und glauben, dass Sie selbst oder andere von Ihrer Arbeit profitieren können, dann tun Sie es einfach. (Nike Plug)
Snake

Antworten:

32

Nach 30 Jahren professioneller Softwareentwicklung erstelle ich immer noch Fehler. Ich finde immer noch Muster, die ich nicht kenne. Ich lerne immer noch von meinen Kollegen und begegne Dingen, die ich nicht jeden Tag kenne.

Die erfahrensten Entwickler werden Sie danach beurteilen, wie Sie auf Probleme und Kritik reagieren, ob Sie aus Ihren Fehlern lernen und Ihr Produkt verbessern, um die Bedürfnisse der Benutzer oder der Community zu erfüllen, ob Sie zugeben, was Sie nicht wissen und verbessern möchten.

Eine der besten Fähigkeiten für einen Entwickler ist die Bereitschaft, die blöden Fragen zu stellen und manchmal etwas dumm auszusehen, um so schnell wie möglich gute Antworten zu finden.

Jeder, der erfahren und sehr kompetent ist, war einmal dort, wo Sie jetzt sind. Sie werden viel schneller lernen, wenn Sie Ihre Arbeit dort ausführen und mit anderen Menschen zusammenarbeiten.

Es gibt keinen Grund zu warten. Öffnen Sie Ihr Projekt.

Besser noch, trage zu anderen offenen Projekten bei und lerne von ihnen.

joshp
quelle
+1. Übrigens frage ich mich, warum ich in Ihrem zweiten Absatz über das PHP-Entwicklungsteam nachdenke.
Arseni Mourzenko
+1 Zu verstehen und zu respektieren, dass jeder etwas falsch machen kann, ist eine der wichtigsten Eigenschaften eines Teammitglieds.
Jgauffin
6

Ich denke du machst dir zu viele Sorgen.

Die OS-Community ist mehr besorgt darüber, wie nützlich eine bestimmte App ist als wie gut sie geschrieben ist. Wenn es schlecht geschrieben ist, greift die Community ein und hilft, die Fehler zu korrigieren. Interessanter ist, wie gut die Anwendung Probleme löst, mit denen Menschen zu kämpfen haben. Wenn die Anwendung / das Projekt eine elegante Lösung für ein störendes Problem bietet, wird die Qualität des Codes zu einem strittigen Punkt.

Stell es da raus, schau was passiert. Sie werden nicht wissen, wie gut / wie schlecht Ihr Code ist, bis andere darauf schauen und anfangen, damit herumzuspielen. ALLER Code hat Fehler. Interessanter ist, wie schnell der Autor an der Behebung dieser Fehler arbeitet.

Betrachten Sie es als Lernübung. Sie werden nicht herausfinden, was Sie nicht wissen, bis Sie ein wenig den Hals rausstrecken und Kritik üben. Hoffentlich kann der größte Teil der Kritik konstruktiv werden. Angesichts der Tatsache, dass Sie in erster Linie danach fragen, ist es mir recht angenehm zu sagen, dass Sie mindestens einen durchschnittlichen oder besseren Qualitätscode haben.


quelle
5

Wir finden Leute mit hohen Kenntnissen im Open Source Bereich. Das ist wahr und auch einschüchternd für Neuankömmlinge. Sie leisten aber auch sehr gute Hilfe für gute Projekte, auch wenn der Hauptentwickler nicht die tatsächlichen Anforderungen an die Software widerspiegelt, um eine hohe Qualität zu erreichen.

Sie kennen bereits Ihre Grenzen. Das ist kein schlechter Start. Das ist ein guter Anfang.

Treten Sie ein und finden Sie dort Ihren Platz.

Viel Glück!

rdconsolo
quelle