Fixing Airplanes with Clojure - Dom Kiva Meyer

Discover how Embraer X's Beacon platform uses Clojure and GraphQL to connect and synchronize industry resources, the aftermarket supply chain, and aviation services professionals to keep aircraft flying.

Key takeaways
  • Beacon is a project from Embraer X, a subsidiary of Embraer, that aims to connect and synchronize industry resources, the aftermarket supply chain, and aviation services professionals to keep aircraft flying.
  • The Beacon platform uses graphQL, a query language for APIs, to enable real-time communication and data synchronization among various stakeholders in the aviation industry.
  • The Beacon MVP was developed by an agency using JavaScript and Apollo, a popular graphQL client and server library.
  • The Beacon team transitioned to using Clojure for the API server, citing its strong foundation, lisp syntax, and macro system as advantages.
  • Clojure’s immutability and strong typing were seen as benefits for reducing bugs and improving code quality.
  • The team also appreciated Clojure’s REPL, which allowed for interactive and productive coding.
  • The use of graphQL enabled the Beacon platform to provide a single API for various types of clients, reducing the need for custom development for each client.
  • The team emphasized the importance of code sharing and knowledge transfer, which was facilitated by using Clojure and graphQL.
  • Hiring experienced JavaScript developers was challenging, while finding experienced Clojure developers was relatively easier.
  • The team highlighted the importance of strong typing in graphQL, which allows for better error detection and improved code quality.
  • Subscriptions in graphQL were discussed, and the team mentioned using web sockets and the Apollo Subscriptions Transport WS library for implementing them.
  • The Beacon platform uses Postgres as its primary data store and NATS for pub/sub messaging.
  • The team emphasized the importance of using the right tools and technologies for the job, rather than being dogmatic about specific languages or frameworks.
  • The talk concluded with a call for attendees to reach out if they were interested in using Clojure to fix airplanes or working remotely with the Beacon team.