Wie ist es, Kotlin zu machen: ein Interview mit Andrei Breslav



    Es gibt keinen Mangel an technischem Material über Kotlin, es gibt viele Orte, an denen man etwas über Korutin oder Nullwertigkeit lernen kann. Die andere Seite bleibt jedoch weniger beleuchtet: Wie sieht der Sprachentwicklungsprozess aus? Wie werden Entscheidungen getroffen? Was sind die Aufgaben der "wichtigsten Person"? Hat er noch Zeit für etwas anderes?

    Und jetzt, als Kotlin 1.3 herauskam, fragten wir „den wichtigsten“ Andrei Breslav nicht nach Korutiny, sondern nach etwas völlig anderem: von dem, was er Kotlin angetan hatte, bis zu was für eine Psychotherapie nützlich ist.

    - Sie entwickeln eine Programmiersprache. Hast du so etwas schon mal gemacht?

    - Vorher habe ich viel programmiert und war wissenschaftlich tätig. Es handelte sich um eine rein spekulative Forschungstätigkeit zu domänenspezifischen Sprachen (DSL) ohne Benutzer. Jetzt ist alles anders: die Universalsprache, eine Reihe von Benutzern und Aufgaben im Zusammenhang mit der Entwicklung in der realen Welt.

    - Warum brauchst du das alles?

    - Dies ist eine ziemlich interessante Ingenieuraktivität. Es ist ungewöhnlich, mit großem Engagement - wenn Sie etwas Gutes schaffen, erhalten Sie eine große Wirkung. Einmal und global hat sich das, worüber die Leute schreiben, verändert. Als ich anfing, mit Kotlin zu arbeiten, war mir klar, dass dies möglicherweise ein Produkt mit einer großen Anzahl von Benutzern ist. Das Risiko ist natürlich hoch, aber auch die Motivation ist hoch. Dies ist interessant, weil das System komplex ist und viel anderes Wissen beinhaltet. Dies sind wahrscheinlich die wichtigsten Dinge: große Wirkung und komplexe und interessante Aufgaben.

    - Dies ist die Motivation für den Technikfreak. Im Allgemeinen im Leben - warum tust du das? Sie könnten zum Beispiel ein Politiker oder sonst jemand sein.

    - Die Frage ist kompliziert. Ich habe mich früh genug für einen Beruf entschieden. Was ich damals tat, was ich damals mochte, war das, worauf ich mich viel Zeit widmete. Ich habe gern in der Schule programmiert, ich habe viel programmiert und bin an die Universität gegangen. Dann wechselte er schnell zum Lehrer, zuerst acht Stunden lang, wahrscheinlich etwa acht Jahre, dann - parallel zur Arbeit des Programmierers - und wechselte schließlich zu Kotlins Entwicklung. Ich habe auch versucht, Wissenschaft und Informatik zu studieren, aber in der akademischen Welt hat es mir nicht gefallen.

    - Im öffentlichen Bewusstsein ist die Entwicklung einer Programmiersprache die Informatik.

    - Nun, im öffentlichen Bewusstsein oft gemischt Konzepte. Die Entwicklung einer Programmiersprache ist ein Ingenieursjob, Informatik ist das Studium von etwas Neuem, hier bedarf es einiger wissenschaftlicher Neuerungen. Um ein wissenschaftliches Ergebnis zu erhalten, müssen die Ergebnisse zumindest irgendwie messbar oder nachgewiesen sein. Im Falle einer Programmiersprache ist es extrem schwierig, häufig verwendete Werte zu messen. Es gibt Leute, die sich mit der Entwicklung akademischer Sprachen beschäftigen - auf Haskell wurde eine unglaubliche Menge wissenschaftlicher Arbeit geschrieben, und es wurde speziell dafür entwickelt, um damit Theoreme zu beweisen. In Bezug auf die Sprache wie Kotlin ist der Satz extrem schwer zu beweisen, weil er einfach nicht dafür ist. Aus der Sicht der Mathematik sind Mainstream-Sprachen sehr schmutzig, es ist sehr schwierig, dort etwas zu formalisieren. Leute versuchen es, dafür werden kleine Versionen dieser Sprachen erstellt. Und es stellt sich heraus, dass die Beweise, die für diese kleinen Versionen geschrieben wurden, für die großen möglicherweise nicht funktionieren. Vor nicht allzu langer Zeit war RaspiarennayaArtikel Ross Tate und Nada Amin über die Tatsache, dass das Scala- und das Java-Typensystem unzuverlässig sind. Dies liegt genau daran, dass die zuvor betrachteten kleinen Modelle eine wichtige Eigenschaft einer realen Sprache nicht berücksichtigt haben.

    - Was denkst du darüber?

    - Das ist nicht wichtig. Hauptsprachen sind schmutzig, weil es einfach keine Rolle spielt. Sehr wenige Menschen leiden unter der Tatsache, dass es keine reinen Mainstream-Sprachen gibt. Dies hat keinen spürbaren Effekt: Die Leute verwendeten Java und werden es trotz dieses Artikels verwenden. Ähnlich wie Scala. Lange Zeit war nicht bekannt, ob beispielsweise das Java-Typensystem löslich ist, ob es möglich ist, einen korrekten Compiler zu schreiben - dann stellte sich heraus, dass dies unmöglich war. Na und? Echte Programme können noch kompiliert werden. Mit dem Scala-Typ-System war ursprünglich bekannt, dass es unlöslich war. Dies ist jedoch nicht wichtig, da wir immer noch Programme mit unseren Händen schreiben und immer noch keine so seltsamen Programme schreiben, die kein moderner Compiler kompilieren kann.

    - Was ist wichtig?

    - Dies ist eine sehr interessante psychologische und philosophische Frage. Natürlich ist es wichtig, dass die Menschen nicht verärgert sind. Zum Beispiel aus der Erfahrung mit Java: Wir wissen, dass, wenn viele Wörter wiederholt werden müssen, dies ärgerlich ist. Es ist zu erkennen, dass modernes Java in der Richtung weniger wütend ist. Kotlin wurde weitgehend erfunden, als einige Dinge sehr wütend waren und Java nicht entwickelt wurde. Sie müssen das Gefühl haben, dass das System der Art, wie Sie Ihre Gedanken ausdrücken möchten, nicht wirklich widersteht. Hier habe ich etwas im Kopf, ich möchte etwas schreiben, und wenn ich dafür die Programmiersprache durchbrechen muss, ist es schmerzhaft. Das heißt, wenn es nötig ist, es die ganze Zeit zu tun, ist es hart, wenn auch selten, dann ist es normal. Ich denke, das ist eines der wichtigsten emotionalen Dinge.

    Wir sehen jetzt einige Umfragen, dass Kotlin "eine der beliebtesten Sprachen der Welt ist, Menschen, die Kotlin verwenden, lieben ihn sehr". Das ist sehr angenehm. Warum es so schwer zu sagen war. Erstens gibt es natürlich den Effekt von HYIP, denn die Sprache ist neu, wenn ein "neues Spielzeug" erscheint, ist dies an sich das Gleiche. Es scheint jedoch, dass Kotlin in der Tat nicht sehr wütend ist, das heißt, er hat im Vergleich zu anderen Sprachen weniger Widerstand, wenn Sie auf ihn anwenden, was in Ihrem Kopf geboren wurde. Die Leute interessieren sich offensichtlich dafür, wie kurz oder lang sie ihre Gedanken ausdrücken. Es ist wichtig, dass sie dasselbe nicht oft wiederholen. Es ist wichtig, wie einfach es ist, Programme zu lesen, nachdem sie geschrieben wurden.

    Die Idee der Lesbarkeit des Codes ist in den Köpfen längst aufgetaucht. Es gab mehrere Generationen von Programmiersprachen, die schwer zu lesen waren. Wahrscheinlich das klügste der späteren Beispiele ist Perl. Und in früheren Zeiten ist beispielsweise APL ein sehr guter Vertreter. Mehr oder weniger waren sich alle einig, dass das Lesen eines Programms viel wichtiger ist als das Schreiben. Übrigens sind die Programme viel größer und komplizierter geworden als zuvor, was auch diese Idee vorantreibt. Ich möchte mich irgendwie mit dieser Komplexität befassen, sie irgendwie eindämmen. Daher hassen beispielsweise viele Leute Boilerplate - den „offensichtlichen“ Code, in dem nichts Wesentliches vorhanden ist. Ich möchte es beim Lesen überspringen, aber Fehler können immer noch dort versteckt werden.

    Es ist wichtig, dass die Menschen einige Strukturen in ihren Programmen wiederverwenden können. Ich möchte nicht dasselbe tausendmal schreiben. Ich möchte wirklich einige allgemeine Strukturen in die Bibliothek bringen. Und die Abstraktionsmittel in Programmiersprachen reichen nicht immer aus, um alles wiederzuverwenden. Das ist das Gesetz des Seins. Alles auf der Welt kann niemals wiederverwendet werden. Sie können jedoch eine Klasse von Dingen auswählen, die häufig vorkommen, und lernen, diese Dinge wiederzuverwenden. So sind beispielsweise in Kotlin einige Abstraktionen aufgetaucht, die in anderen Hauptsprachen nicht vorhanden waren, beispielsweise die delegierte Eigenschaft oder Inline-Funktionen als Struktur in der Sprache. Andere Sprachen experimentieren mit anderen Abstraktionen. Zum Beispiel hat Scala eine unglaubliche Anzahl von Abstraktionen, Haskell hat viele Abstraktionen, die es sonst nirgends gibt. Dies sind alles Versuche, dies zu tun

    Diese Dinge sind offensichtlich wichtig. Natürlich sind die Menschen immer noch wichtig und nur die Kultur um sie herum. Wenn es ein Ökosystem gibt, gibt es eine Gemeinschaft, gibt es die Möglichkeit, mit jemandem zu kommunizieren, Antworten auf Ihre Fragen zu erhalten, es gibt Bibliotheken, die sich entwickeln, irgendeine Art von Infrastruktur - es unterstützt uns sehr, die Menschen glauben, dass das System lebt, es ist schön, darin zu sein.

    - Tun Sie irgendwie etwas, das Kultur unterstützt?

    - Wir sind sehr bemüht, mit der Community zusammenzuarbeiten. Es ist sehr freundlich hier. Die Leute beantworten gerne Fragen, schlagen Neuankömmlingen etwas vor und besprechen komplizierte Dinge. Die Community lebt, wir benutzen Slake, dort haben wir unglaublich viele Leute - Zehntausende, so scheint es. Natürlich sind nicht alle aktiv, aber trotzdem. Es gibt viele aktive Benutzer, die miteinander kommunizieren. Wir arbeiten mit ihnen zusammen - wir beantworten Fragen selbst und versuchen sicherzustellen, dass alles zivilisiert ist. Wir helfen auch, Benutzergruppen zu organisieren, sie scheinen bereits unter zweihundert zu sein, wenn ich mich nicht irre. Dies ist auch eine sehr angenehme Geschichte, es ist cool, sich die Benutzergruppenkarte anzusehen, es gibt viele Orte - von den größten technischen Zentren bis zu Ländern, die ich in Afrika nicht kenne. Wir versuchen aktive Menschen in der Gemeinschaft zu unterstützen. Wenn jemand viele Posts schreibt, Tutorials erstellt, Bibliotheken schreibt, versuchen wir, diese Leute irgendwie hervorzuheben, sie zu unterstützen, ihnen die Möglichkeit zu geben, zu sprechen. Wir halten unsere Konferenz abKotlinConf , die Leute schicken ihre Berichte dorthin, wir wählen die interessantesten aus. Wir arbeiten also sehr aktiv mit der Community zusammen.

    - Ich verstehe richtig, dass du auch selbst antwortest?

    - Ich antworte nicht oft, ich habe nicht immer genug Zeit, um dem zu folgen, aber es kommt vor, dass ich antworte. Manchmal arrangieren wir einige gezielte Aktivitäten. Sobald es eine Video-Engine gab , als wir Fragen auf Twitter sammelten und die Antworten streamen, setzte ich mich und beantwortete Fragen. Es gab auch ein ziemlich erfolgreiches "Fragen Sie mich irgendwas" auf Reddit.

    „Als wir nach Leuten suchten, die über Programmiersprachen, Bibliotheken usw. sprechen konnten, stellte sich heraus, dass die Fertigkeiten„ gute Programmierung “und die Fertigkeiten„ gutes Sprechen “nicht so üblich sind. Wie finden und finden Sie Personen für sich selbst? Wie soll die Person aussehen, die gleichzeitig über Benutzer und Code nachdenken sollte?

    - Zum Glück benötigen solche Leute eine begrenzte Anzahl. Es ist klar, dass jeder Entwickler irgendwie über Benutzer nachdenken muss. In diesem Sinne, wenn eine Person sehr gut programmiert, aber etwas abstraktes von Benutzern programmiert, ist es unwahrscheinlich, dass wir eine gemeinsame Sprache mit ihm finden. Bis zu einem gewissen Grad sollte sich jeder um den Benutzer kümmern. Es gibt eine kleine Anzahl von Menschen, die viel mit Benutzern arbeiten, das heißt Menschen, die solche Neigungen haben. Dies hängt nicht sehr mit der Fähigkeit zusammen, einen langen Bericht brutal zu erzählen, dies ist eine etwas andere Tätigkeit. Im Allgemeinen sind Schreiben und Schreiben sehr unterschiedliche Fähigkeiten, und es gibt Menschen, die mit großer Freude detaillierte, detaillierte Texte schreiben und gleichzeitig nicht gerne sprechen, da dies ein anderes Format der Interaktion ist. Es gibt Menschen, die beide lieben. Das ist mein Fall aber ich spiele weniger mit Folien als an einem lebhaften Dialog teilzunehmen. Zum Glück hatte ich auf TechTrainQ & A-Format : Die Leute stellten mir Fragen und ich antwortete. Denn jedes Mal, wenn ich einen Bericht gebe, habe ich das Gefühl, dass die Struktur der Folien, die ich zuvor erstellt hatte, irgendwie falsch ist. Nach dieser Logik wäre die Geschichte etwas anderes wert, aber die Folien sind unterwegs nicht ändern, und es stört.

    - Die übliche Frage: Was hat Sie dazu gedrängt, den ersten Bericht zu erstellen?

    - Jetzt werde ich versuchen mich zu erinnern, wie es war. Es ist sehr einfach zu sagen, wann der erste Bericht über Kotlin war - wir haben Kotlin auf dem JVM Language Summit angekündigt2011 bestand die Aufgabe, das Projekt so laut wie möglich anzukündigen. Und wir wollten Feedback von den Experten einholen. In diesem Jahr habe ich erste große öffentliche Berichte gemacht, dies waren meine ersten englischen Reden. Das heißt, ich wurde ausschließlich von Marketingbedürfnissen angetrieben.

    - Gibt es erstaunliche Beobachtungen aus den Berichten? Etwas, das du nicht über Leute wusstest?

    - Vor allem nichts überraschend. Ich habe aber vorher schon viel gelehrt, und im Allgemeinen sind die grundlegenden Dinge klar. Zum Beispiel kommen nicht alle Leute zu dem Bericht, um etwas zu lernen. Ich bezweifle, dass sogar die Hälfte des Publikums wirklich etwas lernen wird. Viele, die kommen, um mit dem Sprecher zu sprechen. Wenn zum Beispiel eine Person aus irgendeinem Grund wie ich („einer der Schöpfer von Kotlin“) bekannt ist, kommen die Leute zu meinem Bericht, nicht weil sie etwas über Kotlin wissen wollen, ich stelle eine Frage, sondern einfach weil Dies ist ein Bericht von einer Person, von der sie zuvor gehört hat. Einige Leute kommen, um sich zu zeigen, und dies geschieht sowohl konstruktiv als auch nicht. Manchmal stellen Leute, die sich zeigen, sehr interessante Fragen. Ich bin nicht sicher, ob sie sich dessen bewusst sind, aber was ihre Aufgabe ist, wollen sie irgendwie ausführen. Sie stellen interessante Fragen, weil sie einige Gedanken haben. Und manchmal möchten Sie sich zeigen, aber Sie konnten keine interessante Frage finden, dann werden die Fragen als seltsam empfunden. Nun, es gibt diejenigen, die dem Sprecher oder allen Anwesenden etwas beibringen möchten. Manchmal ist es sehr komisch, wenn eine Person kommt, und statt Fragen zu stellen, formuliert sie einfach ihre Meinung und hält eine ganze Rede.

    - Gab es so eine Person, die Ihnen etwas beigebracht hat?

    - Über "unterrichtet" ist schwer zu sagen. Vielleicht war es das, aber ich erinnerte mich einfach nicht. Es ist jedoch klar, dass Menschen, wenn sie eine Meinung äußern, in der Regel repräsentativ sind - einige Personen glauben dies. In diesem Sinne ist diese Meinung immer wertvoll. Eine andere Sache ist, ob es sinnvoll ist, es in einem solchen Format auszudrücken - wenn Sie eine Frage zu einem Bericht stellen - ist es schon schwer zu sagen. Im Allgemeinen sind jedoch Meinungen, insbesondere solche, die mir unrichtig erscheinen, wichtig, denn es kommt nicht nur darauf an, was tatsächlich stimmt, sondern was die Menschen denken. Wenn jemand eine Kette von Argumenten im Kopf hat, auch die, die ich widerlegen kann, ist es für mich wichtig zu wissen, dass es entsteht, und dann kann ich damit umgehen. Im Prinzip ist das alles nützlich. Eine andere Sache ist, dass es immer auf unterschiedliche Weise dargestellt wird.

    Wir hatten zu einem frühen Zeitpunkt, auch wenn Kotlin sich nicht entlassen hatte, alle möglichen lächerlichen Gespräche geführt. Irgendwie haben wir mit Stephen Colborn gesprochen, und er hat viel mit uns darüber gestritten, dass das Schreiben von Typen auf der rechten Seite nach einem Doppelpunkt schrecklich ist. Es ist notwendig, Typen auf der linken Seite zu schreiben. Und jedem, der zumindest ein wenig in Zungen gegangen war, war klar, dass dies ein Punkt von Waggarden mit stumpfen Spitzen ist - nichts, es spielt keine Rolle. Pascal war bereits populär, Scala. Welchen Unterschied macht es, aus welchem ​​Typ er schreiben soll? Wo es aus Sicht der Struktur der übrigen Sprache bequemer ist, muss dort geschrieben werden. Es gibt jedoch Menschen, die glauben, dass dies wirklich sehr wichtig ist, und bereit sind, viel Energie zu investieren, um darüber zu diskutieren. Das ist seltsam, aber Sie müssen immer noch einige Argumente formulieren, denn eine solche Person ist nicht allein, sie ist nicht einfach passiert. Steve klammerte sich nicht nur daran, und der Rest kümmerte sich nicht darum - nein, es gab eine ausreichend große Gruppe von Leuten, die es für wichtig hielt. Über Syntax ist häufig der Fall. Programmiersprachen sind recht komplex und nicht viel von diesem Bereich ist leicht verständlich. Und die Syntax ist klar, die Syntax ist einfach. Zunächst wurde sehr vielen beigebracht, wie dies alles gestaltet wird, die Universität hat oft einen Kurs zu formalen Grammatiken. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Es gab eine große Gruppe von Leuten, die es für wichtig hielt. Über Syntax ist häufig der Fall. Programmiersprachen sind recht komplex und nicht viel von diesem Bereich ist leicht verständlich. Und die Syntax ist klar, die Syntax ist einfach. Zunächst wurde sehr vielen beigebracht, wie dies alles gestaltet wird, die Universität hat oft einen Kurs zu formalen Grammatiken. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Es gab eine große Gruppe von Leuten, die es für wichtig hielt. Über Syntax ist häufig der Fall. Programmiersprachen sind recht komplex und nicht viel von diesem Bereich ist leicht verständlich. Und die Syntax ist klar, die Syntax ist einfach. Zunächst wurde sehr vielen beigebracht, wie dies alles gestaltet wird, die Universität hat oft einen Kurs zu formalen Grammatiken. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Programmiersprachen sind recht komplex und nicht viel von diesem Bereich ist leicht verständlich. Und die Syntax ist klar, die Syntax ist einfach. Zunächst wurde sehr vielen beigebracht, wie dies alles gestaltet wird, die Universität hat oft einen Kurs zu formalen Grammatiken. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Programmiersprachen sind recht komplex und nicht viel von diesem Bereich ist leicht verständlich. Und die Syntax ist klar, die Syntax ist einfach. Zunächst wurde sehr vielen beigebracht, wie dies alles gestaltet wird, die Universität hat oft einen Kurs zu formalen Grammatiken. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Da dies alles gestaltet ist, bietet die Universität häufig einen Kurs zu formalen Grammatiken an. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist. Da dies alles gestaltet ist, bietet die Universität häufig einen Kurs zu formalen Grammatiken an. Ja, auch wenn ich nicht studiert habe, ist das alles nicht sehr schwer zu verstehen und daher gibt es viele Meinungen über die Syntax. Und je weiter (Ausführungszeitsemantik, Typsystem usw.), desto weniger Meinungen, weil es schwer zu verstehen ist. Und das ist schade, denn im Allgemeinen gibt es viele interessante Dinge zu besprechen, aber im Grunde wird die gesamte Energie der Diskussionen irgendwo im Bereich der Syntax abgebaut, egal wie traurig es ist.

    - Alle diskutieren, was sie verstehen. Okay, mach weiter. Sie arbeiten nicht alleine, sondern im Team. Bildet das Team auch eine Art Repräsentationsgruppe?

    - Natürlich. Natürlich spielen die Meinungen der Leute im Team eine große Rolle bei der Sprachentwicklung. Und das Team wird so ausgewählt, dass die Meinungen relevant sind. Im Allgemeinen ist JetBrains ein Unternehmen, das sehr auf Dogfudding angewiesen ist. Alle unsere Produkte sind aktiv dogfud (dies ist aus dem englischen Ausdruck "um die Nahrung Ihres eigenen Hundes zu essen" - wenn wir etwas tun, verwenden wir es selbst). Und Kotlin verwenden wir auch selbst und im Kotlinov-Team und darüber hinaus. Das Feedback von innen kommt am schnellsten. Wir müssen verstehen, dass wir einen bestimmten Fall haben. Zum Beispiel würden wir wirklich einige Sprachfeatures im Compiler brauchen, die sonst niemand benötigt.

    - Kannst du ein Beispiel geben?

    - Es gibt einen globalen Streit über Mustervergleich. In funktionalen Programmiersprachen ist es üblich, Musterabgleich zu haben, und in Kotlin nicht. Es gibt nur eine ziemlich begrenzte Option. Und irgendwann haben wir uns bewusst nicht voll entwickelt. Es wurde einmal entworfen, aber wir haben es nicht umgesetzt. Das Feature ist recht groß, komplex und für eine objektorientierte Programmiersprache ziemlich schmutzig. Wir haben uns die Komplexität der Implementierung dieses Features angesehen und beschlossen, es nicht zu tun und zu sehen, was passieren wird. Habe es versucht Es stellte sich natürlich heraus, dass der Compiler komfortabler geschrieben werden konnte. Und alles andere - es scheint, dass es den meisten Benutzern egal ist. Natürlich gibt es immer einen Teil der Leute, der weiß, dass es einen Musterabgleich gibt, und er möchte es in den seltenen Fällen, in denen dies relevant ist, verwenden. Aber es scheint so Wie immer benötigen über 80% der Benutzerfälle diese Funktion nicht. Es ist alles ziemlich lustig, weil Java nun versucht, in Richtung Patternmatching zu schauen, und Brian Götz und ich haben mehr als einmal darüber gesprochen. Ich habe versucht, ihn zu erregen, dass es nicht notwendig ist, Java so kompliziert zu machen, und daher ist an vielen Stellen nicht alles einfach. Aber Brian sagt, dass die Leute Muster brauchen, er hat seine eigenen Argumente. Ich verstehe immer noch nicht wirklich, wie gewichtig seine Argumente sind. Aber jetzt haben wir die Chance, dass sie dieses Feature hinzufügen, wir werden sehen, was sie tun und dort entscheiden. Aber Brian sagt, dass die Leute Muster brauchen, er hat seine eigenen Argumente. Ich verstehe immer noch nicht wirklich, wie gewichtig seine Argumente sind. Aber jetzt haben wir die Chance, dass sie dieses Feature hinzufügen, wir werden sehen, was sie tun und dort entscheiden. Aber Brian sagt, dass die Leute Muster brauchen, er hat seine eigenen Argumente. Ich verstehe immer noch nicht wirklich, wie gewichtig seine Argumente sind. Aber jetzt haben wir die Chance, dass sie dieses Feature hinzufügen, wir werden sehen, was sie tun und dort entscheiden.

    - Wenn sie hinzufügen.

    - Nun, das ist sehr wahrscheinlich. Gemessen an dem optimistischen Brian, denke ich, werden sie früher oder später dazu beitragen. Wie lange es dauern wird, ist jedoch nicht klar. Es sollte beachtet werden, dass es in Kotlin überhaupt keine Spur von Pattern Matching gibt, es gibt etwas ziemlich ähnliches. Aufgrund der Tatsache, dass wir Smartcasts haben, gibt es einen Wenn-Ausdruck, es gibt eine Zerstörungszuordnung. Im Allgemeinen wird ein sehr großer Teil der Musteranpassungsfälle in der Sprache behandelt. Wir mit ihm können nicht nur komplexe Dinge tun. Und es scheint, dass sie es nicht können. Wenn sich jedoch herausstellt, dass es immer noch sehr notwendig ist, wird es für uns einfacher, den Compiler zu schreiben.

    - Kannst du etwas über das Team erzählen - wie lebst du?

    - Wir leben viel Spaß. Wir sind schon sehr viele. Als wir anfingen, war ich der einzige Vollzeit-Entwickler, aber das war vor 8 Jahren. Seitdem sind wir stark gewachsen. Wir sind schon ungefähr 50 Leute, wir sitzen in verschiedenen Büros. In St. Petersburg vor allem, aber es gibt Menschen in München, in Nowosibirsk vielleicht werden sie in Moskau auftreten. Es gibt einige isolierte isolierte Menschen. Es gibt mehrere Teams innerhalb des Projekts. Wir haben ein Team, das sich mit dem Frontend des Compilers befasst und, wie historisch gesehen, dem JVM-Backend. Es gibt ein Javascript-Backend-Team, Kotlin / Native, ein Bibliotheksteam, das sich mit allen Bibliotheken befasst, ein IDE-Team und ein weiteres Tulling, ein Build-Tool zuerst, eine inkrementelle Kompilierung und so weiter. Wir haben ein ziemlich unterschiedliches Profil, wir machen viele Dinge, daher gibt es viele Koordinationsaufgaben: Alle Teams müssen,

    - Wie sieht es aus? Du sitzt oben, Gott auf dem Olymp, und wirfst Blitze - "Du tust das, du tust das, alles, du bist auseinandergegangen"?

    - Nein, das funktioniert natürlich nicht. Erstens ist es unmöglich, den Überblick zu behalten. Ich mache hauptsächlich Sprachdesign und einige allgemeine strategische Fragen. Dies bedeutet, dass mir in irgendeiner Form andere Überlegungen einfallen, dass jemand, der Schmerzen hat, einige Gedanken zu unserer strategischen Entwicklungslinie hat. Wir versuchen es irgendwie mit den aktuellen Fähigkeiten zu kombinieren, mit der technischen Situation: Was ist im Compiler mit uns passiert (oder ist nicht passiert) und was schadet uns in der Infrastruktur, wo wir technische Schulden gemacht haben oder etwas anderes. Dies ist alles, was Sie brauchen, um sich zu entscheiden und zu entscheiden, was wir in der nächsten großen Veröffentlichung tun. Dies ist eine kollegiale Arbeit, absolut nicht in einem Kopf. Wir betrachten das alles mit einer solchen Personengruppe: Die Sprache wird von einer Untergruppe von Personen entworfen, der technische Teil ist die sich überschneidende, aber nicht identische Untergruppe von Personen Es gibt immer noch Fragen und Antworten, die sehr mächtig sind, um zu verstehen, worauf zu achten ist, wo wir Probleme haben, wo dem Benutzer nicht klar ist, dass Support und Fragen und Antworten dies tun. Und aus all diesen vielfältigen Informationen bekommen wir ein Bild davon, wo unsere Prioritäten liegen und worauf wir achten sollten. In diesem Sinne bin ich die Person, zu der sie kommen, wenn sich herausstellt, dass nicht klar ist, was zu tun ist. Zum Beispiel ist es notwendig, zwischen zwei unvereinbaren vernünftigen Strategien zu wählen, die mit meiner Beteiligung bereits gelöst werden. Und das Design der Sprache ist für mich in dem Sinn gesperrt, dass die Sprache logisch konsistent sein muss, alle Lösungen müssen durch einen Kopf gehen. Heute ist mein Kopf. Und aus all diesen vielfältigen Informationen bekommen wir ein Bild davon, wo unsere Prioritäten liegen und worauf wir achten sollten. In diesem Sinne bin ich die Person, zu der sie kommen, wenn sich herausstellt, dass nicht klar ist, was zu tun ist. Zum Beispiel ist es notwendig, zwischen zwei unvereinbaren vernünftigen Strategien zu wählen, die mit meiner Beteiligung bereits gelöst werden. Und das Design der Sprache ist für mich in dem Sinn gesperrt, dass die Sprache logisch konsistent sein muss, alle Lösungen müssen durch einen Kopf gehen. Heute ist mein Kopf. Und aus all diesen vielfältigen Informationen bekommen wir ein Bild davon, wo unsere Prioritäten liegen und worauf wir achten sollten. In diesem Sinne bin ich die Person, zu der sie kommen, wenn sich herausstellt, dass nicht klar ist, was zu tun ist. Zum Beispiel ist es notwendig, zwischen zwei unvereinbaren vernünftigen Strategien zu wählen, die mit meiner Beteiligung bereits gelöst werden. Und das Design der Sprache ist für mich in dem Sinn gesperrt, dass die Sprache logisch konsistent sein muss, alle Lösungen müssen durch einen Kopf gehen. Heute ist mein Kopf. Und das Design der Sprache ist für mich in dem Sinn gesperrt, dass die Sprache logisch konsistent sein muss, alle Lösungen müssen durch einen Kopf gehen. Heute ist mein Kopf. Und das Design der Sprache ist für mich in dem Sinn gesperrt, dass die Sprache logisch konsistent sein muss, alle Lösungen müssen durch einen Kopf gehen. Heute ist mein Kopf.

    - Ich möchte etwas klären. Viele Unternehmen, insbesondere die Unternehmens- und Bankentwicklung, die uns heute als Sprachnutzer wahrscheinlich lesen, sind nach dem Prinzip der Armee organisiert. Wie geht es dir Dies ist die Armee, das sind Spezialeinheiten, dies ist eine Reihe von Schriftstellern - was passiert? Wenn Sie YouTrack von außen betrachten, bekommen Sie eine sehr seltsame Sicht auf das Unternehmen - es gibt sogar einige Leute.

    - Das Unternehmen und das Projekt sind ein wenig unterschiedliche Gespräche. JetBrains hat Projekte mit einer völlig anderen internen Organisation. Traditionell war JetBrains irgendwann im Morgengrauen ein Team von autonomen Entwicklern. Jeder hatte einen Verantwortungsbereich, und jeder hat mehr oder weniger über alles entschieden, was passiert ist: was zu tun ist, wie es gemacht wird, kommuniziert mit den Benutzern und so weiter. . In einigen Projekten dominiert dieses Modell noch. Die IDE ist zumindest eine sehr praktikable Sache, während die IDE noch nicht groß ist. Es gibt Projekte, die mit Scrum arbeiten. Jemand arbeitet in einem vertikalen Organisationsmodus, bei dem jemand an der Spitze entscheidet, wie er ausgeführt wird. Es ist klar, dass es dort immer noch einige unabhängige Aktivitäten gibt, aber es gibt mehr vertikale Struktur. Für uns ist es schwer zu sagen, wo wir uns in diesem Spektrum befinden. Wir haben definitiv kein Scrum, wir haben ein ziemlich leichtes Verfahren, das wir schließlich mehr formalisieren, weil wir mehr und mehr Leute koordinieren müssen - schließlich sind 50 Personen völlig ad hoc schwer zu koordinieren. Jetzt versuchen wir nur, unsere Planung ein wenig zu formalisieren, so dass wir genauer wissen, wann wir rechtzeitig kommen werden, denn Teams können manchmal nicht verstehen, welche Prioritäten jemand hat und einige Fehler treten glücklicherweise von außen nicht sehr auf. .

    Wir haben das folgende Schema: Es gibt Unterbefehle, Unterbefehle haben Timlides, Informationsflüsse fließen durch sie hindurch. Gleichzeitig werden viele Dinge im Inneren unabhängig voneinander gelöst. Wir treffen hauptsächlich wichtige Entscheidungen im Konsens. Wir reden normalerweise, bis alle zu einer mehr oder weniger verbreiteten Meinung kommen, nur wenn es nicht notwendig ist, etwas sehr Dringendes zu entscheiden. In diesem Fall kann die Entscheidung sehr schnell und schlagartig getroffen werden: "Wir machen das, wir machen das nicht, wir werden später besprechen". Das ist aber sehr selten. Wissenschaftlich wird dies wahrscheinlich als "synchrone Organisation" bezeichnet.

    - Beeinflusst die Arbeit das Gleichgewicht des Lebens?

    - sehr einflussreich. Arbeit kostet enorm viel Zeit.

    - Stellt sich heraus, dass Sie 24 Stunden arbeiten und im Büro schlafen?

    - Ich kann nicht 24 Stunden arbeiten. Es war einmal in meiner Jugend ein Jahr, in dem ich ungefähr 80 Stunden pro Woche arbeitete. Im folgenden Jahr habe ich beschlossen, dass ich nie wieder so arbeiten würde, weil es körperlich sehr schwierig ist. Ich muss die Verteilung von Arbeit und persönlicher Zeit ziemlich stark überwachen, denn sonst werde ich einfach sehr müde, höre auf zu denken und falle in einen traurigen Zustand. Ich arbeite eine festgelegte Anzahl von Stunden am Tag und versuche bewusst, am Wochenende und abends nicht zu arbeiten. Im Allgemeinen versuche ich, Zeit für andere Themen außerhalb des Büros zu verbringen. Parallel dazu habe ich ein weiteres Projekt, ein Startup über die Suche nach Psychologen und Psychotherapeuten . Dies ist auch ein Job, aber anders, und ich habe einige Zeit dafür.

    - Arbeitest du nach der Arbeit?

    - Nein, ich versuche, alles in dieser Reihenfolge zu tun: An bestimmten Tagen bin ich an einem Projekt beteiligt, an anderen - an einem anderen Projekt. Wenn Sie alles in einer Reihe machen, können Sie verrückt werden. Es ist sehr schwer, mehrere Stunden an einer Sache und dann mehrere Stunden an einer anderen Sache zu arbeiten.

    - Zu Ihrem zweiten Projekt: Sie sind Entwickler, was haben Psychologen damit zu tun?

    - Ich bin zwar ein Entwickler, aber ich höre nicht auf, ein Mann zu sein? Ich habe das Gefühl, dass der Nutzen der Psychotherapie in der modernen Gesellschaft sehr unterschätzt wird. Die Menschen haben bereits gelernt, dass es nützlich ist, ins Fitnessstudio oder an den Pool zu gehen. Viele Menschen haben gelernt, dass es nützlich ist, etwas anderes zu entwickeln - jemand liest Bücher, jemand trainiert angewandte Rationalität, etwas anderes. Dies ist die Entwicklung verschiedener "Organe", Funktionen des Körpers. Und Sie können das entwickeln, was mit Bewusstsein verbunden ist.

    Es ist schwer zu beschreiben, was ein Psychotherapeut macht. Was mich am meisten interessiert, ist die Übersetzung der Entscheidungen, die wir aus dem Automatikmodus treffen (wenn ich etwas getan habe und ich nicht weiß warum, und überhaupt nicht wusste, was ich anders tun könnte) in ein bewussteres (wenn ich etwas getan habe, ich Ich weiß warum, ich weiß, dass ich es anders hätte machen können, und ich habe die Wahl bewusst getroffen.

    Haftungsausschluss: Es ist physisch unmöglich, alle Entscheidungen bewusst zu treffen. Es ist sehr gut, dass wir über eine Art Automatik verfügen, da man sonst einfach verrückt werden kann. Jedes Mal, wenn Sie über alles nachdenken, was Sie tun, ist zu viel Zeit und Aufwand. Gleichzeitig ist es jedoch sehr wichtig, Entscheidungen treffen zu können, die wichtig sind, bewusst zu treffen, denn sie gibt Freiheit. Freiheit ist aus meiner Sicht nur die Möglichkeit, eine informierte Entscheidung zu treffen und nicht irgendeiner Art von Spur zu gehen, die von Kultur, Eltern, Traditionen oder etwas anderem vorgeschrieben wird. Dies ist eines der Dinge, das meiner Meinung nach in der modernen, fortgeschrittenen Gesellschaft ein wenig unterbewertet ist, obwohl der Wert einer solchen Freiheit, eigene Entscheidungen zu treffen, sehr wichtig ist. Und ein Werkzeug, das sehr nützlich ist, um dorthin zu gelangen, ist unterbewertet. Und es scheint mir

    Ich dachte einmal, dass ich irgendwie alles annoncieren würde, aber ich wurde mit dem Gewissen ergriffen, weil ich anfange, es zu werben, und sie werden mich fragen, wo man Spezialisten findet, die mit uns zusammenarbeiten. Zu dieser Zeit hatte ich keine Antwort auf diese Frage und deshalb arbeitete ich an einem Projekt, das mir dabei hilft, einen solchen Spezialisten zu finden. Es stellte sich heraus, dass ich überhaupt nicht über solche Dinge nachdenke. Ich habe Gleichgesinnte gefunden, mit denen wir dieses Projekt machen.

    Nun gibt es einige andere Projekte, die versuchen, so etwas zu tun. Wir haben also alles für den Ernstfall: Wettbewerb, Aufregung. Ich glaube wirklich an unser Projekt. Wir scheinen mir insofern hervorzuheben, als wir auf einige Dinge achten, die aus betriebswirtschaftlicher Sicht unbequem sind, aber aus Ergebnissicht sehr wichtig ist. Wir verpflichten uns, die Psychotherapeuten am Eingang sehr streng nach ihren beruflichen Eigenschaften auszuwählen. Wenn Sie eine Empfehlung von uns erhalten haben, handelt es sich um einen sehr bewährten Fachmann. Wir haben viel Zeit darauf verwendet, die Methode zu definieren, wie man gute Spezialisten von nicht sehr guten unterscheidet. Wir arbeiten mit Wissenschaftlern des Moskauer Forschungsinstituts PI RAO zusammen. Diese Technik ist sehr vielseitig und wir sind zuversichtlich, dass die Spezialisten, die wir anbieten, wirklich gut Außerdem sammeln wir Feedback und stellen sicher, dass wir diejenigen, die etwas falsch machen, nicht mehr empfehlen. Dies ist genau der Teil, dem unsere Kollegen aus anderen Projekten wenig Aufmerksamkeit schenken, Sie müssen mehr zahlen. Wir versuchen immer noch zu lernen, wie man automatisch abholt, was ziemlich interessant ist.

    Im Allgemeinen glaube ich, dass die Psychotherapie nützlich ist, und deshalb versuche ich, sie zugänglicher zu machen.

    - Was ist der Abzug? Wann sollte ich zur Psychotherapie gehen?

    - Es gibt zwei Ansätze für dieses Problem. Der erste ist, wenn das Gefühl besteht, dass sich etwas in der emotionalen Sphäre nicht wohlfühlt: Ich bin die ganze Zeit traurig, die gleiche emotionale Situation wiederholt sich, ich bin die ganze Zeit frustriert, wenn sie mir etwas sagen, ich habe alles in einer Beziehung mit einem Partner Zeit wiederholt das Gleiche - zum Beispiel einen solchen Kreis ein Jahr lang usw. Es macht Sinn, solche Dinge mit dem Therapeuten zu besprechen, denn zum einen ist es sehr effektiv, man kann schnell viele nützliche Dinge lernen, und zum anderen sind diese Dinge sehr schwierig, sich selbst zu realisieren, selbst wenn es mir scheint, dass ich alles verstehe - 100%, das stimmt nicht. Und es geht nicht darum, dass ich nicht klug genug bin, alles in mir selbst zu verstehen, sondern dass das Bewusstsein begrenzte Reflexionsmöglichkeiten hat:

    Ein Psychotherapeut wirkt in vielerlei Hinsicht als Spiegel. Er sollte Ihnen keinen Rat geben, eine seiner Funktionen ist das Nachdenken, um mir die Möglichkeit zu geben, wirklich zu sehen, was in meinem Kopf vorgeht. Ich werde sowieso alle Entscheidungen treffen, ich werde alle Prioritäten setzen, aber eine andere Person kann mir helfen herauszufinden, was dort wirklich los ist. Es ist wichtig, dass dies nur ein Fachmann ist, denn im Allgemeinen kann ich jemandem, der überhaupt nicht klar ist, wie er darauf reagieren wird, alles, was in meinem Kopf vorgeht, mitteilen, dass es mich unangenehm machen kann, etwas zu tun in der Zukunft wird es mich betreffen (oder sogar jemandem sagen) - das ist einfach gefährlich. Daher ist es wichtig, einen Spezialisten zu finden, der zum einen ökologisch arbeitet und zum anderen an eine Geheimhaltungsverpflichtung gebunden ist. Dies unterscheidet sich sehr von einem Freund oder Verwandten denn mit ihnen habe ich eine Art Beziehung, und wenn ich Ihnen etwas sage, kann es diese Beziehung beeinflussen. Und im Falle eines Psychotherapeuten riskiere ich, egal was ich sage, nichts besonders.

    - Es ist wie wenn Sie mit dem Compiler sprechen.

    - Nun, ich weiß nicht, der Compiler ist sehr beleidigt, kann aber nichts dazu sagen, das ist ein bisschen anders.

    Das war also ein Grund, zu einem Psychotherapeuten zu gehen. Wenn etwas unangenehm ist, passt Ihnen etwas nicht, Sie möchten etwas verbessern. Ein weiterer Grund - wenn Sie sich nur entwickeln wollen (selbst wenn alles grundsätzlich bequem ist, alles in Ordnung ist), erscheint es mir äußerst nützlich, einige Dinge zu beachten, die Sie automatisch tun. Hier mache ich etwas, das mir wichtig schien, aber ich weiß nicht warum. Es scheint mich nicht zu stören, aber wenn ich herausfinde warum, und ich die Freiheit habe, an diesem Ort Entscheidungen zu treffen, werde ich noch besser sein. Dies ist meiner Meinung nach ein guter Grund, eine Psychotherapie zu machen.

    - Wie wichtig ist Bewusstsein in der Arbeit des Entwicklers? Ich habe gehört, dass sie inzwischen zu einer fast obligatorischen Übung in einigen Testgruppen von Google geworden sind, um Meditation oder etwas anderes zu machen.

    - Dies ist aus terminologischer Sicht sehr interessant. Das Wort "Bewusstsein" bedeutet verschiedene Dinge. Es gibt eine Geschichte über Meditation oder Achtsamkeit, andere Praktiken des Körperbewusstseins sind sehr nützliche Dinge in Bezug auf das Management von Aufmerksamkeit und die Fähigkeit, sich zu konzentrieren. Es hilft dem psychischen Komfort etwas mehr - es hilft, sich besser zu entspannen, bei leichterem Stress usw. Dies ist näher an der körperlichen Betätigung, es handelt sich um eher niedrige Mechanismen im Gehirn, die es Ihnen ermöglichen, die Aufmerksamkeit zu trainieren. Menschen, die das Gehirn stark belasten, profitieren sicherlich davon, weil sie diesen Ort trainieren und möglicherweise mehr Kontrolle darüber haben, wo die Aufmerksamkeit gelenkt wird und welche Energieanteile welchem ​​Bewusstseinsfeld zugeordnet werden. Dies ist eine Geschichte. Eine andere Geschichte ist eine bewusste Entscheidung, es ist nicht dasselbe.

    Zum Beispiel gibt es im Leben viele Kontroversen. Es ist klar, dass es oft keine beste Meinung gibt, daher gibt es einige Auseinandersetzungen. Und wie konstruktiv die Streitigkeiten verlaufen, hängt direkt von der Wahrnehmung der Teilnehmer ab. Dies ist ein so wichtiger Teil der Kommunikationskultur: Wie können wir unsere persönliche Meinung und objektive Realität miteinander teilen? Wo gibt es etwas, woran ich glaube, und wo es eine äußere Tatsache gibt, die etwas unwiderlegbar beweist. Die Leute verwirren es oft, und selbst in allen möglichen psychotherapeutischen Gruppen und bei Schulungen gibt es viele wundervolle Übungen, die sicherstellen sollen, dass eine Person teilt, dass dies seine Meinung ist, und dies ist eine Art äußerer Realität. Es gibt Praktiken der nicht wertenden Kommunikation, der gewaltfreien Kommunikation, die ich sehr empfehlen kann.

    Und noch etwas. Jeder hat eine Intuition. Es passiert, wenn Sie sicher sind, dass Sie dies tun müssen. Warum bist du sicher? Es kann schwierig sein zu erklären, und Sie brauchen ein gewisses Bewusstsein, um zuzugeben, dass Sie nicht wissen, warum Sie es so wollen. Sie haben keine merkwürdigen Argumente, Sie versuchen nicht, Ihren Gegner mit Druck und Charaktereigenschaft zu überwältigen, sondern artikulieren deutlich: „Ich weiß nicht warum. Ich denke schon Und wenn Sie sich rechtfertigen können, warum dies nicht notwendig ist, dann werde ich Ihnen glauben, und wenn Sie auch "denken", dann haben wir nur unterschiedliche Intuitionen, und keiner von uns hat mehr Recht. " Das ist auch sehr wichtig. Ich denke, dass eine solche Gelegenheit zum Nachdenken und die Möglichkeit, Ihr Ego bei der Arbeit ein wenig loszulassen, sehr hilfreich ist. Dies steht in direktem Zusammenhang mit dem Bewusstsein der Motivation und der Fähigkeit, eine informierte Entscheidung zu treffen. Sie können Ihr persönliches vom Ziel und vom Arbeitnehmer trennen.

    - In der Art eines nicht Psychologen, sondern eines gewöhnlichen Menschen, gibt es Dinge im umgebenden Leben, in denen sich Menschen überbewusst verhalten und vielleicht möchten Sie es irgendwie verbessern?

    - Die meisten Dinge, die wir tun, tun wir unbewusst. Es gibt viel Arbeit, und wenn Sie sich dessen bewusst sind, können Sie verrückt werden. In verschiedenen Büchern wird dies unterschiedlich genannt, aber grob gesagt haben wir "schnelles Gehirn" und "langsames Gehirn", "System 1" und "System 2". Unter dem Strich gibt es automatische Entscheidungsfindungsmechanismen, die mir nicht bekannt sind. Sie sind schnell, aber sie wurden ohne meinen Willen gebildet. Ich weiß nicht, wie sie sich entwickelt haben, ich bin irgendwie aufgewachsen, habe etwas gelernt und unbewusst alles gelernt. Es gibt einen solchen Mechanismus, das implizite Lernen, das all dies formt. Und da ist mein langsames Gehirn, wo mir bewusst verbal etwas einfällt. Dies ist ein viel lockereres System. Natürlich sind sie miteinander verbunden. Das, was ich gelernt habe, beeinflusst automatisch mein Denken, aber ich habe viel mehr Freiheit beim Denken. Es ist aber viel teurer. Ich habe nicht die Möglichkeit, es überall anzuwenden, aber wenn es für mich wichtig ist, würde ich es gerne nutzen. Wenn Sie sich umsehen - alles, was die Menschen im Allgemeinen tun, ist alles für einen großen Teil unbewusst, und das ist nicht immer schlecht, aber es ist oft ein Zeichen für einen Mangel an Freiheit: Wie wir uns entscheiden, was wir tun sollen, mit wem wir leben und kommunizieren, wie Wir entscheiden, was für uns wichtig oder nicht wichtig ist, alles hängt sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. Ich habe nicht die Möglichkeit, es überall anzuwenden, aber wenn es für mich wichtig ist, würde ich es gerne nutzen. Wenn Sie sich umsehen - alles, was die Menschen im Allgemeinen tun, ist alles für einen großen Teil unbewusst, und das ist nicht immer schlecht, aber es ist oft ein Zeichen für einen Mangel an Freiheit: Wie wir uns entscheiden, was wir tun sollen, mit wem wir leben und kommunizieren, wie Wir entscheiden, was für uns wichtig oder nicht wichtig ist, alles hängt sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. Ich habe nicht die Möglichkeit, es überall anzuwenden, aber wenn es für mich wichtig ist, würde ich es gerne nutzen. Wenn Sie sich umsehen - alles, was die Menschen im Allgemeinen tun, ist alles für einen großen Teil unbewusst, und das ist nicht immer schlecht, aber es ist oft ein Zeichen für einen Mangel an Freiheit: Wie wir uns entscheiden, was wir tun sollen, mit wem wir leben und kommunizieren, wie Wir entscheiden, was für uns wichtig oder nicht wichtig ist, alles hängt sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. Wenn Sie sich umsehen - alles, was die Menschen im Allgemeinen tun, ist alles für einen großen Teil unbewusst, und das ist nicht immer schlecht, aber es ist oft ein Zeichen für einen Mangel an Freiheit: Wie wir uns entscheiden, was wir tun sollen, mit wem wir leben und kommunizieren, wie Wir entscheiden, was für uns wichtig oder nicht wichtig ist, alles hängt sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. Wenn Sie sich umsehen - alles, was die Menschen im Allgemeinen tun, ist alles für einen großen Teil unbewusst, und das ist nicht immer schlecht, aber es ist oft ein Zeichen für einen Mangel an Freiheit: Wie wir uns entscheiden, was wir tun sollen, mit wem wir leben und kommunizieren, wie Wir entscheiden, was für uns wichtig oder nicht wichtig ist, alles hängt sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. mit wem wir leben und kommunizieren, wie wir entscheiden, was für uns wichtig oder nicht wichtig ist, hängt alles sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. mit wem wir leben und kommunizieren, wie wir entscheiden, was für uns wichtig oder nicht wichtig ist, hängt alles sehr davon ab. Viele der Prioritäten, die wir im Leben setzen, werden von der Kultur bestimmt. Das heißt, einige Leute haben in der Regel für eine sehr lange Zeit eine Art Idee gebildet, die heute völlig irrelevant sein kann, und deshalb treffe ich heute eine Entscheidung, die mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. was mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist. was mein ganzes Leben beeinflusst. All dies ist uns nicht bewusst, und wir glauben, dass eine solche Entscheidung dasselbe "Natürlich" ist.

    - Bist du jetzt auf Religion?

    - Ich spreche grundsätzlich über alles, warum geht es nur um Religion? Es gibt zum Beispiel Menschen, die glauben, dass es bis zu einem gewissen Alter notwendig ist, eine Familie zu gründen. Dieses Alter unterscheidet sich für verschiedene Menschen, aber ich kenne viele, die glauben, dass dies ziemlich früh und für den Rest ihres Lebens geschehen sollte. Warum "brauchen"? Warum ist es wichtiger, jetzt eine Familie zu gründen, als zu verstehen, wie die Beziehungen zwischen Menschen im Allgemeinen funktionieren? Dies ist ein übliches Thema, wenn Sie eine Person getroffen haben, Sie sich ineinander verliebt haben, alles ist großartig. Lassen Sie uns jetzt eine Familie gründen, denn Märchen sagen, dass dies das Wichtigste ist, was Sie im Leben erreichen können. Um eine Person zu werden, „muss“ ich eine Familie gründen und daher das Gefühl, je früher ich es tue, desto besser. Aber je früher ich das mache, desto schlimmer wird es normalerweise sein.

    Es gab einmal eine Gesellschaft, in der nicht alles so war, in der niemand absolut daran interessiert war, wie glücklich Sie in der Ehe waren. Die Ehe war eine Eigentumsbeziehung, die zu dieser Zeit einigermaßen bedeutsam war. Es gab völlig unterschiedliche Vorstellungen vom Glück, von der Funktion der Familie, und dann war es relevant. Seitdem hat sich alles geändert. Die Art und Weise, wie wir heute nach der Gründung einer Familie bewerten, ob sie sich als gut oder schlecht herausgestellt hat, hat nichts mit der Art zu tun, wie sie von den Menschen beurteilt wurde, die uns in gewissem Sinne vorschreiben, dass wir dies so schnell wie möglich tun müssen. Diese Menschen sind längst ausgestorben, und wir glauben immer noch, dass es notwendig ist, so schnell wie möglich eine Familie zu gründen und dass die Person, die dies nicht getan hat, nicht verwirklicht wurde. Und es ist nicht so, dass Sie spät eine Familie gründen müssen. Sie müssen nur darüber nachdenken, warum ich es jetzt mache, was ich tun kann / kann, was sind meine Risiken. und eine bewusste Entscheidung treffen. Es liegt nicht daran, dass meine Erziehung Druck auf mich ausübt, die Bücher, die ich lese, oder die Meinungen anderer Menschen, meine Großmutter tropft auf Ihr Gehirn, dass Sie 25 Jahre alt sind und Sie noch keine Kinder haben, was für ein Horror. Mit 21 und 18 kann man Kinder haben - die Frage ist, warum ich es getan habe, wie ich die Entscheidung getroffen habe.

    - Die Dinge, an die die Leute glauben, diese oft verwendeten Wahnvorstellungen bilden ein System. Und wenn Sie versuchen, ein Stück zu ändern, werden auch alle anderen gezogen. Zum Beispiel beziehen sich rechtliche Fragen auf die Familie.

    - Ja, sie sind verbunden. Rechtliche Fragen, die sich wirklich auf die Familie beziehen, betreffen nicht jeden. Obwohl es keine Kinder gibt, lohnt es sich zu prüfen, ob eine Ehe notwendig ist. Jemand braucht, jemand nicht, hängt davon ab, wie Sie die Immobilie verwalten möchten. Wenn jemand in die Ehe geht, um rechtliche Möglichkeiten zu haben, dann erklären Sie sich bitte immer, dass Sie wegen dieser rechtlichen Möglichkeiten in eine Ehe eingehen, und dass Sie Ihren Partner nicht mit einem Seil an sich binden. Dies ist eine völlig normale Erklärung. Jede Erklärung, die wahr ist, ist normal. Die Hauptsache ist, dich nicht zu täuschen.

    Es gibt viele Klischees über die Familie. Zum Beispiel eine sehr schwierige Frage: Ist es gut oder schlecht, mit deinen Eltern zusammenzuleben? Es ist wichtig, dass viele Menschen in der Kategorie „gut oder schlecht“ darüber nachdenken, aber in der Tat ist es „nützlich oder nicht nützlich“. Sie müssen darüber nachdenken. Oder es ist beispielsweise über mich bekannt, dass Sie mit mir darüber sprechen können, ob unsere Beziehungen monogam oder nicht monogam sein sollen. Es gibt keine allgemeingültige Antwort für eine Person, aber in der Kultur gibt es dies, und dies ist ein Widerspruch. In der Kultur wird davon ausgegangen, dass es Beziehungen geben muss und dass sie monogam sein müssen. Es wird auch geglaubt, dass sie heterosexuell sein müssen, und das ist im Allgemeinen seltsam. Aber nirgends wird gezeigt und bewiesen, dass es wirklich solltesein Beziehungen können nicht sein, sie sind nicht heterosexuell, nicht monogam, sie können beliebig arrangiert werden, wenn die Leute sich bewusst dafür entscheiden und nicht zum Nachteil des anderen handeln. Eine andere Sache ist, dass etwas davon bequem ist, etwas nicht, etwas ist nützlich oder nicht. Die Frage ist, wie man wählt. Nicht WAS wird gewählt, sondern WIE.

    - Übrigens bauen Sie auch eine Kultur in Kotlin auf. Haben Sie eine universelle Antwort auf alles?

    - Nein. Das Problem des Bewusstseins für das, was wir uns für eine Kultur wünschen, wir sind nicht genug engagiert, wir müssen mehr herausfinden. Kultur ist unter der Oberfläche aufgebaut. Zuerst waren wir wenige, und wir haben irgendwie kommuniziert, es hat uns gefallen, alles war gut. Dann gab es mehr von uns, wir fingen an, schneller zu werden, es wurde deutlich, dass verschiedene Menschen anders kommunizieren, etwas nicht funktioniert und ich möchte, dass sich einige Dinge verbessern. Wir haben vor kurzem begonnen, Schulungen auszuprobieren: Mit einigen externen Mitarbeitern trainieren die Trainer unterschiedliche menschliche Fähigkeiten, von der Kommunikation bis zur Entscheidungsfindung. Das Team Kotlin probierte nur ein Training für Teamleiter aus, es war interessant, das Ergebnis hat mir gefallen. Es ist auch als Teambuilding gut, die Möglichkeit zu kommunizieren. Und es gibt einen Unterschied in der Kommunikation: Sie können Bier trinken, ein Leben lang reiben und es gibt eine Möglichkeit, produktiv zu kommunizieren. Ich mag die zweite Option mehr. Das heißt nicht dass es nicht notwendig ist, beim Abendessen über irgendetwas zu spechen, aber durch produktive Kommunikation kann man einige Ergebnisse ertragen, es gibt etwas, worüber man nachdenken muss - es gibt eine Nachwirkung. Es war eine gute Erfahrung, wir haben es vor nicht allzu langer Zeit getan, und ich denke, wir werden mehr tun. Kultur wird nicht nach irgendeinem Modell gebaut („so sollte es sein“), sie wird von innen heraus produziert. Wir haben eine Vorstellung davon, wie wir komfortabler und effizienter sind, während wir miteinander reden, sie schrittweise synchronisieren, und so entsteht eine Art Kultur. Gleichzeitig werden Elemente einiger vorgefertigter Lösungen nach außen gebracht, bearbeitet, durchdacht und umgesetzt. Kultur wird nicht nach irgendeinem Modell gebaut („so sollte es sein“), sie wird von innen heraus produziert. Wir haben eine Vorstellung davon, wie wir komfortabler und effizienter sind, während wir miteinander reden, sie schrittweise synchronisieren, und so entsteht eine Art Kultur. Gleichzeitig werden Elemente einiger vorgefertigter Lösungen nach außen gebracht, bearbeitet, durchdacht und umgesetzt. Kultur wird nicht nach irgendeinem Modell gebaut („so sollte es sein“), sie wird von innen heraus produziert. Wir haben eine Vorstellung davon, wie wir komfortabler und effizienter sind, während wir miteinander reden, sie schrittweise synchronisieren, und so entsteht eine Art Kultur. Gleichzeitig werden Elemente einiger vorgefertigter Lösungen nach außen gebracht, bearbeitet, durchdacht und umgesetzt.

    - Es wäre lustig, eine Kultur zu haben, in der fundierte Entscheidungen ein wichtiger Bestandteil dieser Kultur sind.

    - Ehrlich gesagt, denke ich, dass die Kommunikation mit mir dieses Bedürfnis etwas unterstreicht, weil ich langsam nervös werde, wenn ich sehe, dass jemand auf etwas besteht und mir nicht erklären kann, warum. Ich fange an zu befürchten, dass eine Person aufgrund dieser unverständlichen Überlegungen weiterhin Entscheidungen treffen wird und plötzlich vom Wind in einen fremden Ort geblasen wird - und was werden wir dann tun? Wenn ich mit jemandem streite, stelle ich oft Fragen: „Warum denkst du so? Erklären Sie!

    "Das Gehirn ist sehr schlau, selbst in seinem derzeitigen Zustand kann es das Bild vervollständigen:" Warum denkst du so? "

    - Ja, es gibt so etwas wie Rationalisierung. Ich habe ein gewisses intuitives Gefühl, dass ich das tun soll, und ich kann mit einem sehr intelligenten Blick weiter erklären, warum ich die Argumente an die Antwort anpasst.

    - Zum Beispiel, was Typen auf der linken Seite schreiben sollen.

    - Ja Ja. Und dies ist genau der Fall, wenn es schön wäre, "Ich mag es einfach" zu teilen und "es gibt objektive Gründe dafür zu denken."

    Es ist auch wichtig, dass Sie Ihre Fehler eingestehen können. Sagen Sie: Ja, es schien mir einfach so, dass ich falsch liege. Die Logik hilft dabei. Wenn ich sage: "Wir brauchen A, weil C", und jemand sagte zu mir: "Hör zu, nein, etwas A sollte nicht von B kommen", dann kann ich sehen, dass ja, ja folgt nicht So ein Moment der Einsicht kann passieren. Ich sagte etwas, es schien mir ironisch, und dann stellte sich heraus, dass es nicht war, es ist keine Ironie und es ist möglich, dass es nicht einmal so ist.

    Natürlich gibt es soziale Auswirkungen. Jeder, der seinen Fehler zugeben muss, muss hinreichend sicher sein, dass sein sozialer Status davon nicht abnehmen wird. Im Allgemeinen kann es oft sogar verbessert werden, aber es scheint intuitiv, dass dies schrecklich ist. Wenn ich falsch lag, werde ich weniger respektiert. Es funktioniert nicht nur im Kotlinov-Team, nicht nur bei Ingenieuren, sondern grundsätzlich bei allen Menschen. Die Menschen sind sehr irrational besorgt über ihren sozialen Status, daher ist es schwierig, Fehler zuzugeben. Wenn die Menschen um Sie herum im gleichen Bündel arbeiten, und dies sind denkende Menschen, dann erhöht die Tatsache, dass Sie Fehler zugeben können, Ihre Vertragsfähigkeit, das Vertrauen in Sie, und es verursacht im Allgemeinen Respekt - die Person ist sich selbst ziemlich sicher Wenn er zugeben kann: "Ich habe nur Bullshit gesagt, nein, das ist nicht so."

    - Aber es braucht eine Art Selbsttestverfahren. Listen der kognitiven Verzerrung.

    - Ja, es funktioniert nicht, Sie können auf verschiedene Arten trainieren. Ich bin im Allgemeinen eine große Langeweile. Als ich vor langer Zeit mit einigen Gesetzen der Logik vertraut wurde, habe ich sie wirklich gemocht, und oft wende ich sie an. Anscheinend gibt es viele solche Ingenieure unter den Ingenieuren, weil sich die Leute oft an jedem kleinen Ding festhalten, das in einem Gespräch nicht einmal wichtig ist. Manchmal verlangsamt es nur die Kommunikation ohne sichtbare Ergebnisse, aber im Prinzip ist es ein gutes Werkzeug. Es gibt andere, zum Beispiel die Listen kognitiver Verzerrungen. Dies ist ein sehr interessantes Werkzeug, das Ihren Reflexionsmechanismus verbessern kann. Aber es ist sehr wichtig, wenn Sie jemandem sagen, dass er sich geirrt hat, es höflich und korrekt auszuführen, nicht anzugreifen, da es natürlich wichtig ist, Fehler zuzugeben, aber wenn andere sich darüber freuen, ist das sehr unangenehm.

    - Vor allem, wenn es sich um eine Art Scrum-Rally handelt und 15 Personen Ihnen zeigen.

    - Ja, je mehr eine Person zeigt, desto unangenehmer. Je größer die soziale Masse der Missbilligung ist, desto unangenehmer ist es. Daher ist es sehr wichtig, dass wir es richtig machen, wenn wir kommunizieren.

    - Können Sie unseren Lesern etwas zu Habré empfehlen?

    - Ich wünsche allen Menschen, dass sie frei entscheiden können, sowohl bei der Arbeit als auch im Leben. Und ich denke, "frei" bedeutet in der Regel bewusst.

    - Vielen Dank!

    Noch mehr über das, was es sieht aus wie „ein Tag im Leben einer Programmiersprache Designer,“ Andrew erzählt 19. Oktober auf unserer Joker Konferenz. Und nachdem wir im Diskussionsbereich gesprochen haben, wird es möglich sein, alles Interessante zu klären, so dass das Format „Leute fragen“ auch in der Nähe von Andrei sein werden.

    Jetzt auch beliebt: