Wie kann ich meine Fortschritte als Junior-Einzelentwickler überprüfen lassen? [Geschlossen]


38

Ich arbeite derzeit für eine 2-Personen-Firma als Hauptentwickler. Mein Chef holt die Kunden, verspottet einige PNG-Designvorlagen und übergibt sie mir.

Dieses System hat gut funktioniert und ich genieße es wirklich.

Die Arten von Projekten, an denen ich arbeite, sind für kleine und mittlere Unternehmen bestimmt und sie möchten normalerweise ein CMS-System. Von Grund auf neu entwickelt, erstelle ich ein benutzerdefiniertes Backend, mit dem der Kunde Kategorien, Tags, Produkte usw. hinzufügen / bearbeiten / entfernen und diese dann entsprechend der mir übergebenen Entwurfsvorlage an das Frontend ausgeben kann. Mit der Zeit haben die Projekte an Komplexität zugenommen, mit Warenkorb- / Bestellfunktionen und anderen gängigen E-Commerce-Funktionen.

Auch dieses System hat einwandfrei funktioniert und ich genieße es wirklich.

Mein Problem ist meine persönliche Entwicklung als Programmierer. Ich verbringe viel Zeit damit, Programmierblogs zu lesen, durch Stackexchange zu schauen, vorgeschlagene Programmierbücher zu lesen (derzeit bei ' The Pragmatic Programmer ', bisher sehr gut), Gehirnübungen zu machen ( lumosity.com und khanacademy math problems), viel zu tun von körperlicher Bewegung und anderen Aktivitäten zur persönlichen Entwicklung.

Ich kann nicht anders, als das Gefühl zu haben, dass ich Feedback und Kritik verpasse. Mein Chef ist großartig und hält sich in Bezug auf meine Arbeit nie zurück, aber er ist leider entweder zu beschäftigt, um meinen Code zu überprüfen, oder um ehrlich zu sein, ich denke nicht, dass es eine seiner Spezialitäten ist, und kann daher kein Feedback geben .

Ich möchte wissen, was ich falsch mache und was ich richtig mache. Soll ich so viel Logik in den Controller einbauen, moduliere ich meinen Code genug usw.

Also habe ich eine kleine App für das Familienbudget entwickelt und versucht, dies so sauber und effektiv zu tun, wie ich es derzeit weiß.

Was ich wissen möchte ist, gibt es irgendwo, wo ich diese App einreichen kann, und einige erfahrene Entwickler geben Feedback. Es ist nicht nur ein Teil meines Codes wie "codereview.stackexchange", der anscheinend erforderlich ist, sondern mein gesamter Workflow, den ich kritisieren möchte.

Ich weiß, das ist eine Menge zu fragen, und ich gehe davon aus, dass der wichtigste Ratschlag darin besteht, einen Job in einem Team zu suchen, worauf ich später noch näher eingehen werde, aber ich möchte vorerst an meiner derzeitigen Situation festhalten Beschäftigungssituation, aber wollen einfach nicht zu viele schlechte Gewohnheiten entwickeln.

Lassen Sie mich wissen, ob ich weitere Informationen zur Klärung bereitstellen kann oder ob dies nicht der richtige Ort für diese Art von Fragen ist, für die ich mich im Voraus entschuldige. Wollte nicht reddit verwenden, da ich der Meinung war, dass diese Community durchdachte Reaktionen fördert.


3
Als früher nicht allzu langer Nachwuchsentwickler finde ich es eine schlechte Idee, einen Nachwuchsentwickler so herumtollen zu lassen. Ganz zu schweigen von einem PNG-Modell, das Ihnen kaum die Informationen liefert, die Sie zum Schreiben eines effektiven CMS benötigen. Und warum sollten Sie ständig CMSs schreiben, wenn die Selbstkonfiguration nicht so effektiv ist, wie es ein Einzelentwickler für einen Client, einschließlich Micro-CMSs, in einer angemessenen Zeit schreiben könnte?
Rig

