Interview mit José Valim, dem Entwickler von Elixir

José Valim: „Elixier ist großartig für alles, was auf einem Sockel läuft“

Vorwort

Evrone ist nicht nur ein Unternehmen, das kundenspezifische Software entwickelt, sondern wir bleiben auch in hohem Maße mit lokalen und internationalen Communities in Verbindung. Wir organisieren die jährliche „Ruby Russia“-Konferenz, ein großes Event mit Experten aus der Branche. Dieser Draht zur Community verschafft uns einen Wettbewerbsvorteil und bietet uns bessere technische Expertise und Beratungsmöglichkeiten. Wir führen Gespräche mit Entwicklern auf der ganzen Welt, darunter auch mit den Schöpfern innovativer neuer Technologien, und wir versuchen, durch Interviews, Konferenzen und Meetups Beziehungen zu stärken und der Community etwas zurückzugeben. Vor Kurzem haben wir ein Interview mit José Valim, dem Schöpfer der Programmiersprache Elixir geführt, und ihn nach seinen Zielen für die Sprache, und wie sie entstanden ist, gefragt.

Das Interview

Evrone: Hey José, es ist toll Sie heute hier zu haben! Beginnen wir mit zunächst damit, über Ihre Arbeit im Allgemeinen zu sprechen. Nach der Übernahme von Plataformatec durch Nubank haben Sie Dashbit gestartet. Was machen Sie aktuell?

José: Hallo, vielen Dank für die Einladung! Ich bin José Valim, Entwickler der Programmiersprache Elixir. Anfang des Jahres habe ich eine neue Firma namens Dashbit gegründet. Unser Ziel ist es, anderen Unternehmen dabei zu helfen, Elixir in der Produktion einzuführen und zu verwenden.

 

Evrone: Großartig! Lassen Sie uns ein wenig über die Popularität von Sprachen und Technologien sprechen. Es gibt ein paar Ansichten, warum manche Technologien beliebter sind als andere. Eine dieser Ansichten ist, dass viele Technologien durch so genannte „Killer-Apps“ erfolgreich werden, wie ein majestätisches Monolith-Framework für die Programmiersprache Ruby on Rails. Was halten Sie von „Killer-Apps“ und „Killer Demos“? Wie wichtig sind „Phoenix“ und die „In 15 Minuten einen Twitter-Klon erstellen“-Demos für Elixir?

José: Ich denke, sie helfen, aber sie bilden nicht den entscheidenden Faktor. Mit einer Killer-App kann man in kurzer Zeit viel Aufmerksamkeit erregen, was natürlich bei der Einführung der Technologie hilft, aber es ist keine Voraussetzung an sich. Selbst mit einer Killer-App gibt es noch einige andere Faktoren, die die gesamte Community unterstützen. Ich halte Python für ein großartiges Beispiel dafür, wie eine Programmiersprache aussehen soll, da sie sich diversifizieren kann.

Für die Community ist es wichtig, über diese Killer-App hinauszuwachsen, sich zu diversifizieren und zu verschiedenen Domänen zu wechseln. Dies ist der Ansatz, den ich von Anfang an für Elixir hatte. Ich komme aus der Webentwicklung und war sehr bedacht, Elixir nicht so zu entwickeln, dass die Sprache nur für die Webentwicklung verwendet wird. Ich versuche den möglichen Anwendungsbereich der Sprache zu erweitern. Wenn man heute einen Blick darauf wirft, in welchen Bereichen Elixir verwendet wird, findet man viele Web-Anwendungen, aber auch viele verteilte Systeme, die mit Hilfe von Elixir erstellt wurden. Das ist etwas, das wir von Erlang geerbt haben. Es gibt Projekte wie Nerves, das Elixir auf eine sehr aufregende Art und Weise auf eingebettete Geräte bringt. Auch Projekte wie Broadway und GenStage, bei denen es um effiziente Datenverarbeitung geht, profitieren davon. Ich bin mehr daran interessiert, Diversifizierung zu bringen, anstatt zu versuchen, das eine Killer-Ding zu finden, das im Mittelpunkt steht.

 

