Elixir Wizards

Devon Estes on how Architecture Is a Myth and One-file Design


Listen Later

There is no difference between architecture and design. It's all engineering and creating a distinction between the two is a way for someone to get paid more and have a different title. That hot take comes from Devon Estes, today’s guest, who provides a novel way of seeing design and architecture. We open the episode by diving straight into the topic of design, with Devon exploring how good design might be less important than developing the right toolset. We then talk about how language servers can help you effortlessly define functions, meaning that in some cases, it doesn’t matter where you put your code — even if it’s all in one file. After touching on game-changing innovations in the world of design, such as GTP-3, Devon shares how our design options are limited by our editors. Considering the impact of human error on software, we discuss the value of convention and rulesets. As Elixir apps or apps that use Phoenix are open-ended, Devon talks about his middle-ground solution to help teams overcome this challenge. Near the end of the episode, Devon chats about why design and architecture, as elements of engineering, are different levels of abstraction and not separate entities. Following this, he highlights how domain-driven design can be used to avoid confusion and bugs by ensuring that people across departments all use the same language. Tune in to hear more of Devon’s unique and well-pondered insights.

Key Points From This Episode:

  • Devon’s take on design; “Where things go doesn’t matter if you have a language server.”
  • Defining what a language server is and its incredible usefulness.
  • How ‘go to definition’ functions could render much of design as unnecessary.
  • Game-changing innovations that will change the world of design.
  • Functional versus object-orientated languages and the challenge of finding files.
  • Why Devon uses Vim and what makes it attractive to other programmers.
  • How Elixir apps can be a challenge due to their open-ended nature.
  • Creating primary and secondary contexts to give Phoenix more structure.
  • The human factor; why people are often the cause of many coding issues.
  • Hear how Devon has been structuring his Absinthe projects.
  • Devon shares details about his Absinthe testing library, Assertions.
  • Devon’s hot take that there is no difference between architecture and design.
  • The importance of domain-driven design in avoiding confusion and bugs.
  • Why engineers need to push to ensure the same language is used across departments.
  • Links Mentioned in Today’s Episode:

    SmartLogic — https://smartlogic.io/

    Devon Estes — http://www.devonestes.com/
    Devon Estes on GitHub — https://github.com/devonestes
    Devon Estes on Twitter — https://twitter.com/devoncestes
    Jake Becker on GitHub — https://github.com/JakeBecker
    GPT-3 — https://www.independent.co.uk/life-style/gadgets-and-tech/news/gpt3-ai-tool-designs-websites-medicine-a9627966
    Elixir Is — https://github.com/elixir-lsp/elixir-ls
    Ale — https://github.com/dense-analysis/ale
    MOO — https://lisdude.com/moo/
    Erlang code — https://erlang.org/doc/man/code.html
    ‘A Proposal for Some New Rules for Phoenix Contexts’ — http://www.devonestes.com/a-proposal-for-context-rules
    ‘A proposal for an Absinthe application structure’ — http://www.devonestes.com/a-proposal-for-absinthe-project-structure
    Elixir Radar — https://elixir-radar.com/
    Assertions.Absinthe — https://hexdocs.pm/assertions/Assertions.Absinthe.html#document_for/4
    ElixirConf EU — https://www.elixirconf.eu/
    ‘Elixir testing from beginner to expert’ — https://www.elixirconf.eu/trainings/elixir-testing-from-beginner-to-expert/

    Special Guest: Devon Estes.

    ...more
    View all episodesView all episodes
    Download on the App Store

    Elixir WizardsBy SmartLogic LLC

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    22 ratings


    More shows like Elixir Wizards

    View all
    Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

    Software Engineering Radio - the podcast for professional software developers

    274 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    284 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    621 Listeners

    Python Bytes by Michael Kennedy and Brian Okken

    Python Bytes

    215 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    987 Listeners

    CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

    CoRecursive: Coding Stories

    189 Listeners

    Elixir Outlaws by Elixir Outlaws

    Elixir Outlaws

    24 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    62 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    33 Listeners

    Beam Radio by Lars Wikman

    Beam Radio

    11 Listeners

    Software Unscripted by Richard Feldman

    Software Unscripted

    26 Listeners

    Oxide and Friends by Oxide Computer Company

    Oxide and Friends

    57 Listeners

    Elixir Mentor by Jacob Luetzow

    Elixir Mentor

    2 Listeners

    Risky Business with Nate Silver and Maria Konnikova by Pushkin Industries

    Risky Business with Nate Silver and Maria Konnikova

    262 Listeners

    The Pragmatic Engineer by Gergely Orosz

    The Pragmatic Engineer

    63 Listeners