Der Gast der zweiten Ausgabe von
Run Loop - einem Podcast über diejenigen, die Produkte mit eigenen Händen herstellen - Yegor Bugaenko. Wir werden ihn nach dem Ziel fragen, seine eigene Zold-Kryptowährung zu erstellen. Erfahren Sie, warum Ruby zum Schreiben verwendet wird. Lassen Sie uns gleich über viel sprechen, angefangen beim Tagesablauf und den Büchern bis hin zu provokanten Fragen zur Qualität der Arbeit der Programmierer. Und schließlich werden wir diskutieren, dass Entwickler, die nicht wissen, wie sie an Open Source-Projekten teilnehmen sollen, bald für niemanden nutzlos werden.

Moderatoren: Ilya Tsarev, Alexey Mileev, Roman Busygin.
Ilya Tsarev beschäftigt sich mit der iOS-Entwicklung bei der Alfa Bank und spricht auf verschiedenen Meetings und Konferenzen.
Alexey Mileyev entwickelt die Android-Version von App in the Air, leitet den Telegrammkanal für die Android-Entwicklung und überwacht Berichte auf AppsConf.
Roman Busygin - ein führender Entwickler von Yandex.Music für iOS - spricht häufig auf Konferenzen und nimmt an Podcasts teil.
Auswärts:
Yegor Bugaenko - Gründer und CEO von Zerocracy, einem Unternehmen, das KI-Roboter für die Verwaltung von Programmierern entwickelt; OOP Fundamentalist; Autor von Elegant Objects, einer Reihe von Büchern über objektorientierte Programmierung; Schöpfer von Cactoos, Takes Framework, JCabi und Rultor sowie Blogger und Philanthrop.
Alexey : Erzähl mir von dir, was du tust.Egor : Ich programmiere und verwalte hauptsächlich Programmierer. Dies sind zwei Bereiche meiner Tätigkeit.
Ilya : Bitte sag mir, wie du das kombinierst. Ab wann verwalten Sie die Entwicklung und wann programmieren Sie? Bitte erzählen Sie uns mehr über Ihr Unternehmen.
Über die Firma
Egor : Unsere Firma heißt Zerocracy und ist eine freiberufliche Börse, in der Freiberufler, Programmierer, Tester, Designer und alle möglichen anderen technischen Talente miteinander verbunden sind. Andererseits Kunden, die diese Talente benötigen und ein Softwareprojekt abschließen möchten.
Der Kern der Website ist die automatisierte künstliche Intelligenz. Dies ist ein Roboter - ein Chat-Bot, der den Entwicklungsprozess steuert. Er legt Aufgaben für Programmierer fest, sammelt Ergebnisse von ihnen, zahlt ihnen Geld, bewertet die Qualität ihrer Arbeit und organisiert den gesamten Entwicklungsprozess. Anfangs habe ich selbst diesen Roboter geschrieben, künstliche Intelligenz. Jetzt beteilige ich mich unbedeutend an seiner Entwicklung, das Entwicklungsteam verfeinert und verbessert sich weiter.
Ich bin der CEO von Zerocracy. Die meiste Zeit verbringe ich damit. Im Bereich der Programmierung habe ich mehrere Projekte, die ich aktiv entwickle. Eines davon ist unser Pilotprojekt zold.io. Dies ist eine Kryptowährung, die wir in unserem Unternehmen erstellt haben und die eine Alternative zu bestehenden Blockchain-Lösungen darstellt. Ich bin der Architekt dieser Lösung. Ich bin nicht der einzige, der daran arbeitet, aber ich bin Architekt. Dieses Produkt ist interessant, weil es in der aktuellen Version in Ruby geschrieben ist.
Das zold.io-Projekt ist eine
alternative Möglichkeit, das Problem der verteilten Zahlungen zu lösen . Blockchain ist eine ziemlich bekannte und weit verbreitete Lösung zum Organisieren verteilter Daten auf Servern ohne Vertrauen. Wir haben unsere Lösung vorgeschlagen, die keine Blöcke, Ketten und alles, was in der Blockchain enthalten ist, verwendet. Wir lösen dieses Problem auf unsere eigene Weise. Es scheint uns, dass unsere Lösung auch interessant ist. Das mache ich in der aktiven Programmierung.
Warum Rubin?
Roman : Egor, es ist sehr interessant, etwas über Blockchain zu hören. Dies ist eine sehr rechenintensive Sache. Sie verwenden Ruby, das für seine Langsamkeit bekannt ist. Fast jeder versucht, dies bei großen Projekten zu vermeiden. Bitte sag mir warum Ruby?Egor : Wir haben keine Blockchain.
Wir haben Kryptowährung, aber keine Blockchain . Sehr oft verbinden Menschen zwei Konzepte. Es scheint ihnen, dass Kryptowährung = Blockchain. Diese Dinge können in einem Paket enthalten sein, wie zum Beispiel in Bitcoin. Tatsächlich ist Blockchain jedoch nur eine Möglichkeit, Daten auf vielen Servern zu speichern, ohne dass jedem einzelnen Server vertraut wird. Blockchain ist wirklich eine Technologie oder Methode zur Datenspeicherung, die ernsthafte Geschwindigkeiten und Rechenressourcen erfordert.
Unser Projekt verwendet keine Blockchain. Daher waren andere Aspekte wichtig. Für uns spielt die Rechengeschwindigkeit keine große Rolle. Ich schrieb einen Artikel in unserem Blog mit dem Titel „
Warum Ruby? “ Und wies auf drei Punkte hin, die diese Frage beantworten.
- Ruby ist eine sehr kompakte Sprache im Vergleich zu anderen Sprachen, die ich spreche: Java, C ++ und JavaScript. Ruby-Code ist viel kürzer und einfacher zu schreiben. Das in Java dauert 100 Codezeilen, in Ruby kann es in 20 passen.
- Ruby ist aufgrund seiner Kompaktheit sehr praktisch zum Experimentieren . Die Lösung wurde nicht sofort erstellt, sondern mehrere Monate für Proben, Fehler und fehlerhafte Versionen aufgewendet. Dementsprechend viel Korrespondenz. Es wäre weniger bequem, dies zu tun und es wiederholt in Java neu zu schreiben.
- Ruby verfügt über ein sehr praktisches System zum Bereitstellen , Installieren und erneuten Installieren einer Version, die beispielsweise in Java nicht verfügbar ist. Für JavaScript gibt es npm, und wenn in C ++ und Java solche Systeme existieren, sind sie plattformabhängig. Ruby ist ein plattformübergreifendes System und sehr praktisch für die Neuinstallation neuer Versionen. Dies ist sehr wichtig für uns, da es sich um eine Community von Mitwirkenden handelt, die sich auf verschiedenen Plattformen befinden und uns nicht untergeordnet sind. Ein System ist per Definition verteilt und anonym. Daher war es uns sehr wichtig, dass unsere Lösung einfach zu installieren ist.
Deshalb - Ruby.
Der Zweck der erstellten Kryptowährung
Alexei : Welches Ziel haben Sie verfolgt, als Sie Ihre Kryptowährung erstellt haben, als Sie Gold erstellt haben?Egor : Wir hatten mehrere Motive, Ziele erschienen später. Ehrlich gesagt war das erste Motiv ein rein technisches Motiv. Es war interessant, ein solches technisches Problem zu lösen. Ich bin Ingenieur und Techniker. Die Lösung komplexer technischer Probleme macht mir Freude.
Ich habe viel über die Blockchain gehört und diese Kryptowährung wird immer beliebter. Das Thema Markt ist eine Frage der Wirtschaftlichkeit. Er interessierte sich nicht sehr für mich, ich interessierte mich mehr für die Frage der Technologie. Auf diese Weise treffen sie die Blockchain-Entscheidung, sodass wir einem System vertrauen, das keinen zentralen Server und keinen zentralen Kontrollpunkt hat. Da alle über Blockchain sprechen, war es für mich interessant zu versuchen, dieses Problem auf meine eigene Weise zu lösen.
Solch eine rein technische Herausforderung: Versuchen wir mal, es sollte klappen.Es hat nicht sofort funktioniert. Drei Monate haben nicht funktioniert, aber am Ende wurde eine Lösung gefunden. Es funktioniert bereits jetzt und selbst mit dieser Währung bezahlen wir bereits Programmierer, die auf unserer Plattform arbeiten. Transaktionen werden live geschaltet, obwohl bisher keine Werbung geschaltet wurde, sondern für unseren internen Gebrauch im Produktionsmodus, aber für kleine Transaktionen, die wir durchlaufen.
Das zweite Motiv ist große wirtschaftliche.
Die bestehenden Bezahlmethoden
für Programmierer , die auf der Zerocracy-Plattform arbeiten, haben
uns nicht gefallen . Derzeit verwenden wir PayPal und Bitcoin. In beiden Fällen sind Transaktionen recht teuer. Wir müssen große Provisionen zahlen, um Geld an Programmierer und in Zerocracy-Mikrozahlungen zu überweisen. Für Mikrotask zahlen wir Programmierern Mikrozahlungen bis zu mehreren zehn Cent. Wie Sie wissen, sind PayPal und Bitcoin in dieser Hinsicht sehr teuer und nicht für Mikrotransaktionen geeignet. Bei Bitcoin beträgt die Provision für eine Transaktion etwa 50 Cent, bei PayPal 30-40 Cent. Es ist sehr teuer, wenn der gesamte Transaktionsbetrag 1 Dollar beträgt. Das wirtschaftliche Motiv bestand daher
darin, eine Zahlungsentscheidung zu treffen, die um ein Vielfaches billiger und für Mikrozahlungen sehr gut geeignet wäre und nicht für große Zahlungen wie bei Bitcoin.
Ziele sind vor kurzem erschienen. Es besteht
darin, mithilfe von Kryptowährung, diesem Finanzinstrument zur Gewinnung von Investmentfonds für das Projekt,
eine ausreichende Menge an Mitteln für die Zerocracy-Plattform zu gewinnen. Mit den gesammelten Mitteln wollen wir
die Löhne der Programmierer erhöhen, die auf der Plattform arbeiten. Und machen so diese Plattform für eine Vielzahl professioneller Entwickler attraktiv.
Leider gibt es auf der Plattform keine so großen Budgets, um Entwicklern
100 bis
150 US-Dollar pro Stunde zu zahlen. Mit unserem Kontrollmodell - Mikrotasking, Mikrobudgeting - ist alles auf Mikroebene, wir haben ergebnisorientierte Arbeit auf Mikroebene. Daher ist es sehr wichtig, dass die Mitarbeiter arbeiten und für das Ergebnis arbeiten möchten und nicht nur Zeit im Projekt verbringen, wie dies häufig bei anderen Entwicklungsmodellen, einschließlich Agile, der Fall ist. Damit das Modell attraktiv wird, müssen die Leute viel bezahlen. Wir sind zu diesem Schluss gekommen. Im traditionellen Modell ist eine Person daran gewöhnt, für 15 bis 20 US-Dollar pro Stunde zu arbeiten, aber wenn sie 8 Arbeitsstunden bezahlt, unabhängig davon, was sie in diesen 8 Stunden getan hat. In unserem Modell ist er gezwungen, 8 Ergebnisblöcke bereitzustellen, um eine Zahlung für 8 Stunden zu erhalten. Dementsprechend sind 15 US-Dollar pro Stunde bereits uninteressant, da astronomisch gesehen acht Stunden, für die sie einen ganzen Tag bezahlen, normalerweise 15 bis 20% der Zeit arbeiten. Der Rest der Zeit wird damit verbracht, Nachrichten zu lesen, sich auszuruhen und andere parallele unterstützende Aktivitäten durchzuführen. In unserem Fall werden diese Aktivitäten nicht bezahlt.
Wir verstehen, dass in unserem Modell der Stundensatz 5-10 mal höher sein sollte als der traditionelle. Wir haben solche Mittel noch nicht. Mit der Zold-Kryptowährung planen wir, Investitionskapital über den Markt für Finanzkryptowährungen durch Interesse an einem neuen Zahlungsmittel anzuziehen und damit die Tarife unserer Entwickler zu erhöhen. Dies wird dieser Plattform, einem Marketinghebel, Auftrieb geben, mit deren Hilfe wir später wertvolle Kunden gewinnen können.
Wie ist der Arbeitstag?
Alexei : Sie haben erwähnt, dass Sie als Ingenieur gerne komplexe Probleme lösen. Lass uns ein bisschen mehr über dich reden. Wie ist dein Arbeitstag normalerweise?Roman : Ich gebe dir ein kleines Detail. Vielleicht wachst du auf und arbeitest sofort. Ich empfehle, den Arbeitstag nicht auf den Moment zu beschränken, in dem Sie im Büro ankommen.Egor : Erstens habe ich kein Büro: Ich komme nirgendwo hin. Zweitens arbeite ich nicht. Das heißt,
ich nehme nicht wahr, was ich als Arbeit tue , und
ich nehme mich nicht als Büroperson wahr. Ich genieße die Dinge, die ich tue. Ich mache sie, weil ich sie mag und nicht, weil ich ins Büro gekommen bin und etwas tun muss, um einige Aufgaben zu erledigen. Mir gefällt einfach, was ich tue.
Glücklicherweise habe ich Projekte, in denen ich diese Prozesse gerne programmieren oder verwalten kann. Also wache ich auf, öffne meinen Laptop und sehe, worüber ich mich freue und was ich in den nächsten 16 Stunden tun möchte. Ich trinke keinen Kaffee, ich trinke Tee, also
zuerst Tee, dann einen Laptop .
Die Leute fragen mich oft, wie ich meine Zeit organisiere. Ich versuche es zu organisieren, aber es funktioniert nicht gut für mich. Ich gebe oft auf und mache einfach, was ich will. Oft ist dies der effektivste Weg, um Ihre Zeit zu organisieren. Ich versuche immer, auf meine inneren Wünsche zu hören und nur das zu tun, was ich will und nicht das, was ich brauche. Normalerweise bringt mich das, was ich will, in die richtige Richtung.
Alexei : Sie haben sich darauf konzentriert, dass Sie keine Büroperson sind. Sie haben nie im Büro gearbeitet oder es war Zeit, aber dann haben Sie zu Ihren Aufgaben gewechselt?Egor : Ich hatte ein Büro. Ich arbeite seit Jahren in Büros. Es scheint mir, dass diese Arbeit für mich persönlich stressig und deprimierend ist. Sie drückt mich viel schneller nieder, als ich einen Effekt aus dem Büro spüre.
Ich verstehe nicht, warum in der modernen Welt Büros als solche benötigt werden.
Ich verstehe, warum wir einige Orte brauchen, an denen Sie Kaffee trinken und auf den Sofas liegen können. Ich verstehe, warum Shisha und Restaurants benötigt werden. Ich verstehe, warum Sie Orte brauchen, an denen Sie Zeit verbringen können. Aber ich verstehe absolut nicht, warum wir in Reihen sitzen, auf Monitore schauen und an einem bestimmten Punkt Kaffee trinken gehen sollten, dann zurückkommen und wieder am selben Ort sitzen sollten. Es scheint mir unvernünftig. Es gibt viele andere Orte, an denen das Arbeiten interessanter und komfortabler ist: in einem Café, zu Hause, in der Natur. Ich sehe keinen Grund darin, Menschen in solchen Büroräumen zu vereinen. In den letzten Büchern kritisiere ich ziemlich oft und ernsthaft die Idee, Menschen zu organisieren und zu motivieren, indem ich sie geografisch kombiniere. Dieses Konzept, Menschen an einem Ort zu verbinden und in eine Richtung zu lenken, damit sie eines tun und gemeinsam etwas erreichen, sollte meiner Meinung nach der Vergangenheit angehören. Jetzt besteht keine besondere Notwendigkeit dafür, es gibt hochwertige Kommunikationsmethoden, gute Software und hochwertige Management-Tools. Wir müssen einfach nicht mehr zusammen sitzen, um zu arbeiten.
Roman : Ich werde ein wenig klarstellen, wenn ich über das Büro gesprochen habe, ich wollte für jemanden arbeiten. Hast du für jemanden gearbeitet und was hast du für dich getan? Wann und warum fand der Übergang von Selbstständigen zu Selbständigen statt?Egor : Ich habe ein bisschen für Selbstständige gearbeitet, aber ich habe nie für jemanden gearbeitet. Ich habe immer für mich gearbeitet. Die Frage ist, wer mir das Geld zahlt, mit wessen Geldern ich es mache. Es ändert sich an bestimmten Punkten in meinem Leben. Sobald es von einer Firma bezahlt wurde, dann von einer anderen. Jetzt wird meine Arbeit von meinen Kunden bezahlt. Morgen können meine Investoren dafür bezahlen, übermorgen die Leser meines Buches.
Die Frage "Woher kommt das Geld?" hat immer Optionen . Auf diese Frage kann es immer eine andere Antwort geben. Ich habe immer nur für mich selbst gearbeitet.
Es fällt mir schwer, mir vorzustellen, dass ich meine Zeit, meine Anstrengungen und meine Energie für etwas aufwenden würde, das dann an jemand anderen gehen würde. Das ist für mich inakzeptabel. Es wird mich sehr demotivieren und ich werde nicht sehr lange dauern: ein paar Tage, vielleicht ein paar Wochen, aber ich werde versuchen, daraus auszubrechen. Während ich im Büro an einem Projekt eines anderen arbeite und etwas mache, das wie Arbeit für jemanden aussieht, arbeite ich immer für mich. Ich finde,
wie diese Aktivität für mich persönlich nützlich sein kann . Wenn ich in einem Projekt bin und ein neues Bereitstellungssystem darin installieren muss, werden sie dafür bezahlt. Dann werde ich dieses System definitiv so gestalten, dass ich später darüber schreiben kann. Sagen Sie mir, dass ich ein Open Source-Produkt von dort verwenden kann es zu ertragen, damit ich persönlich etwas für mich tragen kann. Außerdem sieht die ganze Arbeit an diesem System wie Arbeit für mich aus. Kunden erhalten dadurch natürlich auch ein funktionierendes System.
Aber zuerst bekomme ich persönlich den Vorteil . Das mache ich immer.
Ilya : Egor, bitte sag mir, wenn du keinen Ort hast, an dem du zur Arbeit gehst, wählst du immer noch: Heute bist du in einem Café, morgen zu Hause oder in der Natur. Haben Sie einen Zeitplan oder wachen Sie gerade auf und wohin Sie wollen?Egor : Eher wo immer du willst. Ich versuche dies nicht zu planen, denn wenn Sie auf Ihre Wünsche und internen, oft unerklärlichen Motive hören, wird es am Ende besser. Ich weiß nicht, vielleicht wäre es für jemanden bequemer, planmäßig nach Plan zu fahren, aber ich versuche, auf meine innere Stimme zu hören, die sagt: "Ich bin es leid, nach Hause zu gehen, lass uns irgendwohin gehen."
Ich nehme einen Laptop und gehe einfach raus . Manchmal gehe ich einfach die Straße entlang und gehe in ein Café, das ich sehe, bestelle etwas und drei oder vier Stunden, bis sich der Laptop hinsetzt, arbeite ich. Dann langweile ich mich und kehre nach Hause zurück.
Code voraus
Alexei : Du hast dein letztes Buch erwähnt. Es heißt Code Ahead. Komm schon, Egor, lass uns versuchen, in einem Satz kurz zu formulieren, worum es in deinem neuesten Buch geht.Egor : Gute Frage. Tatsächlich wurde Anfang Juli ein Buch veröffentlicht, das ich länger als alle anderen schrieb, und ich verbrachte 8 Monate damit, es zu schreiben. Insgesamt begann es vor 1 Jahr und 8 Monaten. Ich habe mich lange vorbereitet und dann fast 8 Monate lang geschrieben, viel umgeschrieben, ganze Kapitel geändert und weggeworfen.
Er hat sich viel Mühe gegeben . Ich kann nicht beurteilen, was passiert ist. Ich würde gerne Feedback hören, aber es gibt noch keine Bewertungen bei Amazon.
Interessanterweise ist
Code Ahead ein Kunstbuch . Das heißt, es wurde nicht in technischer Sprache geschrieben, es gibt Charaktere und eine Handlung, Dialoge, Monologe, Gespräche. Gleichzeitig ist dies natürlich ein gemischtes Genre. Ich habe das noch nie gesehen, aber ich habe dieses Genre gewählt. In einer kostenlosen künstlerischen Präsentation finden sich zahlreiche technische und wissenschaftliche Referenzen. Die Charaktere sprechen untereinander und im Verlauf des Dialogs mit ihren Aussagen, Kommentaren und Fakten finden Sie am Ende der Seite eine große Anzahl von Fußnoten, die die Aussagen der Charaktere bestätigen oder widerlegen.
Insgesamt enthält das Buch mehr als dreihundert solcher Verweise auf Bücher, Artikel, wissenschaftliche Artikel und alles andere. Ich kombinierte das Kunstgenre und fast halbwissenschaftlich. Wie es passiert ist - ich weiß es nicht. Versuche zu kaufen und zu lesen. Es scheint mir interessant zu sein. Ich habe es oft gelesen, was bei früheren Büchern nicht der Fall war. Ich habe frühere Bücher geschrieben, einmal gelesen und veröffentlicht. Ich habe diesen Schnitt zehn gelesen.
Roman : Um Bücher zu schreiben, musst du viele Bücher lesen und dich in diese Richtung pumpen. Egor, was würden Sie unseren Lesern empfehlen, aber nicht von dem, was Sie geschrieben haben, sondern von einem anderen. Was fällt mir zuerst ein?Egor : In meinem Blog gibt es einen Artikel mit dem Titel "
Meine Lieblingsbücher ". Es gibt 16 Bücher, die ich auf jeden Fall empfehlen kann. Dies sind Bücher, die ich mehr als einmal gelesen habe. Sie sind für mich wertvoll und ich kehre oft zu ihnen zurück. Außerdem würde ich das Buch Code Ahead empfehlen. Ungefähr zehn Prozent dieser dreihundert Links sind mit einem speziellen Sternchen gekennzeichnet. Andere Links bestätigen einfach die Fakten oder widerlegen sie. Links mit einem Sternchen sind Literatur, die ich auf jeden Fall empfehlen würde, und sogar mehr als einmal.
AppsConf-Bericht
Ilya : Bitte erzählen Sie uns etwas über das Thema Ihres Berichts. Bald werden Sie auf AppsConf sprechen. Worüber werden Sie sprechen?Egor : Ich werde einen Blick auf die Situation mit der Programmierung und ihrer Qualität werfen und versuchen, meine eigene Lösung für diesen Konflikt anzubieten. Der Konflikt scheint mir in der Tatsache zu liegen, dass die Standarderwartungen des technischen und organisatorischen Managements von Programmierern darauf zurückzuführen sind, dass der
Programmierer Code schreiben muss, in dem keine Fehler vorliegen . Diese Erwartung ist ziemlich traditionell und beliebt. Ich habe ihn sowohl in der Praxis als auch in der Literatur getroffen und kann mehrere Links zu Büchern geben, die besagen, dass ein guter Programmierer Code schreibt, in dem es keine Fehler gibt. Wenn wir dieses Konzept als grundlegend verwenden und darauf aufbauen, kommen wir in der Praxis sehr schnell zu dem Problem: Was tun, damit Programmierer fehlerfreien Code schreiben?
Wie finde ich einen guten Programmierer und was ist, wenn der Programmierer schlecht ist?Es gibt zwei Lösungen:
- "gute Programmierer" einstellen;
- die schlechten zu beseitigen, indem das Negative um die Idee eines Fehlers oder Fehlers verstärkt wird, den sie möglicherweise verursachen können.
Wir stellen die Guten einerseits ein und erschrecken andererseits die Schlechten, damit sie gut werden. Ich finde diesen Ansatz überall. In dem Bericht werde ich versuchen, eine alternative Lösung anzubieten, die in unserem Unternehmen funktioniert, und wir arbeiten in unseren Projekten.
Wir stehen Bugs positiv gegenüber . Wir glauben, dass die Fehler und Mängel, die Programmierer verursachen, ein natürlicher Bestandteil jedes Prozesses zur Erstellung eines Softwareprodukts sind. Fehler sind notwendig, sie müssen es sein, sie sind notwendig. , Production, , . , , , — . , - . .
: , , ? , , ?: . , , , . . — , , . , , .
. .
, , , , , , , 100%? , , , . , ,
, . . . , , , , - , , - , , . . , . , , .
: , . , - Production, , - . , ? -, ?: , , .
. , , , , —. . , , , , Code review. , Code review-, contribution , , Production.
: , ?: . . , .
: , ,: : « Big Data ? ?» , , , . , web. , . , . , , , , . Big Data .
: , GitHub, 1700 300 , . . , , ? , - , ?: -, . 2009 GitHub. , , . - , Open Source , , . , , . , , , .
,
, , , . Open Source. ,
. , , . , - , , , 10 . , . , Open Source .
, , Java , , . , , , . - , , — . , , pull request production.
Open Source. pull request. A pull request , , . , Open Source . , . , , . , . , , , , , . . , , . , deployment, . , .
, , : «, ? , ». . — 15% , 85% — . , . , , , , . — .
. , . . , , . . , : « , . , , Open Source, - Open Source».
- . - . Open Source, GitHub Stack Overflow. , , . , , pull request-, , , pull request-. , .
— . — . 10-15 , , . , GitHub.
deployment
: , , . , , - , . , - . ?: . , 25 . . — 70, , , 70 . , . — Zold, Ruby gem, .
deployment, , , . . 70 e-mail, Bitcoin, , . . . , , . , , . , . , , -- , 5-7 . . deployment . - , . , , , .
: , AppsConf , 8-9 . , , .: , . , , . , , . , .
, , .