Evrone: Natürlich. Pythons Diversität ist legendär. Bei so vielen Programmiersprachen nutzen wir Entwickler gerne Labels, wenn wir von der Sprache sprechen. Erlang wird beispielsweise als „Telekommunikationssprache“ bezeichnet, Clojure als „modernes Lisp“ und so weiter. Wenn Sie ein solches Label für Ihre Elixir-Sprache wählen müssten, welches würde es sein?

José: Ich würde sagen, dass Elixir großartig für alles ist, was auf einem Sockel läuft, wie Webserver, IoT-Geräte, verteilte Systeme, Audio/Video-Streaming, etc. Für Netzwerkanwendungen, bei denen Daten ein- und ausgehen, ist Elixir hervorragend. Ich würde Elixir also kurz als „die Sprache für Kommunikation“ bezeichnen.

 

Evrone: Klingt nach einem großartigen Verkaufsslogan für Softwareentwickler! Die Popularität einer Sprache wird sehr durch die Akzeptanz großer Unternehmen beeinflusst. Was sind die Verkaufsargumente von Elixir für solche Unternehmen? Vielleicht haben Sie für uns eine Erfolgsgeschichte auf Lager?

José: Zu Beginn war mir klar, dass ich öffentlich über die Sprache sprechen, zu Events gehen, Vorträge halten und Artikel schreiben musste. Das hat sich seitdem nicht geändert. Aber wenn es um den Verkauf an Unternehmen geht, gibt es meiner Meinung nach keine konkrete Antwort. Es gibt verschiedene Ansätze, die wir verfolgen können. Ich hatte immer das Glück, Mitbegründer und Partner zu haben, die den Umsatz vorantreiben konnten. Mein technisches Know-how in Kombination mit Menschen, die mehr über das Geschäftliche wissen, funktioniert in der Regel gut. Deshalb ist es wichtig, den Input aller Beteiligten zu sammeln. Wir versuchen niemals zu zentralisieren, weil jeder eine andere Perspektive einbringen kann.

 

Evrone: Klingt gut. Dinge zu verkaufen ist schwer, genauso wie Dinge zu benennen. Tatsächlich sind wir einige Male in den Elixir-Foren auf die Frage nach dem Ursprung des Namens gestoßen. Woher kommt der Name „Elixir“? Wir haben einen Verweis auf Potion entdeckt, die Sprache von _why the lucky stiff. Haben Sie Ihn kennengelernt? Vielleicht können Sie den Ursprung eines solchen Namens, der nach einem Rollenspiel klingt, verraten?

José: Ich kannte _why the lucky stiff nur durch die Software, die er geschrieben hat. Ich habe ihn nie persönlich getroffen. Er war in Ruby involviert, bevor ich mich damit beschäftigt habe. Nun, der Name Elixir hat nichts mit Potion zu tun. Ich mochte Elixir, weil es kurz und prägnant, aber nicht zu kurz ist. Die Bezeichnung wird für nichts anderes in der Programmierung verwendet. Es gibt zwar Bücher oder Parfums, aber nichts Technisches. Es beginnt auch mit dem gleichen Buchstaben wie Erlang. Wenn es irgendeine Art von alphabetischer Auflistung gibt, wird Elixir relativ weit oben erscheinen. Der Name besteht, wie Erlang, auch aus sechs Buchstaben. Also habe ich mich für Elixir entschieden.

 

Evrone: Cool. Wie würden Sie die Lernkurve für die Entwickler bemessen, die Elixir lernen möchten? Ist es eine geeignete Sprache für Nachwuchsentwickler mit nur ein oder zwei Jahren Erfahrung? Was brauchen neue Entwickler, um die von Ihnen entwickelte Sprache in vollen Zügen genießen zu können?

José: Das ist eine sehr gute Frage. Einige Menschen sind in der Lage, produktiv zu sein und die Konzepte schnell zu verstehen, andere eher weniger. Ich persönlich denke, Elixir hat ein leichter zu fassendes theoretisches Modell als beispielsweise die Objektorientierung. Aber wir Menschen neigen dazu, Dinge auf unterschiedliche Weise zu lernen.