2
Nun, anfangs hatte er ein eigenes CMS im Haus, das in Coldfusion gebaut worden war. Ich habe die Sprache durch Ausprobieren gelernt und wir haben einige Projekte damit abgeschlossen. Mit der Zeit, obwohl ich ihn überzeugt habe, wäre es eine gute Idee, auf PHP umzusteigen, da ich mehr Erfahrung damit habe und mich auf eine größere Community verlassen kann (da ich keine Vorgesetzten habe, die ich stark auf Google verlasse). Seitdem baue ich schrittweise ein wiederverwendbares modulares CMS in ciBonfire auf. Es kommt sehr gut voran, das Katalogisierungssystem ist ziemlich vollständig. Das Problem ist, ich lerne gerade, wir müssen Kunden zufrieden stellen.
Hoppipolla

2
@OliverHyde "Das Problem ist, dass ich lerne, während ich gehe. Wir haben Kunden, denen es gefällt." Dies wird auch anderswo nicht anders sein.

Antworten:


21

Sie sind auf dem richtigen Weg, um Ihre Fähigkeiten zu verbessern, und es ist verständlich, dass Sie sich nicht sicher sind, ob Ihr Code zuverlässig und betriebsbereit ist.

Dies ist ein normaler Prozess, den ein Junior-Entwickler durchlaufen muss, und Ihr Interesse an Verbesserungen ist sehr wichtig, da dies der Schlüssel ist, um eines Tages ein Rockstar-Entwickler zu werden.

Als Referenz für das Erlernen von Best Practices würde ich empfehlen, an Open-Source-Projekten teilzunehmen, die für passionierte / neugierige Programmierer kostenlos gehostet werden. Sie würden Ihnen wirklich helfen, zu verstehen, wie Sie Best Practices anwenden und wie Sie sich für das Anwendungsdesign entscheiden. Versuchen Sie außerdem, sich an der Open-Source-Projektentwicklung zu beteiligen, da dies Ihr Selbstlernen und Ihre Verbesserung erheblich fördert.

Ich würde auch empfehlen, an lokalen Community-Veranstaltungen für Software-Entwickler teilzunehmen. Einige dieser Gruppen finden Sie unter communitymegaphone.com . Sprechen Sie mit lokalen Buddy-Programmierern, es sind meistens gute Leute, denen es nichts ausmacht, einem Kollegen zu helfen.


Hmm, vielleicht werde ich mich mit einigen Open-Source-Projekten befassen, nicht sicher, wo ich anfangen soll: / Ich muss etwas recherchieren. In Bezug auf die Community-Events habe ich lokale Meetups besucht, in Neuseeland sind sie seltener als in den Bundesstaaten, aber sie treten auf und sind sehr hilfreich. Danke für die Rückmeldung.
hoppipolla

Lass dich auf jeden Fall auf andere echte Leute ein, die deinen Code betrachten. Dafür gibt es keinen Ersatz.
Jeffreypriebe

Ja, ich räume meine 'persönliche Budget'-App auf und werde sie zur Bewertung einreichen, vielleicht auf redit oder in anderen Community-Foren.
Hoppipolla

9

Wenn Sie mehr Erfahrung sammeln, können Sie auf jeden Fall Ihre vorherigen Projekte / Codes überprüfen, um festzustellen, wo Sie Fehler gemacht haben. Rückblick ist eine schöne Sache. Ich weiß, dass ich mir Code / Dokumentation angesehen habe, den ich vor x geschrieben habe, und festgestellt habe, wo ich einen Fehler gemacht habe und wo ich mich hätte verbessern können.

Die Tatsache, dass Sie Blogs, Bücher, SE usw. lesen, sollte Ihnen einen besseren Einblick in die Programmierung als Teil Ihrer persönlichen Entwicklung geben, und das Ausprobieren und die Entwicklung Ihrer Projekte und Ihres Codes sollten auf jeden Fall ein Beweis dafür sein, dass Sie Verbesserung. Selbstkritik kann eine sehr gute Sache sein.

