Der Oktober ist der beste “Montag” für Open Source / Sudo Null IT News

Gießen

Treffen Sie Olga. Sie hat vor kurzem angefangen, Programmieren zu lernen, hat aber bereits Dutzende von Online-Kursen besucht und viele Bildungsprojekte für Haustiere gestartet. Olya möchte wirklich in einem IT-Unternehmen arbeiten, aber bisher wird sie nirgendwo eingestellt, weil sie keine „Kampf“ -Erfahrung hat.

Programmieranfängerin OlyaProgrammieranfängerin Olya

Und das ist Oleg, ein erfahrener Programmierer mit Dutzenden von kommerziellen Produkten hinter sich. Er liebt seinen Job, aber er hat alle Projekte in- und auswendig studiert und will etwas Neues ausprobieren.

Älterer OlegÄlterer Oleg

Es scheint, dass unsere Helden abgesehen von der Konsonanz der Namen nichts gemeinsam haben, aber das ist nicht so. Ihre Ziele werden auf eine Weise erreicht – die Teilnahme an Open Source.

Warum Open Source für Programmieranfänger

Olga löste viele Lernprobleme, um den behandelten Stoff zu festigen. Aber in der Produktentwicklung sind Aufgaben komplexer und haben oft nicht offensichtliche Lösungen. Ein Freund riet Olya, eines der öffentlichen Repositories auszuwählen, ein paar einfache Fehler unter den offenen Aufgaben zu finden und zu versuchen, sie zu lösen.

Der erste Vorteil von Open Source für einen Anfänger ist, dass es einfach ist, die ersten Schritte zur Lösung von Produktproblemen damit zu gehen.

Olga hat diese Idee lange auf “nächsten Montag” verschoben, aber am Ende entschied sie sich – sie wählte einen interessanten Fehler und begann, die Codebasis zu studieren. Für einen Anfänger ist dies eine schwierige Aufgabe, daher hat es lange gedauert, bis Olya anfing, sicher zu verstehen, was im Code passiert.

Und dann begann Olga überrascht zu sein und im Geiste zu wiederholen: „Was, könnte das so sein?“

Beliebte Open-Source-Projekte sind oft eine Quelle des Stolzes für einen Entwickler oder ein Unternehmen. Produktentwickler achten sehr auf die Qualität des Codes. Daher können Sie beim Verständnis der Codebasis mit hoher Wahrscheinlichkeit bisher unbekannte Tricks entdecken, die die Qualität des Codes verbessern.

So entdeckten wir den zweiten Vorteil von Open Source für Anfänger: Offene populäre Repositories sind eine Fundgrube für Best Practices und die Gelegenheit, zu sehen, wie man gut gepflegten Code schreibt.

Olga hat diese schwierige Aufgabe gemeistert und die Ursache des Fehlers entdeckt. Sie kennt die genaue Stelle im Code, die korrigiert werden muss. Aber es ist nicht ganz klar, wie man den Fehler am besten beheben kann.

Und hier kommt der dritte Vorteil von Open Source für einen Einsteiger ins Spiel: Bei Schwierigkeiten kann man die Hauptbetreuer des Repositorys um Hilfe bitten und ihnen die richtigen Fragen stellen.

Olya beschrieb die Ergebnisse der Studie in den Kommentaren zum Problem und fragte die Betreuer, wie sie das Problem effizienter lösen könnten. Ihr wurde geantwortet und sie verstand, wie sie den aufgetretenen Fehler beheben konnte.

Olgas Freund schlug ihr vor, dass jeder Beitrag zu Open Source mit dem Lesen von CONTRIBUTING.md beginnen sollte. Eine gute CONTRIBUTING.md-Datei liegt normalerweise auf der Root-Ebene des Repository-Dateisystems und informiert alle Neuankömmlinge ausführlich über die Anforderungen für jeden offenen PR.

Es kann eine detaillierte Beschreibung des lokalen Starts des Projekts, der Anforderungen für die Abdeckung neuer Funktionen mit Tests und sogar enthalten Benennungsregeln festlegen.

Olya macht einen Fork des Projekts, nimmt die notwendigen Änderungen am Branch vor und eröffnet ihren ersten PR. Zahlreiche CI-Pipelines des Projekts werden sofort gestartet. Sie überprüfen, ob das Projekt korrekt erstellt wird, alle Tests bestanden werden, und überprüfen den Codestil. Und eine der Pipelines stürzt ab!

Es ist in Ordnung, alle CI-Checks wurden erstellt, um eine Person zu überprüfen. Olga bemerkte, dass sie vergessen hatte, ihre schriftlichen Tests lokal durchzuführen, und fand darin einen Fehler. Sie korrigiert schnell und – hurra! Jetzt werden alle Tests erfolgreich bestanden.

So lernte Olga den vierten Vorteil von Open Source kennen: Vertrautheit mit gut aufgebauten Geschäftsprozessen für die industrielle Entwicklung und gut abgestimmtem CI / CD.

Die Projektentwickler haben bereits eine Benachrichtigung über die Eröffnung einer neuen PR von Olga erhalten. Sobald sie freigegeben werden, beginnen sie sofort mit der Überprüfung.

So erkennt Olya den wertvollsten Vorteil von Open Source für einen Anfänger: Feedback von erfahrenen Entwicklern.

Bei der Überprüfung von Olga wiesen sie auf Fehler im Code hin und schrieben über Möglichkeiten, sie zu lösen. Sie korrigierte alle Fehler und sammelte wertvolle Erfahrungen, wie man sie wieder vermeidet.

Warum Open Source für einen erfahrenen Programmierer

Kehren wir zum erfahrenen Programmierer Oleg zurück. Obwohl das Erlernen des Programmierens ein fortlaufender Prozess ist, machen wir eine grobe Annahme. Stellen Sie sich vor, Oleg ist ein so ernsthafter Spezialist, dass er keine neuen Erfahrungen und Rückmeldungen benötigt. Aber für ihn ist die Teilnahme an Open Source keine Zeitverschwendung.

An einem ruhigen Abend kommt Olegs Chef und ist empört über einen kritischen Fehler in der Produktion, durch den das Unternehmen materielle Verluste erleidet. Reparaturtermin ist natürlich „gestern“.

Oleg findet schnell die Ursache des Fehlers – ein Problem in einer QWERTY-Bibliothek eines Drittanbieters, die sie verwenden. Er beginnt die Aufgabe an das Team dieser Bibliothek. Aber er versteht: Egal, wie Sie das Entwicklungsteam anflehen, sie haben bereits ihre eigenen geplanten Aufgaben und haben möglicherweise keine Zeit, den Fehler zu beheben. Glücklicherweise ist das Repository der verwendeten Bibliothek gemeinfrei.

Der erste Vorteil von Open Source für einen erfahrenen Entwickler hilft sofort: die Möglichkeit, das Produkt basierend auf seinen Bedürfnissen selbst zu verbessern.

Oleg beschloss, den Fehler selbst zu beheben und zum Projekt beizutragen. Er tauchte in die Codebasis ein und erkannte, dass er falsch lag, wenn er die Bibliotheksentwickler für eine krumme API oder eine unverständliche Implementierung eines Features verfluchte. Er selbst sah, welche Probleme im Code gelöst wurden, und verstand, warum dieses oder jenes Feature auf diese Weise gemacht wurde.

Oleg sah den zweiten Vorteil von Open Source für einen erfahrenen Entwickler: die Fähigkeit, die Bibliothek, die Sie in Ihren Anwendungen verwenden, im Detail zu verstehen.

Schließlich findet Oleg eine Lösung für das Problem und eröffnet eine PR. Projektentwickler erhalten Benachrichtigungen und eilen zur Überprüfung.

Was als nächstes geschah

Olga, inspiriert vom Erfolg ihrer ersten Teilnahme an einem Open-Source-Projekt, hörte hier nicht auf. Sie fuhr fort, Fehler zu beheben. Mit der Zeit erkannte Olya, dass sie bereit war, ihr eigenes Feature zu entwickeln.

Nach ein paar Monaten hatte Olga genug Praxiserfahrung gesammelt, um sich für eine Junior-Stelle in einem großen Unternehmen zu bewerben. Sie schickte ihren Lebenslauf ein, und dann ging es los: eine Einladung zu einem technischen Vorstellungsgespräch, ein Ausflug ins Büro des Unternehmens und ein zukünftiger Kollege, der sie kennenlernte.

“Sehr schön, ich bin Oleg, Senior Developer und aktiver Mitarbeiter des QWERTY Open Source-Projekts”

Kann es das gleiche sein?

Unsere Heldin Olga hat es lange hinausgezögert, an Open Source teilzunehmen. Wenn ihre Geschichte inspiriert hat, brauchen Sie nicht auf den richtigen Moment zu warten – er ist gekommen.

Im Oktober Hacktoberfest findet statt. Dies ist eine jährliche internationale Veranstaltung von Digital Ocean, die zur Teilnahme an Open-Source-Projekten motiviert. Jeder Teilnehmer muss vier Beiträge zu den öffentlichen Repositorien leisten, um einen Preis zu erhalten: ein T-Shirt oder einen personalisierten gepflanzten Baum.

Wir haben uns entschieden, die Aufgabe zu vereinfachen, da Tinkoff Open Source sehr mag und nicht davor zurückschreckt, erfolgreichen Code öffentlich zugänglich zu machen. Wir haben eine Liste mit öffentlichen Repositorien unseres Unternehmens zusammengestellt, in denen Sie interessante Aufgaben verschiedenster Richtungen finden und am Hacktoberfest teilnehmen können:

  • TaigaUI – Komponentenbibliothek für Angular. Möchten Sie Dependency Injection maximal nutzen oder in rxjs upgraden? Dann sind Sie hier.

  • Linters — Sind Sie es leid, die gleichen Kommentare im Code-Stil zu Rezensionen zu schreiben? Dann nimm die Aufgabe aus diesem Projekt an und lerne, wie man Linter und Prettier einrichtet. Und unsere erfahrenen Kollegen sagen Ihnen, wenn etwas nicht klappt.

Die vollständige Liste der am Hacktoberfest teilnehmenden Repositories ist verfügbar auf der GitHub-Seite.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *