Stack Overflow Creator: „Entwickler sind diejenigen, die das Skript für die Zukunft schreiben.“

Bild

Willkommen alle. Danke für die Einladung.

Hinter mir sehen Sie das Cockpit des Douglas DC-3. So wurde dieses Flugzeug im Jahr 1935 gebaut; Achten Sie darauf, dass jeder Indikator, jedes Panel, jeder Sensor und jeder Schalter irgendwie mit dem Flugzeug selbst verbunden ist. Wenn Sie also am Steuergriff dieses Schiffes ziehen, ziehen Sie in Wirklichkeit alle Kabel und Stöße, die mit den Flugsteuerungsebenen des Flugzeugs verbunden sind, und dann bewegt es sich durch irgendeine Form der direkten Steuerung. Dies unterscheidet sich sehr von einem modernen Verkehrsflugzeug.

Bild

Beim Airbus A380 stehen Ihnen beispielsweise eine Reihe von "iPads" und Glasbildschirmen zur Verfügung, die im Wesentlichen Computerausgabegeräte sind, und eine Reihe von Tasten und Schaltern sind Eingabegeräte für den Computer. Das heißt, das Schiff selbst wird von einer Software gesteuert, und der Pilot ist die Verbindung. Anstelle eines Steuerknüppels haben Sie eine Tastatur, was sehr praktisch ist, wenn Sie während des Fluges Ihren Feed auf Facebook aktualisieren möchten.

Und dies ist eine Metapher für alles im modernen Leben. Viele der Dinge, die wir früher durch direkte Interaktion getan haben, verwenden jetzt Software in ihrer Arbeit. Wir stellen Alarme nicht mehr manuell ein - wir führen ein Programm aus, das uns aufweckt. Anstelle von Notizen mit Informationen senden wir Nachrichten. Anstatt auf der Straße zu stehen und ein Taxi zu nehmen, werden wir Uber anrufen ... vielleicht können wir es eines Tages in Helsinki tun.

Bild

Denken Sie jetzt über Ihre Rolle als Verbindungsmann in der Software nach. Auf der Folie sehen Sie das Lagerhaus von Amazon, das sie als Kommissionierzentrum bezeichnen, in dem Arbeiter gehen und Kisten mit Dingen füllen.

Bild

Tatsächlich haben sie keine Ahnung, was genau sie tun. Am Handgelenk befindet sich ein Armband, das ihnen buchstäblich sagt, wohin sie gehen sollen und was sie aus welchem ​​Regal nehmen sollen. Sie müssen nicht einmal genau wissen, was sie nehmen - sie scannen den Barcode und legen den Artikel in die Schachtel.

Bild

Somit findet der gesamte Prozess über Computersoftware statt. Und wenn Sie an diese Mitarbeiter im Amazon-Lager denken, dann sind sie in gewisser Weise das gleiche Ausgabegerät für einen Softwareentwickler, der versucht, Code zu schreiben, in den die Box gepackt und gesendet wird. Tatsächlich konnten Softwareentwickler alle Arbeiter auf dem Rasen vor dem Lager versammeln, sie in riesigen Buchstaben bauen, ihre Namen schreiben und ein Foto von der Drohne machen. So können Amazon-Programmierer Spaß haben. Und dafür können sie schießen.

Die gesamte Unterstützung für Amazon-Lager wurde von Entwicklern geschaffen, die eines Tages bemerkten, dass niedrige Arbeitskräfte einige Regale nicht erreichen konnten. Sie mussten die Arbeit einstellen, die Treppe verlassen und zum höchsten Regal klettern, das gut fallen konnte. Daher erhielten die Entwickler von der Personalabteilung eine Datenbank über das Wachstum aller Kollegen und änderten ihren Code so, dass nur hohe Mitarbeiter die Waren aus hohen Regalen holten. Und wenn Sie darüber nachdenken, ist es wirklich cool, die gesamte Arbeit mit Software zu verwalten und nicht zuzulassen, dass sich Menschen in den Prozess einmischen. Schließlich kann Software so viele Dinge selbst erledigen. Er kann seine eigene Meinung haben, es kann auch ein Vermittler sein. Die Leute schaffen es und meine Frage ist: Wer sind sie? Wer sind diese Softwareentwickler, die unsere Zukunft gestalten?

Lassen Sie mich Ihnen eine kleine hypothetische Geschichte erzählen. Sag mir, ob dir das passiert ist ... Du rufst deinen besten Freund an und fragst, ob er mit dir zur Party gehen wird. Er findet eine Entschuldigung, indem er sagt, dass er krank / beschäftigt / müde / mit Arbeit überfordert ist / nicht einmal in der Stadt. Okay, ein paar Tage später gehen Sie zu Facebook und sehen, dass Ihr bester Freund tatsächlich zur Party gegangen ist, und sogar mit ... nun, ich weiß nicht, Ihrer Ex-Frau.

Bild


Nun, was ist passiert? Aus irgendeinem Grund geschieht dies zunehmend in diesem sozialen Netzwerk. Zuerst wollte Facebook Ihnen nur ein Ereignis auf der Welt zeigen und entschied dann, dass es interessanter sein würde, weil Ihr Freund und eine andere Person aus der Liste Ihrer Freunde dort teilnehmen - es ist einfach so passiert, dass dies Ihre Ex-Frau ist. Auf jeden Fall ist dies nicht das freudigste Ereignis des Tages, und Sie sind weitere sechs Monate traurig.

Dies ist das Problem der Mediation. Im Gegensatz zu Amazon, Uber oder Ihrer Alarmsoftware ist Facebook nicht die Verbindung zwischen Ihnen und den Objekten auf der Welt. Er fungiert als interner Vermittler zwischen Menschen, und das ist bereits wichtig.

Eine Gruppe akademischer Forscher führte eine Studie mit Personen durch, die Facebook-Seiten haben. Meiner Meinung nach nahmen sechshundertneunundachtzigtausend Menschen an diesem Experiment teil.

Bild

Die Forscher führten den Newsfeed dieser Leute durch - einigen wurden nur gute Nachrichten gezeigt, einige waren nur traurig, und sicher gab es immer noch eine Kontrollgruppe. Die Entdeckung war absolut erstaunlich. Sie fanden heraus, dass die Gruppe, der nur gute Nachrichten gezeigt wurden, glücklich war, was nicht über eine Gruppe von Menschen mit traurigen Geschichten gesagt werden kann. Es wäre schwer zu glauben, dass alles einfach so enden würde, oder? Sie nannten es "Verhaltensinfektion" - ein so arrogantes akademisches Wort. Diese Forschung kann nicht als tief bezeichnet werden, denn genau solche Ergebnisse waren zu erwarten.

Bild

Was sie sicherlich nicht erwartet hatten, war der Hype um die Geschichte - viele beklagten sich darüber, dass die Studie äußerst unethisch sei, um die Emotionen der Menschen ohne ihr Wissen zu manipulieren. Dies ist ein Verstoß gegen ethische Standards. Aber sag mir, was macht Facebook? Was haben sie wohl den ganzen Tag gemacht? Erstens zeigen sie dir nicht absolut alles, was deinen Freunden passiert. Es gibt einen Algorithmus, der von Entwicklern mithilfe von maschinellem Lernen geschrieben wurde - es handelt sich um eine Reihe von Matrixmultiplikationen -, die versuchen, Ihnen die Nachrichten in völlig zufälliger Reihenfolge anzuzeigen. Aber was ist das für ein Algorithmus? Worauf basiert es? Zu welchen Zwecken versucht Facebook, seine Arbeit zu optimieren? Was wollen sie schaffen? Woran orientieren sie sich bei der Auswahl von Nachrichten, die in Ihren Feed fallen?

Ihr Ziel ist es nicht einmal, der Wissenschaft zu helfen und Verhaltensinfektionen zu erkennen. Ihr Ziel ist es, Sie dazu zu bringen, Facebook weiterhin zu nutzen. Deshalb optimieren sie ihre Arbeit. Sie suchen nach Dingen, die Sie dazu bringen, sich zu engagieren, und mit „Engagement“ meinen sie echtes Interesse, wenn Sie beispielsweise Nachrichten an Ihre Freunde senden. Dies ist ein Zeichen Ihres Engagements. Und jetzt haben Sie diesen Algorithmus, dessen Zweck darin besteht, Entscheidungen darüber zu treffen, welche Nachrichten die Welt sieht, welche Art von Engagement, auf welche Menschen „geklickt“ wird und woran sie interessiert sind.

Als wir angefangen haben, soziale Netzwerke aufzubauen ... sage ich "wir", aber natürlich war ich es nicht. Als die High-Tech-Industrie begann, Twitter und Facebook und dergleichen zu schaffen, gab es viele Neuigkeiten darüber, wie dies der Demokratie helfen wird, dass soziale Netzwerke Kommunikationsinstrumente von Revolutionären in diktatorischen Staaten auf der ganzen Welt sind. Usw.

All dies wurde als sehr utopisch empfunden, alle dachten, dass Twitter und Facebook der Welt große Vorteile bringen würden. Dies erinnert mich daran, wie früher das Fernsehen auch eine wunderbare Sache war, wie Bauern in Ägypten es sahen und lernten, wie man Brot backt, Dosen öffnet und wie die ganze Welt dank der pädagogischen Fähigkeiten des Fernsehens viel besser wird. Tatsächlich haben wir Lucille Ball, Louis Cay und anderen Unsinn.

Ich denke also, dass ungefähr dasselbe mit sozialen Netzwerken passiert ist: Wir begannen auch zu hoffen, dass sie unsere Kommunikation qualitativ verbessern würden. In der Tat haben wir Blasen. Blasen, in denen Menschen nur sich selbst und ihre Seite hören. Alle in Amerika waren von den Ergebnissen der Präsidentschaftswahlen überrascht. Und dies geschah aufgrund der Twitter- und Facebook-Algorithmen, die Nachrichten mit einer ähnlichen Meinung wie Sie hervorbrachten. Die New York Times analysierte diese Situation tatsächlich auf die Verbreitung falscher Nachrichten, da dies tatsächlich wichtig ist.

Bild


Dieser Typ ging durch seine Heimatstadt Austin, als er ein paar Busse sah. Er sah auch Demonstrationen oder hörte, dass in Austin Proteste gegen Donald Trump stattfinden. Und so erschien ein gefälschter Tweet, dass Anti-Trump-Demonstranten für den Protest bezahlt wurden, und das alles wegen der Busse, in denen sie ankamen. Das Tweet-Foto sollte die Busse zeigen, die Demonstranten beispielsweise aus Mexiko brachten. Tatsächlich waren die Busse für eine Technologiekonferenz gedacht, die immer in Austin stattfindet. Aber die Geschichte begann ihr eigenes Leben zu führen, weil sie bestimmte Menschen aufregte. Sie sprachen immer mehr über sie, die Geschichte erreichte die Reddit-Website oder besser gesagt den Subreddit über Trump. Es endete damit, dass sogar der gewählte Präsident der Vereinigten Staaten diese falsche Geschichte erzählte.das hatte keine Beweise. Und es brauchte nur eine Person mit einem Twitter-Account, die entschied, dass die Geschichte interessant sein könnte.

Die Geschichte hat sich nicht so sehr verbreitet, weil sie wahr oder wichtig war. Dies geschah, weil sie die Leute sauer machte. Und die ideale Formel für den Austausch von Informationen auf Twitter und Facebook ist eine Kombination aus Gerechtigkeit und Ressentiments bei Menschen. Es gibt ein solches Zitat: „Eine Lüge wird um die halbe Welt gehen, während die Wahrheit in die Hose geht“, und ich denke, diese Lüge wird für immer in Erinnerung bleiben. Dass es wirklich professionelle Teilnehmer gab (Geld ausarbeiten - ca. Übersetzer), protestierte gegen Trump. Noch vor dem Aufkommen der sozialen Netzwerke, als jeder Idiot mit einer Kamera falsche Nachrichten verbreiten konnte, gab es eine Printpresse. Dort ging es um viel Geld und um ein Verantwortungsbewusstsein gegenüber der Welt für die Veröffentlichung von Nachrichten. In gewisser Weise kann dies als journalistische Ethik bezeichnet werden.

Ich denke, dass sich jetzt viele Leute, die in der High-Tech-Industrie arbeiten, fragen - vielleicht haben Sie und ich versehentlich das Ministerium für Wahrheit aufgebaut, anstatt einen utopischen Mechanismus zu schaffen, einfach weil soziale Netzwerke einfach so funktionieren? Alles, worüber ich spreche, wurde durch die Vermittlung von Software erstellt und aktiviert, da seine Hauptaufgabe darin besteht, eine Verbindung zwischen Menschen herzustellen. Was ist Software? Reden wir ein wenig darüber. Software ist eine Reihe von Codezeilen. Was ist eine Codezeile? Eine Codezeile ist eine Kapselung, über die Sie zwei Dinge wissen müssen.

Erstens wird es in Zukunft funktionieren, es ist real. Und in gewissem Sinne ist dies die Zukunft. Dies ist ein winziger Teil der Zukunft, aber wenn Sie alles zusammenfügen, wird die Zukunft immer mehr. Zweitens repräsentiert eine Codezeile viele Entscheidungen, eine ganze Reihe persönlicher Entscheidungen, die ein Softwareentwickler trifft. Jedes Wort, jede Zeile, jeder Parameter, jede Funktion, jeder Funktionsaufruf, all dies sind winzige Entscheidungen, die ein Programmierer getroffen hat, und jede Entscheidung, die er getroffen hat, wird die Zukunft beeinflussen.

Deshalb sagen wir bei Stack Overflow, dass Entwickler ein Skript für die Zukunft schreiben. Sie sitzen und schreiben ein Skript, das in Zukunft vollständig implementiert wird. Was Sie sonst noch über die Software wissen müssen, ist, dass sie in den letzten 30 Jahren komplizierter geworden ist. Als ich vor 30 Jahren mit dem Programmieren anfing, war alles viel einfacher. Dies ist VisiCalc, die bekannteste Software, die auf Apple II verwendet wurde. Der Apple II-CPU-Chip, den ich jetzt in der Hand halte, scheint viel schlauer zu sein als der Computer selbst. Unter Apple II konnte man addieren, subtrahieren, möglicherweise multiplizieren, aber etwas zu teilen war eine unmögliche Aufgabe. Dazu musste eine Art Benutzercode geschrieben werden.

Als ich 1987 im College anfing, Unix zu verstehen, war es genug, zwei nicht so dicke Bücher zu lesen - und Sie wussten alles über Software. Es war sehr einfach. Die Tatsache, dass wir jetzt in einer Welt leben, in der wir von Uber, Stripe, Zahlungssystemen, Google Maps und anderen umgeben sind, hat sich geändert. Und jetzt, wenn Sie Software erstellen, können Sie ganz einfach das nutzen, was bereits vorhanden ist. Wenn Sie eine Karte anzeigen möchten, können Sie auf Google Maps zurückgreifen, wodurch die Karte in einer Millionstelsekunde geöffnet wird. Wenn Sie ein Auto anrufen möchten, natürlich nicht in Helsinki, können Sie Uber und dessen Schnittstelle verwenden - das Auto wird in etwa 1,5 Codezeilen ankommen. Wenn Sie eine Zahlung vornehmen möchten, verwenden Sie die Stripe-Oberfläche. Wenn Sie diese Dinge kombinieren möchten, können Sie auch sehr komplexen Code erstellen. Der Code,bestehend aus zehn Zeilen. Ziemlich cool, oder?

Google Maps, oder besser Satelliten im Weltraum, hat ein hochauflösendes Foto unseres Planeten aufgenommen, das Sie in Ihrem eigenen Code mit nur einer Zeile verwenden können. Sie können ein Fahrzeug mit einer fahrenden Person anrufen, und ich werde nicht einmal darüber sprechen, wie viele Codezeilen sich im Auto befinden. Ein Zahlungsverarbeitungssystem, das, ich weiß nicht einmal, 200 Länder und 9 Millionen (und das ist die tatsächliche Anzahl) Codezeilen abdeckt, die Teil des globalen Zahlungsverarbeitungssystems sind, können Sie auch einige Codezeilen aufrufen. Etwa der gleiche Betrag wird benötigt, um den Teilungsprozess auf dem Apple II abzuschließen. So wurde es kompliziert.

Bild

Aber was bedeutet das? Und die Tatsache, dass manchmal etwas schief gehen kann und das System schwer zu debuggen ist. Angenommen, Sie haben in Ihrer Anwendung eine Google-Karte platziert und benötigen nur eine Codezeile. Ich würde es so nennen, da ich ein paar Semikolons sehe, sind dies zwei Codezeilen. Sie geben die Karte in Ihren Code ein und stellen fest, dass die Karte beim Scrollen des Mausrads zunimmt und abnimmt. Sie möchten nicht, dass dies geschieht, und versuchen, das Scrollrad zu deaktivieren. Und Sie haben keinen Erfolg, weil Sie nicht verstehen, wie Google Maps funktioniert, weil Sie nur einen Teil des Codes aus dem Internet kopiert und in Ihren Code eingefügt haben. Außerdem stoßen Sie nicht auf einen Skalenkorrektor, und Sie glauben, dass Ihr Problem dadurch gelöst wird, wenn Sie ihn ausschalten. Aber es kommt nicht wieder heraus.