Das kritische Auge eines anderen Entwicklers bietet jedoch immer einen Mehrwert und kann Meinungen / Optionen liefern, an die Sie vielleicht nicht gedacht haben. Obwohl mir keine bestimmte Website bekannt ist, auf der Sie ein vollständiges Projekt für eine Codeüberprüfung sichern können, können Sie Ausschnitte dessen, was Sie für verdächtig halten, in codereview.stackexchange ablegen, um es zu lesen und zu kommentieren. Nehmen Sie dann dieses Feedback an Bord und wenden Sie es an gegebenenfalls an anderer Stelle.

Alternativ können Sie auch OpenSource-Inhalte schreiben und auf Github (oder einem gleichwertigen Medium) veröffentlichen. Die Open-Source-Community wird Ihre Arbeit mit Sicherheit kritisieren und verbessern, wo sie es für angebracht hält.

Am Ende des Tages, wenn die Produkte, die Sie produzieren, wie beabsichtigt funktionieren, die Geschäftsanforderungen erfüllen und wartbar sind, tun Sie etwas richtig.

Bei konzeptionellen Programmierfragen, Mustern usw. Sie können diese Fragen immer hier auf PSE und bei Problemen mit der Code-Implementierung auf SO posten.


Prost, ich denke, vielleicht werde ich meine Budget-App aufschlüsseln und ein paar Schnipsel auf Codereview posten.
hoppipolla

3

Ich teile meine Meinung, einige Worte der Weisheit und einige Fragen, über die Sie nachdenken können.

Als erfahrener Programmierer habe ich im Laufe der Jahre festgestellt, dass der beste Code derjenige ist, der einfach ist (siehe KISS-Konzept) und von einem anderen Programmierer leichter geändert werden kann.

Lassen Sie außerdem ausreichend Platz, damit der Code nicht überlastet (Atmungsraum) und gleichmäßig strukturiert wird. Verwenden Sie eine bekannte Namenskonvention für Ihre Variablen, geben Sie ihnen verständliche Namen (die ein anderer Programmierer verstehen kann) und schreiben Sie Kommentare, die auf den Punkt kommen, nicht zu viel und nicht zu wenig.

Wenn Sie den obigen Anweisungen folgen, befinden Sie sich bereits auf einem guten Weg.

Da Entwickler so etwas wie Architekten sind, gebe ich Ihnen außerdem ein sehr wichtiges Sprichwort, über das Sie nachdenken sollten.

  1. „Perfektion wird erreicht, nicht wenn nichts mehr hinzuzufügen ist, sondern wenn nichts mehr wegzunehmen ist“ - Antoine de Saint-Exupery.

und

  1. "Das Streben nach Exzellenz motiviert Sie, das Streben nach Perfektion demoralisiert" - Harriet Beryl Braiker.

Jedoch,

  1. "Viele Ereignisse, etwa 80% der Auswirkungen, gehen auf 20% der Ursachen zurück" - Pareto-Prinzip

Ich möchte, dass Sie verstehen, dass Aufwand und Wirkung, Kosten und Qualität in einem ausgewogenen Verhältnis zueinander stehen.

Und die Fragen zum Nachdenken;

  1. Was mache ich in fünf Jahren noch gerne?
  2. Wird die Anstrengung, meine Codierungsfähigkeiten zu verbessern, langfristig meiner beruflichen Laufbahn zugute kommen?

1

Möglicherweise möchten Sie https://codereview.stackexchange.com/ auschecken.

Dies ist ein großartiger Ort, um von erfahrenen Fachleuten Feedback zu Ihrem Code oder Design zu erhalten.


Ja, ich nehme an, der springende Punkt meiner Frage war, ob es sich um eine vollwertige App handelt, die zum Posten dort geeignet ist, oder ob ich das woanders tun kann. Es scheint, als ob Codereview gezielter als zu untersuchende Codefragmente ist. Stellen Sie im Grunde genommen einen Link zum Github-Projekt bereit und lassen Sie sie los. Ich räume heute auf und suche nach Community-Foren, in denen ich den Link posten kann. :)
hoppipolla