Ich vergleiche das immer mit meinem Freund Hugo (Hugo Baraúna). Wir haben uns an der Universität kennengelernt und haben zwei sehr unterschiedliche, eigene Lernansätze. Ich bin eher die Art von Person, die fast ohne Licht in eine Höhle wandert und versucht, ein bisschen zu erkunden, und die nicht zuviel erwartet. Ich lerne mit wenig Geduld. Hugo ist dagegen ein sehr strukturierter Mensch. Wenn er eine Höhle erkunden wollte, brauchte er zuerst eine bestimmte Lampe und die richtigen Werkzeuge. Er hat alles geplant, bevor er irgendwas unternommen hat.

Ich weiß, dass es Menschen gibt, die versucht haben, anderen, die keine Programmiererfahrung haben, Elixir beizubringen. Und sie waren erfolgreich. Es gibt Leute aus JavaScript, Python, Ruby, .NET, Java, die viel Spaß damit haben und produktiv sind. Andere haben dagegen damit zu kämpfen. Ich habe von einigen gehört, die versuchen, Elixir zum zweiten oder dritten Mal zu lernen, nachdem sie beim ersten Mal keine konkreten Fortschritte gemacht haben. Das zweite Mal war bei den meisten ein bisschen besser. Dann haben sie es ein letztes Mal versucht, und es hat „Klick“ gemacht.

Die gute Nachricht ist: Wir sind an einem Punkt angelangt, an dem es in der Community Unmengen von Lernressourcen gibt. Für einen Programmier-Anfänger sind die Einführungshandbücher auf der Elixir-Website wahrscheinlich zu schnell und oberflächlich. Aber wir haben auch Bücher wie Introducing Elixir von O'Reilly und Joy of Elixir von Ryan Bigg, die gut für Anfänger geeignet sind. Programming Elixir ist eine gute Ressource für Benutzer dynamischer Sprachen wie Ruby, Python oder JavaScript.

Elixir in Action, von Saša Juric befasst sich mit dem Erlernen von Elixir aus einer Systemperspektive. Es geht nicht um Elixir als Programmiersprache, sondern um Elixir als Werkzeug zum Erstellen von Systemen. Es gibt auch Screencasts, Online-Kurse, etc. Wenn man, wie ich, nicht viel Geduld zum Lesen hat und Dinge einfach nur ausprobieren will, gibt es eine Reihe von Möglichkeiten, mit denen man üben kann. Da wir so viele unterschiedliche Ressourcen haben, kann man ein paar von ihnen einfach ausprobieren und sehen, was für einen am besten funktioniert.

 

Evrone: Wir wissen, dass Elixir von Ruby, Clojure und Haskell inspiriert wurde. Gibt es im Nachhinein noch etwas, das Sie inspiriert hat?

José: Ja. Die drei wichtigsten Inspirationen waren Ruby, Erlang und Clojure. Wir haben nicht nur Funktionen aus diesen Sprachen verwendet, sondern auch einen Teil ihrer Philosophie. Wir haben die gesamte Infrastruktur von Erlang geerbt. Clojure bietet eine Reihe ähnlicher Möglichkeiten, Probleme anzugehen, wie z. B. durch Protokolle. Und Ruby reflektiert die Syntax, die Standardbibliotheken und wie wir Dinge benennen. Aus diesen drei Hauptsprachen haben wir Ideen für neue Features sowie für unsere Philosophie gewonnen, und wir haben erfahren, wie eine Programmiersprache aufgebaut sein sollte. Wir sind eigentlich ein bisschen von allem inspiriert worden; von Haskell, Python, F#.

 

Evrone: In Interviews wird oft nach dem größten Designerfolg und dem größten Designfehler der Sprache gefragt, aber nach unserer Erfahrung ist es hilfreicher, sich zunächst nur dem Designerfolg zu widmen. Was ist der größte Designerfolg von Elixir?