Bild

Was tun? Sie verstehen auch nicht, wie Google Maps funktioniert. Sie können den Anweisungen im Buch folgen - bei Amazon bestellen, auf Lieferung warten, alle 465 Seiten lesen.
Vielleicht werden Sie anfangen, die Struktur der Plattform zu verstehen und die Antwort auf Ihre Frage zu finden. Und Sie können in die Suchmaschine schreiben: "Schalten Sie das Scrollrad auf Google Maps aus."

Bild

Möglicherweise sehen Sie, dass diese Frage vor Ihnen gestellt wurde. Wenn nicht, können Sie es online selbst fragen und eine Lösung für Ihr Problem erhalten.

Bild

Bei Stack Overflow ist dies beispielsweise eine Site, die Jeff Atwood und ich 2008 gestartet haben.

Also, ein paar Dinge, die Sie über unsere Website wissen müssen. Derzeit wurden 13 Millionen Fragen zu Stack Overflow gestellt - und hier geht es nur um Programmierung, und es gibt 150 weitere Websites zu anderen Themen. 20 Millionen Antworten wurden von Programmierern auf der ganzen Welt geschrieben. Wir haben 113 Millionen eindeutige Seitenaufrufe und ungefähr 781 Millionen monatliche Seitenaufrufe. Dies ist ein absolut gigantisches Netzwerk.

Was uns ein bisschen von anderen Seiten unterscheidet, ist die Abstimmung. Wenn Sie eine Antwort sehen, können Sie dafür oder dagegen stimmen, je nachdem, ob sie zu Ihnen passt.

Bild

Und bereits diese Funktion macht Stack Overflow zu einer leistungsstärkeren Ressource für Entwickler, die ihre Probleme lösen. Abstimmungen stehen in direktem Zusammenhang mit dem Ruf. Wenn Ihre Antwort beworben wird, steigt auch Ihr Ruf, der in Ihrem Profil angezeigt wird.

Bild

Wir verfolgen auch die Anzahl der Personen, denen Sie geholfen haben.

Und das führt uns zu der nächsten Frage, die sie mir immer stellen: Wie machen wir Geschäfte und wie verdienen wir Geld? Wir suchen großartige Programmierer, die großartige Arbeit auf der Website leisten und großartige Arbeit für sie finden. Mit Ihrem Stapelüberlaufprofil können Sie jetzt nicht nur Ihre Erfolge auf der Website anzeigen, sondern auch Ihre eigene Entwicklergeschichte erstellen.

Es zeigt alles an, woran Sie arbeiten, alles, was Sie wissen und nicht wissen. Wenn Sie die Einstellungen ändern, können Sie sie für bestimmte Arbeitgeber öffnen, die Sie über das Stack Overflow Talent einstellen.

Lassen Sie mich zusammenfassen. Es mag seltsam klingen, aber die Welt ist so geworden, dass alles in ihr durch Software bestimmt wird - sogar so einfache Dinge wie ein Wecker oder ein Taxi-Anruf. Und es scheint, dass dies überhaupt nicht wichtig ist. Dies wird jedoch wichtig, wenn Präsidentschaftswahlen auch mit Software stattfinden. Alle Entscheidungen, die Entwickler treffen, sind unglaublich wichtig. Und es ist wichtig für uns zu verstehen, wer genau diese Softwareentwickler sind. Wir müssen sie als Philosophen-Dichter unserer Zeit wahrnehmen. Und deshalb sind wir bei Stack Overflow so besessen von ihnen. Unsere Mission ist es, ihnen zu helfen, Wissen auszutauschen und ihr Niveau zu verbessern.

Vielen Dank!




Bild
Erfahren Sie in SkillFactory-Onlinekursen, wie Sie einen begehrten Beruf von Grund auf neu erlernen oder Ihre Fähigkeiten und Ihr Gehalt verbessern können:




All Articles