1
Auf einmal könnte es für einen Entwickler eine Menge sein, auf einmal abzukauen. meta.codereview.stackexchange.com/questions/537/… sagt, versuchen Sie es Stück für Stück. Es wäre nicht für Codereview geeignet, aber eine hochrangige Designdokumentation oder eine Art von Dokumentation könnte für einen Reviewer hilfreich sein, der sich Ihre Codebasis für das erste Bild ansieht
Jessica Brown,

@OliverHyde Wenn Sie eine Quelldatei veröffentlichen, sagen wir eine der kompliziertesten, erhalten Sie Feedback zu dieser Datei, die für das gesamte Projekt gilt. Dies ist eine gute Möglichkeit, Feedback zu Ihrer Programmiersprache und Ihrem Codierungsstil zu erhalten. Wenn Sie Feedback zum gesamten Programmdesign suchen, können Sie diese (laut FAQ) auf dieser Site veröffentlichen.

1

Lesen Sie weiter Bücher, Blogs und Fragen und Antworten zu Stack Overflow. Wenn Sie sich sozialer verbessern möchten, arbeiten Sie doch an einem Open Source-Projekt. Ich meine nicht, ein eigenes Projekt zu erstellen , sondern an einem bestehenden zu arbeiten.

Da Sie der einzige Entwickler in diesem Unternehmen sind, stelle ich mir vor, dass Sie eines Tages möglicherweise jemand anderen einstellen werden. Sagen Sie sich, dass der Typ heute Ihren Code lesen muss. Schreiben Sie bereits eine Dokumentation zu Ihrem Tool? Denken Sie daran, dass Ihre Arbeit von anderen gelesen werden kann. Dies ist eine gute Sache für Einzelentwickler und hilft Ihnen dabei, besseren Code zu erstellen.


1
Ja, genau das habe ich jetzt mit meiner Programmierung angefangen. Mein Chef hat vorgeschlagen , er bei der Einstellung eines zusätzlichen Entwickler nächstes Jahr .... Wette get oben auf meiner Dokumentation aussehen kann :)
Hoppipolla

1

Ich bin in einer ähnlichen Situation wie Sie, als einziger Programmierer für ein 5-Personen-Unternehmen angestellt, und nur einer von ihnen ist direkt an den Anwendungen beteiligt, die ich entwickle / zu denen ich hinzufüge. Zum Glück musste ich nichts von Grund auf neu erstellen, sondern nur modifizierte Anwendungen, die mein Vorgänger erstellt hat. Dabei glaube ich, dass ich mich bereits verbessert habe, indem ich erkannt habe, welche Teile seines Codes gut, welche Teile schlecht waren und wie man sie verbessern könnte.

Das Lesen von Code ist ein großer Teil der Verbesserung Ihres eigenen Codes. Daher empfehle ich vor allem, dass Sie sich ein Open-Source-Projekt suchen, Code lesen, verstehen und versuchen, zu beurteilen, was gut ist, was schlecht ist und was verbessert werden könnte. Vielleicht schreiben Sie sogar eine Code-Rezension darüber in Ihrem Blog.

Prost!


Ja, Prost! Ich arbeite jetzt schon eine Weile hier und habe einen guten Rhythmus bei der Verwendung von Online-Code-Überprüfungswebsites und der Selbstüberprüfung gefunden.
Hoppipolla

-1

Verlassen. Finden Sie einen neuen Arbeitgeber, bei dem Sie in einem größeren Entwicklerteam arbeiten, darunter auch einige verdammt heiße Typen, von denen Sie lernen können.

Sie haben eindeutig die richtigen Beweggründe dafür.


4
Dies sollte nicht die erste Option sein. Der OP hat Spaß an seiner Arbeit und er hat anscheinend auch einen anständigen Chef, was heutzutage selten zu sein scheint. Bedenken Sie vor dem Springen, dass Sie möglicherweise einen Job haben, den Sie nicht mögen, einen schlechten Chef und keine Garantie dafür, dass Sie tatsächlich neue Dinge lernen.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.