José: Okay, eine sehr gute Frage. Als ich mit Elixir begann, baute ich einen Prototyp, der in vielerlei Hinsicht schlecht war. Es war wie in einer dunklen Höhle ohne Licht. Ich habe einfach ein bisschen ziellos rumprobiert. Nachdem das nicht sonderlich erfolgreich war, wurde mir allerdings immer mehr bewusst, was die Sprache alles können sollte. Mein Ausgangspunkt war Erlang, und ich wollte Elixir darauf bauen.

Ich hatte zwei Ziele: Erweiterbarkeit und Produktivität. Bei der Produktivität ging es darum, sich auf die effektive Nutzung guter Tools zu konzentrieren. Es gibt andere Sprachen wie Ruby, die sich auf Tools und den Vorgang des Entwickelns konzentrieren. Ein aktuelles Beispiel ist Go, das sich von Anfang an sehr darauf konzentriert hat, über gute Tools zu verfügen. Die Erweiterbarkeit hatte sich auf zwei Dinge beschränkt. Eines waren die Protokolle. Das Problem mit Protokollen ist ein Problem des Polymorphismus. Ich habe mich darüber informiert, wie verschiedene Sprachen versucht haben, dieses Problem zu lösen. Clojure löst dieses Problem auf eine Weise, die besser zur Virtual Machine von Erlang passt. Also habe ich das mit reingenommen.

Das andere Element der Erweiterbarkeit war die Metaprogrammierung. Ich habe verschiedene Ansätze für die Metaprogrammierung in Elixir ausprobiert. Anfangs basierte das Modell auf Ruby. Bei Ruby geht es jedoch darum, Dinge zur Laufzeit dynamisch zu ändern, und das funktioniert bei der Erlang-VM nicht. Nach dem Kompilieren des Codes sollte er statisch bleiben.

Anschließend habe ich Lisp-Sprachen wie Clojure ausprobiert, deren Metaprogrammierung auf dem abstrakten Syntaxbaum (AST) basiert. Das hat mir wirklich Spaß gemacht, aber ich wollte Lisp nicht implementieren. Diesen Weg sind bereits viele gegangen, auch mit der Erlang-VM. Ich wollte etwas Anderes machen. Also habe ich beschlossen, eine übergeordnete Syntax mit einer einfachen AST-Darstellung einzuführen, die Entwickler für die Metaprogrammierung verwenden können. Und für eine Weile dachte ich, das sei mein größter Designerfolg!

Später habe ich jedoch erfahren, dass John McCarty, der Erfinder von Lisp, auch darüber nachgedacht hatte. Er stellte SLisp vor, was heute Lisp genannt wird. Außerdem führte er MLisp ein, eine übergeordnete Syntax. Meine Idee war also eigentlich bereits 50 Jahre alt. Ich glaube allerdings, dass Elixir eine der wenigen Sprachen ist, die sie in der Praxis anwendet.

Man könnte also sagen, dass mein größter Designerfolg darin bestand, herauszufinden, was zusammen mit der Erlang-VM Sinn machen würde, und zwar auf die kohärenteste Art und Weise.

 

Evrone: Elixirforum.com ist sehr beliebt. Wie einzigartig ist aus Ihrer Sicht diese Ressource für die Elixir-Community? Und macht es einen Unterschied, eine eigene Community-Plattform zu haben, im Vergleich zu anderen Sprachen und Öksystemen, die Mailinglisten, Gruppen, Reddit und StackOverflow verwenden? Wie wurde sie geschaffen? Wie wichtig ist sie für die Entwicklung einer Sprache?

José:  Ich habe immer versucht, Elixir zu einem Community-Projekt zu machen. Ich wollte Elixir nie zentralisieren. Ich wollte jedem die Möglichkeit geben, etwas zu verändern, seinen eigenen Beitrag zu leisten und sich auf jede gewünschte Art und Weise zu engagieren. Wir haben nur sehr wenige offizielle Bereiche, die vom Elixir-Team kontrolliert werden. Wir haben diejenigen immer sehr begrüßt, die ihre eigenen Bereiche schaffen wollten.

Es gibt ja auch Sprachbarrieren. Ich weiß, dass es zum Beispiel eine große brasilianische Elixir-Telegram-Community gibt. Deshalb ist es wichtig, solche Zweige der Community selbstständig wachsen zu lassen. Das muss auf eine gesunde Art und Weise passieren, die auch konsistent mit den Standards und Zielen unserer Community ist.

Mit dem Elixir-Forum war es ähnlich. Aston hat das Forum erstellt, und es ist großartig, einen solchen Ort für Diskussionen zu haben. Er ist derjenige, der sich um das Wachstum des Forums gekümmert hat, damit es zu dem wird, was es heute ist. Ich besuche gerne von Zeit zu Zeit das Forum und helfe, wo ich kann. Aber es gibt natürlich noch unzählige weitere relevante Communitys im Netz.

 

Evrone: Fantastisch. Welche IDE würden Sie Elixir-Entwicklern empfehlen?

José: Ich konzentriere mich nicht sonderlich auf meinen Editor. Ich habe wahrscheinlich ein Jahrzehnt lang TextMate 1.0 verwendet, auch nachdem er nicht mehr gewartet wurde. Ich habe den Editor nur nicht mehr verwendet, weil das neue Betriebssystem ihn nicht mehr unterstützt. Anschließend bin ich zu Sublime Text migriert, wobei ich viele der Editorfunktionen gar nicht verwende. Ich habe einen Hotkey zum Formatieren des Codes, aber das war's auch schon. Ich weiß, dass viele Leute Visual Studio Code aufgrund des Elixir Language Servers verwenden. Es gibt großartige Entwickler, die am Language Server arbeiten und die Integration von Tag zu Tag verbessern. Es scheint also eine Art allgemeine Präferenz zu sein.

 

Evrone: Super. Kommen wir zu einer technischen Frage. Was halten Sie vom neuen „async“-Leitbild gegenüber dem „Nachrichtenaustausch“? Was ist für einen Entwickler leichter zu bewerkstelligen, wenn wir mal Performance und Stabilität außen vor lassen?

José: Die Sache mit async/await ist, dass sie in verschiedenen Sprachen auf unterschiedliche Weise implementiert sind. Einige implementieren async/await, weil sie eine E/A-basierte Parallelität bereitstellen möchten. Andere tun dies nicht, und diese Unterscheidung ist enorm wichtig. Gehen wir also einen Schritt zurück.

Wenn wir über unsere Software sprechen, gibt es zwei Arten der Gleichzeitigkeit, über die man nachdenken sollten: CPU-basierte und E/A-basierte Gleichzeitigkeit. Sprachen wie Erlang und Go zeigen, dass man async/await nicht braucht, um eine E/A-basierte Parallelität zu haben. Es ist völlig unnötig. In dieser Hinsicht mag ich das async/await-Modell nicht, wenn es zur Bereitstellung einer E/A-basierten Parallelität verwendet wird. Es wird dafür eigentlich nicht benötigt. Dadurch muss nun meine Software das E/A-Problem lösen, was mir meine Arbeit deutlich erschwert. Das ist nämlich etwas, das die Sprache selbst hätte lösen müssen. Es ist nicht gewollt, dass die Sprache den Entwickler dazu zwingt, das Problem zu lösen. Auf der anderen Seite hat Elixir zwar async/await, allerdings nur aus Bequemlichkeit. Es geht schlichtweg um CPU-basierte Parallelität.

Ich möchte das gerne etwas näher ausführen, weil es der Grund ist, warum ich mich für Erlang begeistert habe. Der Grund, warum ich mich in Erlang verliebt habe, ist, dass, während alle versuchten, das Problem der Gleichzeitigkeit zu lösen, Erlang dieselbe Abstraktion verwendet, um die Gleichzeitigkeit und die Verteilung zu gewährleisten. Ich kann zwei Programme auf verschiedenen Rechnern laufen lassen, und sie können miteinander kommunizieren. Dieselbe Abstraktion liefert uns auch ein Modell, um über Ausfälle und Fehlertoleranz nachzudenken. Wenn es um E/A geht, müssen keine Callbacks geschrieben oder der Steuerfluss umgekehrt werden. Das wird zur Laufzeit automatisch erledigt.

