Shopify und Rails sind zusammen aufgewachsen. Im Jahr 2004 steckten beide noch in den Kinderschuhen, und unser CEO (Tobi) war einer der ersten Mitwirkenden und Mitglied von Rails Core. Shopify wurde auf Rails aufgebaut, wobei unsere Entwicklungskultur in der Rails-Doktrin verwurzelt ist – von der Zufriedenheit der Entwickler:innen über das Omakase-Menü, das Prinzip der scharfen Messer bis hin zu majestätischen Monolithen. Wir verkörpern diese Säulen der Doktrin.
Der Erfolg von Shopify ist zum Teil auf Ruby und Rails zurückzuführen. Wir fühlen uns verpflichtet, diesen Erfolg so gut es geht an die Community zurückzugeben. Aber bei unserem Engagement und unseren Investitionen geht es um mehr als nur die Begleichung dieser „Schulden“; wir haben ein sinnvolleres und für beide Seiten nützliches Ziel.
Inhaltsverzeichnis:
- Die Hundertjährige Mission
- Warum Unternehmen in Open Source investieren sollten
- Wie wir in Ruby und Rails investieren
- Lerne die Mitwirkenden bei Shopify kennen
Die Hundertjährige Mission
Bei Shopify sprechen wir oft davon, dass wir ein 100-jähriges Unternehmen sein wollen, dass auch im Jahr 2122 noch existieren wird! Das scheint ein ehrgeiziger Traum zu sein. Wir treffen Entscheidungen und entwickeln unseren Code jedoch so, dass er während wir mit diesem Ziel vor Augen wachsen, entsprechend skaliert werden kann. Wenn wir das schaffen, werden wir dann immer noch Ruby und Rails als Technologie einsetzen? Diese Frage ist schwer zu beantworten.
Ruby und Rails als 100-jährige Tools? Was bedeutet das überhaupt?
Um 100 Jahre alt zu werden, muss Rails mehr als nur ein einfacher Weg zum Einstieg in ein neues Projekt sein. Es geht um kosteneffiziente Leistung in der Produktion, wohlgeformte Einschätzungen zur Anwendungsarchitektur, einfache Upgrades, ausgezeichnete Editoren, die Vermeidung von Antipatterns und die Entscheidung, wann man die Vorteile der manuellen Programmierung nutzen möchte.
Lesetipp: HTTP Error 500: Begriff, Ursachen & Lösungen zum Server Internal Error.
Um 100 Jahre alt zu werden, müssen sich Ruby und Rails hundert Jahre lang jeden Tag als das Tool der Wahl für große Teams und gut laufende Projekte bewähren. Sie müssen das Tool der Wahl für Tausende von Entwickler:innen sein, die Millionen von Codezeilen und Milliarden von Webanfragen bearbeiten. Das ist die Vision. Das ist Rails in großem Maßstab.
Und es ist genau diese Skalierbarkeit, in die Shopify investiert.
Warum Unternehmen in Open Source investieren sollten
Wir investieren in Open Source, um die stabilste, widerstandsfähigste und leistungsfähigste Version für unsere Anwendungen zu entwickeln. Wie viel besser könnte all das sein, wenn mehr Menschen dazu beitragen würden? Als Community können wir mehr tun. Ruby und Rails können nur dann weiterhin eine gute Wahl für Unternehmen sein, wenn wir aktiv in die Entwicklung investieren. Und dazu brauchen wir mehr Unternehmen, die sich daran beteiligen.
Open Source ist das Herz und die Seele von Rails: Ich würde sagen, dass Rails ohne die Open-Source-Community nicht annähernd das wäre, was es heute ist.
Es verbessert die technischen Fähigkeiten
Übung erzeugt Fortschritt! Die Entwicklung von Open-Source-Software mit funktionsübergreifenden Teams hilft beim Aufbau besserer Kommunikationsfähigkeiten und bietet die Möglichkeit für einen konstruktiven Umgang mit Feedback und Kritik. Außerdem kann man so seine Debugging-Muskeln spielen lassen und tiefgreifende Kenntnisse über die Funktionsweise des Frameworks entwickeln. Und das wiederum hilft bei der Entwicklung besserer und stabilerer Anwendungen für das eigene Unternehmen.
Du interessierst dich für spannende Gründer-Stories? In unserem Podcast gibt's jede Menge davon! Anhören lohnt sich!
Wesentlich für die Qualität und Langlebigkeit der Anwendungen
Die Mitarbeit an Open Source trägt dazu bei, dass Anwendungen sowie das Unternehmen als Ganzes langfristig von Rails profitieren. Wir tragen dazu bei, weil wir uns für die Änderungen interessieren und wissen, wie sie sich auf unsere Anwendungen auswirken. Eine Investition in das Fundament ist proaktiv, während Umschreibungen und Patches reaktiv sind und zu brüchigem Code führen, der in der Folge schwer zu warten und zu aktualisieren ist.
Bei unserer Größe ist es normal, dass wir Probleme mit der von uns verwendeten Software haben oder Möglichkeiten zur Verbesserung identifizieren. Warum sollten diese Verbesserungen geheim gehalten werden? Da wir auf Open-Source-Software aufbauen, macht die aktive Unterstützung dieser Projekte absolut Sinn. So stellen wir sicher, dass sie so gut wie möglich und so lange wie möglich funktionieren. Wenn wir einen Beitrag zur Community leisten, erhöht das unseren Einfluss auf die Software, auf der unser Erfolg beruht. Und damit verbessern wir aktiv unsere Chancen, tatsächlich ein 100-jähriges Unternehmen zu werden. Genau deshalb leisten wir Beiträge zu Ruby und Rails und anderen Open-Source-Projekten. Das Engagement und die Investitionen sind beträchtlich, aber die Vorteile sind es auch.
Lesetipp: Wie wir Hydrogen entwickelt haben: Ein React-Framework für die Erstellung benutzerdefinierter Storefronts.
Wie wir in Ruby und Rails investieren
Shopify basiert auf einem Fundament aus Open-Source-Software. Dabei wollen wir sicherstellen, dass dieses Fundament auch in den kommenden Jahren noch gedeiht und unseren Anforderungen entsprechend skaliert werden kann. Dieses Fundament kann ohne Investitionen und Beiträge von Entwickler:innen und Unternehmen nicht erfolgreich sein. Wir vertreten nicht die Ansicht, dass die Open-Source-Entwicklung „das Problem von anderen“ ist. Wir engagieren uns für Ruby und Rails-Projekte, weil die Investition uns dabei hilft, unser Fundament und damit auch Shopify als Ganzes zukunftssicher zu machen.
Wir tragen zu strategischen Projekten bei und investieren in Initiativen, die sich auf die Erfahrung der Entwickler:innen, die Leistung und die Sicherheit auswirken – nicht nur für Shopify, sondern für die gesamte Community. Hier sind einige Projekte, in die wir investieren:
Verbesserung der Entwickler-Tools
- Wir haben Projekte wie toxiproxy, bootsnap, packwerk, tapioca, paquito und maintenance_tasks als Open Source zur Verfügung gestellt, weil wir festgestellt haben, dass wir diese Tools brauchen. Und wenn wir sie brauchen, werden auch andere Entwickler:innen sie brauchen.
- Wir haben dazu beigetragen, die Rails-Unterstützung für die stufenweise Eingabe in Sorbet zu erweitern, um das Tippen für alle zu verbessern.
- Wir arbeiten daran, die Ruby-Unterstützung in VScode mit vorkonfigurierten Erweiterungen und leistungsstarken Funktionen wie Refactorings so gut wie möglich zu machen.
- Wir arbeiten an der Automatisierung von Upgrades zwischen verschiedenen Versionen von Ruby und Rails, um die Reibungspunkte für Entwickler:innen zu verringern.
Steigerung der Leistung
- Wir haben YJIT entwickelt, einen Just-in-Time-Compiler, der in den Ruby-Interpreter integriert ist, um die Leistung zu steigern.
- Wir arbeiten an der Zuweisung von variablen Breiten und Objektformen, um die Leistung von Ruby zu verbessern.
- Wir arbeiten gemeinsam mit Oracle an TruffleRuby, einer alternativen Ruby-Implementierung mit hohem Geschwindigkeitspotenzial.
- Wir haben vor kurzem eine Förderung in Höhe von 500.000 Dollar für Informatiker:innen angekündigt, die ihre Arbeit auf Ruby und die Bedürfnisse der Ruby-Community ausrichten.
Lesetipp: In diesem Blogbeitrag zeigen wir dir, wie du bei deinem Wechsel zu Shopify URL-Weiterleitungen richtig verwendest.
Verbesserung der Sicherheit
- Wir tragen aktiv zu Bundler und Rubygems bei, um die Lieferkette von Ruby bestmöglich zu gestalten.
- Wir arbeiten mit Ruby Central zusammen, um den langfristigen Erfolg und die Sicherheit von Rubygems.org durch strategische Investitionen in Technik, sicherheitsrelevante Projekte, wichtige Tools und Bibliotheken und die Verbesserung der Durchlaufzeiten für Mitwirkende zu gewährleisten.
Lerne die Mitwirkenden bei Shopify kennen
Die bedeutendste Investition, die man tätigen kann, ist die direkte Mitwirkung an der Zukunft der Instrumente, auf die sich sein Unternehmen verlässt. Wir sind der Meinung, dass wir alle für die Nachhaltigkeit und Qualität von Open Source verantwortlich sind. Shopify-Entwickler:innen werden ermutigt, sich an Open-Source-Projekten zu beteiligen, wo immer es möglich ist. Das Engagement kann dabei variieren. Einige Entwickler:innen leisten nur gelegentlich Beiträge, andere betreuen in Teilzeit wichtige Open-Source-Bibliotheken, auf die wir angewiesen sind. Wieder andere tragen Vollzeit zu wichtigen Open-Source-Projekten bei.
Lesetipp: Du kennst Shopify nicht? Hier findest du alle Vorteile des Shopsystems auf einen Blick.
Lerne einige der Shopify-Entwickler:innen kennen, die zu Open Source beitragen. Einige dieser Gesichter sind dir wahrscheinlich bekannt, da wir durchaus bekannte Expert:innen in unserem Team haben. Andere kennst du vielleicht nicht ... noch nicht. Wir bilden die nächste Generation von Expert:innen für Ruby und Rails aus, um mit ihnen die Zukunft zu gestalten.
Wo auch immer du bist, deine nächste Reise beginnt hier! Wenn du dich dafür interessierst, Systeme von Grund auf neu zu entwickeln, um reale Probleme zu lösen, findest du in unserem Engineering-Blog Berichte über andere Herausforderungen, denen wir begegnet sind. Fasziniert? Besuche unsere Karriereseite für Entwickler:innen, um dich über unsere offenen Stellen und unsere Philosophie „Digital by Design“ zu informieren.
Über den Autor: Mike ist ein in NYC ansässiger Engineering Lead, der bereits in einer Vielzahl von Bereichen gearbeitet hat, darunter Energiemanagementsysteme, Preisgestaltung für Wertpapiere, Hochleistungs-Computing, agile Beratung und Cloud-Computing-Plattformen. Er ist ein aktives Mitglied der Open-Source-Community von Ruby. Als Betreuer einiger beliebter Bibliotheken hat er immer noch ab und zu die Gelegenheit, Software zu programmieren. Mike hat die letzten zehn Jahre damit verbracht, umfassende technische Organisationen aufzubauen und erstaunliche Softwareprodukte für Pivotal, VMware und Shopify zu entwickeln.
Dieser Artikel von Mike Dalessio erschien ursprünglich im Shopify.com-Blog und wurde übersetzt.