Das ist es, was Erlang wirklich aufregend macht. Es ist eine Erweiterung des Aktormodells. Es ist ein Aktormodell inklusive Fehlertoleranz. Es fasst viele Dinge zusammen, und das bedeutet für mich, dass ich als Entwickler weniger Dinge in meinem Kopf behalten muss. Ich muss nicht einen Haufen verschiedener Tools oder ein ganzes Bündel verschiedener Modelle lernen, die zu einem bestimmten Konzept passen. Ich habe eine Abstraktion, die alles steuert, und das finde ich sehr elegant.

 

Evrone: Was ist das beste Szenario für die Zukunft von Elixir? Wo sehen Sie die Sprache in 10 Jahren, wenn alles (extrem) gut läuft?

José: Ich habe nie wirklich viel darüber nachgedacht. Es ist ziemlich anstrengend, mit einer neuen Programmiersprache zu beginnen, und die meisten dieser Anstrengungen bleiben erfolglos. Ich wusste, dass es in gewisser Weise auch eine enorme Investition von Zeit und Geld sein würde. Ich wollte keine zu großen Erwartungen haben, denn dann konnte ich bei ausbleibendem Erfolg immer sagen: „Ganz normal, kein Problem, wie erwartet“. So habe ich es anfangs auch getan. Aber ich wollte immer noch mein Bestes geben. Ich wollte eine vielfältige Sprache haben, die nicht von einer einzigen Killer-App abhängig ist, sondern eine Reihe von verschiedenen Domänen und Bereichen hat, mit denen die Sprache arbeiten kann. Und ich wollte eine einladende Community.

Nach all diesen Jahren ist mein Zukunftsplan so ziemlich derselbe. Ich bin immer noch daran interessiert zu sehen, wie sich die Sprache in neue Bereiche diversifizieren kann.

Zum Beispiel gibt es eine Menge interessante Dinge zum Thema Machine Learning (ML), und es wäre großartig, wenn Elixir ein Teil davon würde. Wenn man mit Hilfe von ML den Unterschied zwischen einer Katze und einem Hund erkennen möchte, geht es nicht um eine einfache Antwort auf eine Frage. Das Problem teilt sich in viele Teile auf. Erkennt man Katzenohren? Erkennt man eine Hundenase? Was man also eigentlich tun muss, ist den Lernprozess aufzuspalten. Man braucht verschiedene Knotenpunkte, die sich auf bestimmte Merkmale konzentrieren, um am Ende zu einer bestimmten Schlussfolgerung zu kommen.

Das wäre einfach fantastisch für Elixir. Denn diese Art des verteilten, gleichzeitigen Lernens, bei dem man viele Dinge koordinieren muss, die zur gleichen Zeit passieren, ist etwas, was die Sprache wirklich gut kann.

 

Evrone: Wenn Sie in der Zeit zurückreisen und Ihrem jüngeren Ich nur einen einzigen technischen Rat geben könnten, als Sie damit begonnen haben, Elixir zu entwickeln, welcher Rat wäre das?

José: Ich weiß es nicht, um ehrlich zu sein. Es ist nicht so, dass ich keinen Tipp hätte, aber Zeitreisen sind sehr kompliziert. Was ist, wenn ich meinem jüngeren Ich einen Tipp gebe, der dazu führt, dass ich alles falsch mache? Wie kann man sicher sein, dass in so einem Szenario alles besser laufen würde, nachdem man seinem Ich „geholfen“ hat? Einige Dinge muss man möglicherweise auf die harte Tour selber lernen.

 

Evrone: Das stimmt. Welche Sprachen betrachten Sie als Elixir-Konkurrenten und warum?

José: Generell würde ich andere dynamische Sprachen als Konkurrenten sehen. Allerdings könnte man je nach Domäne, in der Elixir Verwendung findet, auf unterschiedliche Konkurrenten treffen. Im Web sind es natürlich Javascript und Ruby. Im Bereich der Datenverarbeitung ist es wahrscheinlicher, dass wir mit JVM konkurrieren. Aber im Allgemeinen würde ich die anderen dynamischen Sprachen als Konkurrenten sehen, weil dynamische Sprachen aufgrund ihrer Eigenschaften dazu neigen, sich sehr ähnlich anzufühlen.

 

Evrone: Sie arbeiten viel an der Sprache, dem Ökosystem und der Community. Was hilft Ihnen, eine Work-Life-Balance zu halten und Burnouts zu vermeiden?

José: Da spielen viele Aspekte eine Rolle. Mein Ratschlag Nummer eins ist, alles andere abzuschalten, als wäre man am PC jederzeit im „Nicht stören“-Modus. Auf diese Weise kann man sich konzentrieren und dreht nicht durch. Das Arbeiten von zu Hause aus hat zur Folge, dass die Menschen immer mehr auf eine Online-Kommunikation angewiesen sind. Ich bin sehr proaktiv darin, Dinge zu reduzieren, die meine Aufmerksamkeit erfordern. Wenn es wirklich wichtige Informationen gibt, werden mich diese auf irgendeine Art erreichen, und das ist auch in Ordnung so.

In der Vergangenheit war ich zum Beispiel sehr aktiv auf Twitter, haben aber später beschlossen, die Plattform aus meinem Leben zu verbannen. Ich bin vielen Leuten gefolgt, von deren Beiträgen ich oft etwas Neues lernen konnte. Ich war besorgt, dass ich, sobald ich das getan hatte, diese Informationen verpassen würde, aber das war am Ende kein Problem.

Ich arbeite seit mehr als einem Jahrzehnt remote. Im Jahr 2020 hat sich in der Hinsicht für mich nicht viel geändert. Ich habe Apps dieser Art auch nicht auf meinem Handy, weil man dadurch sehr leicht abgelenkt wird. Man ist mit seinen Freunden unterwegs und wirft ständig einen Blick auf sein Handy, weil man Benachrichtigungen erhält. Ich versuche, keine Dinge zu haben, die mich ablenken oder versuchen, meine Aufmerksamkeit von dem abzulenken, was ich gerade tue oder was ich eigentlich tun sollte.

Evrone: Ein sehr guter Tipp! Es war uns eine Freude, mit Ihnen zu sprechen. Vielen Dank!

Das Fazit

Wir hatten ein großartiges Interview mit José und konnten mehr über seinen ursprünglichen Ansatz und seine Vorgehensweise bei der Entwicklung von Elixir erfahren. Wir möchten uns auch bei Ruby Conf Taiwan für das in diesem Artikel verwendete Bild bedanken. Wir bei Evrone verwenden häufig Elixir, um benutzerdefinierte Lösungen zu erstellen, die den individuellen Anforderungen unserer Kunden gerecht werden. Wir schätzen es sehr, wenn wir die Gelegenheit erhalten, vom Entwickler einer Technologie zu lernen, weil wir dadurch unser Fachwissen stärken und dadurch mehr Tools zur Verfügung haben, mit denen wir innovative neue Produkte entwickeln können. Wenn Sie eine Idee für ein Projekt haben, das von Elixir profitieren würde, helfen wir Ihnen gerne weiter. Lassen Sie uns Ihre Kontaktdaten da, und wir werden uns bald mit Ihnen in Verbindung setzen, um Ihre Idee zu besprechen und Ihnen zu helfen, sie zu verwirklichen.

 

Kontaktieren Sie uns
Schwebt Ihnen ein Projekt vor?
Setzen wir es gemeinsam um
Datei anhängen
Die Dateien müssen kleiner als 8 MB sein.
Zulässige Dateierweiterungen: jpg jpeg png txt rtf pdf doc docx ppt pptx.
Diese Website wird durch reCAPTCHA geschützt. Es gelten die Datenschutzerklärung und die Nutzungsbedingungen von Google.