Elixir Wizards cover image

Elixir Wizards

Latest episodes

undefined
Jan 21, 2021 • 53min

Matt Nowack and Jake Heinz on Elixir and Discord; Bonus: Arthi Radhakrishnan, Community.com

In this episode we continue our conversation about adopting Elixir, this time with Matt Nowack and Jake Heinz from Discord, hearing them get into the features of Elixir that make it a great fit for building a real-time chat infrastructure system! We also invite Arthi Radhakrishnan from community.com for our mini-interview in the last chunk of the episode. Our chat begins with Jake and Matt telling Elixir developers exactly why they should not use Mnesia. They subsequently dive into their journeys in programming and the process of learning Elixir after joining Discord. They share a few aha-moments as well as challenging projects that asked them to get their heads around some of the more powerful features of Elixir, highlighting a way they used immutability for a project that asked them to efficiently calculate deltas for large member list updates. From there we get into the culture around onboarding new devs at Discord, the company’s popular open-source Elixir contributions, and some brags about the high performance of features of Discord built in Elixir. Wrapping up with Jake and Matt, we hear their suggestions for teams and devs hoping to adopt Elixir, where they strongly advise on learning OTP as well as Elixir’s standard library. After that, it’s time for our chat with Arthi, where we hear about her programming journey, how Elixir is being put to use at Community.com, how the company supports new devs learning Elixir, and more! Key Points From This Episode: Our guests’ thoughts on why Elixir developers shouldn’t use the database driver Mnesia. How Jake and Matt got into programming and learned Elixir after joining Discord. The history of the use of Elixir at Discord and some of the projects Jake helped build since. The nuts and bolts of OTP; Jake’s experiences learning it along with Elixir at Discord. Different projects Matt worked on after joining Discord and how they helped him learn Elixir. Aha moments of learning Elixir; features of the language that acted as force multipliers in the development of different Discord projects. Processes at Discord for helping new developers learn Elixir. Open-source contributions from Discord to the Elixir community and the culture around this at Discord. Issues around logging and memory allocation in Elixir and what our guests think could change. The sheer power Elixir brought to the Discord project allowing rapid scale with a small team. Jake weighs in on the strengths of Python, Rust and Elixir, as well as BEAM processes versus Goroutines. Discord as a native Electron app and whether we will see it written in Rust. Advice regarding adopting Elixir about the power of OTP and the standard library. Introducing Arthi Radhakrishnan for our mini-interview at the end of the show. Previous languages Arthi worked in and how she learned Elixir after joining community.com. The fan chat service offered at community.com and some famous users. Features of the community.com architecture built in Elixir. The size of the team, the culture of hiring Elixir devs, and Arthi’s onboarding process at Community.com. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Matt Nowack on GitHub — https://github.com/ihumanable Mat Nowack on Twitter — https://twitter.com/ihumanable?lang=en Jake Heinz on GitHub — https://github.com/jhgg Apply for a Position at Discord — https://discord.com/jobs Stanislav Vishnevskiy on LinkedIn — https://www.linkedin.com/in/svishnevskiy/ ZenMonitor — https://github.com/discord/zen_monitor SortedSet Nif — https://github.com/discord/sorted_set_nif The BEAM Book — https://github.com/happi/theBeamBook Semaphore — https://github.com/discord/semaphore ExHashRing — https://github.com/discord/ex_hash_ring erts_alloc Documentation — https://erlang.org/doc/man/erts_alloc.html Arthi Radhakrishnan on LinkedIn — https://www.linkedin.com/in/arthiradhakrishnan/ Community.com Andrea Leopardi on LinkedIn — https://www.linkedin.com/in/anleopardi/?originalSubdomain=itSpecial Guests: Jake Heinz and Matt Nowack.
undefined
Jan 14, 2021 • 34min

Jason Axelson on the Elixir Language Server

Welcome back to the Elixir Wizards podcast! In this episode, we will be continuing our conversation on the theme of adopting elixir, and our great guest for today is Jason Axelson! Jason is a back-end developer for a mixed reality studio called Animal Repair Shop and has also made some significant contributions to the Elixir Language Server project. We kick off our conversation with Jason hearing about his programming journey and then dive into the event chat service app he helped build using Elixir while he was working at Hobnob. From there, we talk about some of his aha moments while learning Elixir and some of his favorite features about the language which he is putting to use building out the back end for Animal Repair Shop. Next, we turn our attention to Elixir Language Server and Jason weighs in on the IDE type features it offers, why he got started as a collaborator on the project, and some of their challenges in the field of shared governance. Wrapping up for today, Jason makes a few suggestions for how devs who love Elixir can convince their teams to adopt it as a more mainstream option. Tune in for a great chat on the topic of adopting Elixir! Key Points From This Episode: An introduction to Jason Axelson and the story of how he got into programming. Some of the books our hosts and guests read as kids and how they relate to programming. How Jason got into Elixir while working on a chat service for events app at Hobnob. Jason’s current project using Elixir to build the back end for Animal Repair Shop. What caused Hobnob to switch to Elixir for their chat app and Jason’s aha moments learning it. The TLDR version of the project that birthed ‘Road to 2 Million WebSocket Connections’. What Jason loves about Elixir — pattern matching, immutability, explicitness. Why Jason and his team at Animal Repair Shop are building their back end in Elixir. The features provided by the Elixir Language Server for giving IDEs Elixir type support. Jason’s involvement with GitHub/ElixirLSP; why he got involved, the project’s architecture, etc. Some of the most challenging aspects of working on ElixirLS for Jason. Jason’s talk on ElixirLS at ElixirConf – its content, doing it virtually, and more. New features in the pipeline for ElixirLS; formatting speed improvements and more. The role that good tooling plays in being able to learn a language more easily. What needs to happen for Elixir to become a more mainstream back end option. Advice from Jason regarding ways to convince your firm to adopt Elixir. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Jason Axelson on LinkedIn — https://www.linkedin.com/in/jasonaxelson Jason Axelson on GitHub — https://github.com/axelson Jason Axelson on Twitter — https://twitter.com/bostonvaulter?lang=en Priv_check by Jason Axelson — https://github.com/axelson/priv_check Jason Axelson ElixirConf ElixirLS Talk — https://2020.elixirconf.com/speakers/126/talk A Definitive Guide to JavaScript — https://www.oreilly.com/library/view/javascript-the-definitive/9781491952016/ Hobnob — https://hobnob.app/ Elixir for Programmers by Dave Thomas — https://codestool.coding-gnome.com/courses/elixir-for-programmers Animal Repair Shop — https://www.animalrepairshop.com/about/ ‘Road to 2 Million WebSocket Connections’ — https://phoenixframework.org/blog/the-road-to-2-million-websocket-connections Elixir Getting Started Guide — https://elixir-lang.org/getting-started/introduction.html GitHub/ElixirLP — https://github.com/elixir-lsp/elixir-ls Adopting Elixir — https://pragprog.com/titles/tvmelixir/adopting-elixir/ Elixir Slack — https://elixir-slackin.herokuapp.com/ elixir-lsp/elixir-ls: Issue #274 — https://github.com/elixir-lsp/elixir-ls/issues/274 elixir-lsp/elixir-ls: Issue #381 — https://github.com/elixir-lsp/elixir-ls/issues/381Special Guest: Jason Axelson.
undefined
Jan 8, 2021 • 39min

Steve Domin on Innovating Travel APIs

Anyone who has written software for the travel industry can tell you that it is in desperate need of innovation — shockingly many of their cobwebbed systems were built in the 70s. Today we speak with Duffel CEO Steve Domin, who is building tech that can finally align travel with the expectations of modern consumers. We open by exploring Steve’s journey into coding before diving into how Duffel is innovating travel. After touching on how the pandemic has impacted Duffel’s roll-out, Steve shares horror stories about the outdated tech and API systems that airlines use. We discuss Duffel’s service offerings and why Elixir is uniquely suited to solve the problems that Steve’s company is addressing. Steve then talks about the types of engineers that Duffel hires, his client base, and where his company is heading. Near the end of the episode, we ask Steve for his advice on selling your company on Elixir and we chat about the status of the London Elixir Meetup. Tune in for more insights on how Steve is using Elixir to make travel an effortless experience. Key Points From This Episode: Introducing Duffel CEO Steve Domin. Steve shares details about his coding journey and career highlights. Insights into the old school ecosystem of Flash, Flex, and ActionScript. Exploring how Duffel is innovating the travel industry. Why Duffel accelerated their roll-out due to the pandemic. Steve unpacks the outdated tech and API systems that airlines use. Why Duffel decided to use Elixir to tackle their problems. The benefits of using Elixir when dealing with airline data. Steve gives listeners an overview of Duffel’s pipeline. Insights into the types of engineers that Duffel hires. Who Duffel’s clients are and how they’re onboarded. Steve reflects on some airline API horror stories. Hear about Duffel’s roadmap — the future is bright. What Elixir has uniquely enabled Duffel to do. Steve’s advice on selling Elixir to stakeholders in your company. The status of the London Elixir Meetup. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Steve Domin — https://stevedomin.com/about Steve Domin on LinkedIn — https://www.linkedin.com/in/stevedomin/ Steve Domin on Twitter — https://twitter.com/stevedomin Duffel — https://duffel.com/ Duffel Careers — https://duffel.com/careers José Valim — https://twitter.com/josevalim Flex — https://www.adobe.com/products/flex.html Passenger Service System — https://en.wikipedia.org/wiki/Passenger_service_system Global Distribution System — https://en.wikipedia.org/wiki/Global_distribution_system Sabre — https://www.sabre.com/ Amadeus — https://amadeus.com/en ‘Why does NDC matter to my travel business?’ — https://duffel.com/blog/why-does-ndc-matter-to-my-travel-business IATA — https://www.iata.org/ Next.js — https://nextjs.org/ GoCardless — https://gocardless.com/ Twilio — https://www.twilio.com/ Stripe — https://stripe.com/ Thomas Bates — https://www.linkedin.com/in/thomas-bates-3908a74b/ Elixir London Meetup — https://www.meetup.com/Elixir-London/ Baris Balic — https://twitter.com/barisbalicSpecial Guest: Steve Domin.
undefined
Dec 29, 2020 • 39min

Shawn Vo on Elixir as a Competitive Advantage

To beat out their competitors, startups need to code quickly, simply, and in a language that attracts top engineers. Enter Elixir. Today we speak with Shawn Vo, Axle Payments Co-Founder and CTO, about his journey with Elixir and how it has given his company a competitive advantage. We open our conversation by exploring how Shawn got into coding while automating his work as an investment banker. After touching on why he sees programming as a superpower for adding value, he shares his growth hacks for learning a language — these range from reading old books to attending coding meetups. We then dive into Axle Payments’ business model, with Shawn highlighting the business opportunity of creating tech for industries that “people don’t think about.” A key theme in this episode, Shawn talks about how building in Elixir has helped Axle Payments hire the best engineers. We also discuss how Elixir allows them to quickly and efficiently write code that doesn’t break. Near the end of the episode, we explore Shawn’s browser extension projects and why he has a readme file to help guide people who want to work with him. Be sure to tune in to hear more insight from Shawn on the benefits of using Elixir in the startup space. Key Points From This Episode: Introducing Axle Payments CTO Shawn Vo. From investment banking to coding, hear how Shawn got into our industry. Why coding and creating content are top ways of creating value. Reading books and getting into the fundamentals; tips on how Shawn learns a language. Shawn shares details about his professional career. How Shawn grew his skills by attending coding meetups. Hear about Axle Payments’ model providing a factoring service. How Shawn discovered and fell in love with Elixir. Why Elixir has given Axle Payments their competitive advantage. Shawn reflects on his first Elixir project. The benefits of using event sourcing to build your app. Why Shawn created a readme to guide people who want to work with him. Shawn summarizes why Elixir is the perfect language for his company. Links Mentioned in Today’s Episode: Shawn Vo on LinkedIn — https://www.linkedin.com/in/shawnvo/ Shawn Vo on Twitter — https://twitter.com/shawnvo Shawn Vo on GitHub — https://github.com/voshawn Shawn Vo Email — shawn@axlepayments.com Axle Payments — https://www.axlepayments.com/ The Technical Cofounder Newsletter — https://technicalcofounder.substack.com/ Meryl Dakin — https://twitter.com/meryldakin WALL-E — https://www.imdb.com/title/tt0910970/ Barclays Investment Bank — https://www.investmentbank.barclays.com/ The Climate Corporation — https://www.climate.com/ The Monsanto Company — https://www.cropscience.bayer.com/ Federal Deposit Insurance Corporation — https://www.fdic.gov/ Deep Learning NYC — https://www.meetup.com/Deep-Learning-NYC/ Baltimore AI Meetup — https://www.meetup.com/Baltimore-AI/ Fast.ai — https://www.fast.ai/ Megabus — https://www.megabus.com/ Greyhound — https://www.greyhound.com/ Techstars — https://www.techstars.com/ Peter Thiel — https://www.forbes.com/profile/peter-thiel/ WeWork — https://www.wework.com/ Paul Graham — http://www.paulgraham.com/ Y Combinator — https://www.ycombinator.com/ ‘The Python Paradox’ — http://www.paulgraham.com/pypar.html Heroku — https://www.heroku.com/ Sessionizer — https://sessionize-me.herokuapp.com/ Hamilton — https://hamiltonmusical.com/new-york/home/ Slack — https://slack.com/ Phoenix — https://hexdocs.pm/phoenix/overview.html Commanded — https://hexdocs.pm/commanded/Commanded.html The Social Dilemma — https://www.imdb.com/title/tt11464826/Special Guest: Shawn Vo.
undefined
Dec 22, 2020 • 47min

Viktória Fördős on Erlang

Today we sit down with Erlanger Viktória Fördős, who talks with us about Erlang and how it is used at Cisco. We open the show by finding out about Viki’s background in coding and her unorthodox entry into the field. After hearing about her experiences in her school choir and her transition into the informatics faculty, Viki talks to us about her first experiences in coding and the thrills she found in it. She then expands on the topic, revealing how she approached people to build their websites using her newfound skills in HTML and PHP. A flash-forward later, and Viki shares details about her role as an NSO Core Engineer for Cisco. After hearing how NSO serves as a network operating system, device automation platform, and orchestration engine, Viki explains why NSO is so special. She touches on fast map-based service and some of the ways she and her team implement network-wide transactions using — you guessed it — Erlang. Viki then explains Erlang, how you should approach it if you’re a newbie, and what to expect from its biggest challenges. She elaborates on tail-recursive functions and high-level vulnerabilities concerned with SSL crypto libraries, system integrity, and atom tables. Toward the end of the show, we ask Viki to tell us about her Code BEAM presentation and about her thoughts on why academia and industry should collaborate on a more regular basis. Join us today and be treated to an enriching conversation about Erlang, as well as our secret mini-feature segment! Key Points From This Episode: Introducing today’s guest, Viki Fördős from Cisco. A snapshot of Viki’s unorthodox background in coding. Viki shares details about early experiences learning Basic. Hear about Viki’s first programming job out of college. Viki’s position as a core engineer for the NSO team at Cisco. Find out what the NSO team at Cisco does. Insights into the patented algorithm, “fast map.” How Viki started to use Erlang on a day-to-day basis. Ways you can start thinking in Erlang from an Elixir background. The kinds of issues Viki runs into when spawning too many processes. What Erlang has to offer that other languages cannot. Viki’s biggest challenges when she first started learning Erlang. The elevator pitch Viki uses when she encourages friends and colleagues to use Erlang. Distribution protocols and what they mean to Erlang newbies. Hear about the high-level vulnerabilities you ought to pay attention to when coding in Erlang. Introducing Christian Koch, today’s mini-feature segment guest. How Chris first got into Elixir. How Elixir is being used by platform engineers at Cars.com. Why Elixir was chosen as the end-game language to be used at Cars.com The process behind onboarding coders onto Chris’s Elixir team. Viki’s best advice to those wanting to give a Code BEAM talk. Hear about refactoring and how it works. What Viki means by, “research being consumed by industry.” Links Mentioned in Today’s Episode: Viktória Fördős - https://github.com/viktoriafordos Cisco — https://www.cisco.com/ EW20 — https://github.com/viktoriafordos/ew20 Prototype implementation of the security analysis introduced in V. Fördős: Secure Design and Verification of Erlang Systems paper Christian Koch — https://www.linkedin.com/in/ckochx/ Cars.com — https://www.cars.com/ BASIC — https://en.wikipedia.org/wiki/BASIC Cisco NSO — https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html Think in Erlang! - Viktória Fördős — https://www.youtube.com/watch?v=bYkOsQU2ywM Erlang general server — https://erlang.org/doc/man/gen_server.html Erland Reference Manual — https://erlang.org/doc/reference_manual/distributed.html 4 Using TLS — https://erlang.org/doc/apps/ssl/ssl_distribution.html Erland System Limits — http://erlang.org/doc/efficiency_guide/advanced.html#system-limits Hexdocs — https://hexdocs.pm/elixir/String.html#to_existing_atom/1 RefactorErl — https://plc.inf.elte.hu/erlang/ Pipedream on GitHub — https://github.com/PipedreamHQ/pipedream/blob/master/components/github/readme.mdSpecial Guest: Viktória Fördős.
undefined
Dec 17, 2020 • 37min

Simon Glenn-Gregg on Building an Election Results Prototype in Elixir

Today’s guest is Simon Glenn-Gregg, News Engineer at The Washington Post. He joins us to talk about using Elixir to build a prototype for a platform the news house recently implemented to visualize the results of the November 2020 elections in real-time. While the job title of ‘News Engineer’ makes it seem like Simon invents news, this is not the case. He is focused on software related to publishing at The Washington Post, and in particular, has been working on building their election visualization platform for the past two years. Before the final iteration of the platform was built, the software engineering team at The Washington Post were given a period to test different technologies as an experiment to find the best fit, and Simon decided to try his hand at Elixir and Phoenix. He talks about what led him to this choice, and his experiences building out his prototype which he demonstrated on a dataset generated by the North Carolina 3rd Congressional District house race in September. Simon tells us about how the pitch went, what the team at The Washington Post was especially impressed by, and what led to the choice to use Node in the end. Simon talks about the culture of openness to new technologies at The Washington Post as well as some of the limitations to their adoption. We also hear about how the final version of the visualization platform held up during the elections proper, and Simon’s plans to include Elixir in future stacks due to its amazing abilities as far as concurrency and memory. Tune in today! Key Points From This Episode: What kinds of projects Simon works on at The Washington Post as a ‘news engineer’. The live updating election visualizer that Simon was working on at The Washington Post. What went into building the infrastructure for this platform and how Elixir was chosen as a candidate. A blog post about Elixir’s memory management; abilities Elixir has regarding concurrency. The first steps Simon took toward learning Elixir and Phoenix by building simple projects. Simon’s process of integrating his Elixir app into the current stack and people at The Washington Post. Testing the app on the 3rd Congressional District house race in North Carolina, and pitching to the team. Why it is hard to implement projects in new languages at The Washington Post. How the voting process went after the pitch and which project won. What the audience at the pitch loved about Elixir, and what the stumbling blocks were. The nature of working at a deadline-driven place like The Washington Post when it comes to adopting new technologies. Sources The Washington Post used to get their election data. What technologies and methods the team used to handle the size of data some election moments generated. Which parts about the election visualizer that ended up being built using Node would have been easier to do in Elixir. The other side of the coin – what made writing the app in Python and JavaScript easier. What future projects Elixir might be better suited to at The Washington Post. Simon’s background, education, and how he learned programming in previous jobs Why Simon stuck programming out and decided it was the right path for him. The need for software engineers at The Washington Post and why they are recruiting so often. A deep dive into the tech stack at The Washington Post and how they render their pages and maps. How Simon feels having reached the end of a successful project that millions of people engaged with. Future projects at The Washington Post and Simon’s hopes to incorporate more Elixir. A funny story about having to manually update the votes from rural New Hampshire into the app. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Simon Glenn-Gregg on LinkedIn — https://www.linkedin.com/in/simongle/ Simon Glenn-Gregg — http://simonglenngregg.com/ The Washington Post — https://www.washingtonpost.com/ Jason Holt on Twitter — https://twitter.com/offpol ‘Elixir RAM and the Template of Doom’ — https://www.evanmiller.org/elixir-ram-and-the-template-of-doom.html Erik Reyna on LinkedIn — https://www.linkedin.com/in/erikreyna/ Jeremy Bowers on LinkedIn — https://www.linkedin.com/in/jeremyjbowers/ Associated Press — https://apnews.com/ Edison — https://www.edisonresearch.com/ Whole Whale — https://www.wholewhale.com/ The Century Foundation — https://tcf.org/ Arc Publishing — https://www.arcpublishing.com/ Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen — https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrichSpecial Guest: Simon Glenn-Gregg.
undefined
Dec 10, 2020 • 53min

Randall Thomas on Learning Elixir and Why Community Matters

The culture of your programming community directly impacts your professional success. As Thunderbolt Labs Founder Randall Thomas explains in this episode, a community that practices openness and which warmly welcomes its newer members leads to greater career happiness. We open our chat with Randall by exploring his start in coding and how he discovered Elixir. He shares some of the teething problems that he had moving from Ruby to Elixir before we touch on how learning other languages expands your ability to both appreciate and code in languages that you’re already fluent in. Following this, Randall explodes the myth of the genius polyglot programmer by sharing his take on why all coders are polyglots. As the Thunderbolt CEO, we ask Randall how his company adopted Elixir. He provides listeners with insights into how they introduced Elixir into their practice without affecting existing projects. After highlighting the efficiency of Elixir and how community affects the feel of a language, we compare the culture and challenges of Ruby, JavaScript, and Elixir. Near the end of the episode, Randall reflects on why experts make for poor teachers. For Randall, Elixir gives his company a competitive advantage. Tune in to hear Randall’s perspective on why community matters and for his top advice on teaching your team Elixir. Key Points From This Episode: Introducing Thunderbolt Labs Founder and CEO, Randall Thomas. Randall shares how he discovered coding and engineering. Hear how Randall first heard about Elixir and how he picked up the language. Exploring common challenges moving from Ruby to Elixir. How learning new languages can deepen your understanding of languages that you already know. Why there’s no such thing as the ‘genius polyglot programmer.’ Details on why Randall’s company began gravitating towards Elixir. How communities affect the ‘feel’ of a language. Why no one actually writes in JavaScript anymore. Randall gives his take on why Elixir is a god-send for certain programmers. Insights into how Randall integrated Elixir into his company. The challenge of learning Elixir versus the ease of learning JavaScript. How Randall sold his clients on Elixir and the benefits of having clients that trust you. Randall’s top tips on helping your developers learn Elixir. Why Elixir gives Randall’s a strategic advantage. The importance of having non-experts explain things to you. How your coding community can impact your happiness and career success. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Randall Thomas on LinkedIn — https://www.linkedin.com/in/randall-j-thomas/ Randall Thomas on Twitter — https://twitter.com/daksis Thunderbolt Labs — https://www.thunderboltlabs.com/ Episode with Miki Rezentes — https://smartlogic.io/podcast/elixir-wizards/s4e16-rezentes/ Gödel, Escher, Bach on Amazon — https://www.amazon.com/B6del-Escher-Bach-Eternal-Golden/dp/0465026567 Stephen Hawking — https://www.biography.com/scientist/stephen-hawking William James — https://plato.stanford.edu/entries/james/ Bertrand Russell — https://plato.stanford.edu/entries/russell/ Barcelona Ruby Conference — https://twitter.com/baruco José Valim — https://twitter.com/josevalim Programming Elixir on Amazon — https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/dp/1680502999 Dave Thomas — https://pragdave.me/ ElixirConf — https://2020.elixirconf.com/ ‘(UN)Learning Elixir’ — https://www.youtube.com/watch?v=o54EurlzK8o Bruce Tate — https://www.linkedin.com/in/bruce-tate-a836b/ Grox.io — https://grox.io/ Eric S. Raymond — http://www.catb.org/~esr/ Stack Overflow — https://stackoverflow.com/ Medium — https://medium.com/ Engine Yard — https://www.engineyard.com/ Douglas Crockford — https://www.crockford.com/about.html Yehuda Katz — https://www.linkedin.com/in/yehudakatz/ Blake Mizerany — https://www.linkedin.com/in/bmizerany/ The Pragmatic Studio — https://pragmaticstudio.com/ Stuff Goes Bad: Erlang in Anger on Amazon — https://www.erlang-in-anger.com/ Frederic Trottier-Hebert — https://www.linkedin.com/in/fredth/ Stu Holloway — https://www.linkedin.com/in/stu-holloway-linvio/ Paul Graham — http://www.paulgraham.com/ Hackers and Painters on Amazon — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Lonestar Elixir — https://lonestarelixir.com/ Turing.io — https://turing.io/ Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen on Twitter— https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrichSpecial Guest: Randall Thomas.
undefined
Dec 3, 2020 • 57min

Launchisode and Outlaws Takeover with Chris Keathley, Amos King, and Anna Neyzberg

Welcome back to Elixir Wizards, season five, episode one! The theme for this season is ‘Adopting Elixir’, and for today’s show the team at Elixir Outlaws play host! Chris Keathley, Amos King, and Anna Neyzberg give the Elixir Wizards a chance to talk about what they love about Elixir, how they learned it, and some of their experiences using it at SmartLogic! We kick off the conversation with some memories of college and the different degrees everybody did, how these experiences fit into programming and the different paths that Justus, Eric, and Sundi took into the world of Elixir. From there, we dive into some of the amazing features about Elixir, highlighting pattern matching, readability, and how easy it is to think about how to write solutions to problems using it. Our conversation moves onto the topic of serving clients with Elixir, and here we consider the risk of basing a consultancy on one technology, as well as how open clients are to their needs being met with this young but powerful language. We also talk about training staff and convincing teams to adopt Elixir, covering themes of barriers to entry, the job market, and using the Elixir community as a resource. For a fun conversation about Elixir where our hosts take the mic as guests, be sure to tune in today. Key Points From This Episode: Introducing this season’s topic and today’s plan where the hosts become guests. How Justus, Eric and Sundi got introduced to Elixir and their respective journeys using it. Everybody discusses their forays into programming and compares their different degrees. Hustles Justus did at college to get tuition cheaper for his friends and him. ‘Staking a consultancy on a tech’; how SmartLogic adopted Elixir initially. How the first few clients SmartLogic served with Elixir felt about the language being used. Sundi’s onboarding experience at CAVA and how she got introduced to Elixir. How Justus discovered the beauty of Elixir after he began to understand pattern matching. Sundi’s thoughts about hidden functionality in JavaScript code versus Elixir which reads better. Whether using Elixir to solve problems feels easy due to familiarity or its inherent characteristics. Conventions SmartLogic is implementing regarding using Elixir to build projects. The lack of introductory resources for learning Elixir and the team’s attempts at making some. The value of getting involved in your community for learning a new technology. Find out the value of investing in staff training for companies who want to switch to Elixir. A new wall between Dev and Ops in the form of Kubernetes. How to get your co-workers to learn Elixir if you are passionate about it. Growth at SmartLogic, new hires, and what they specialize in. The job landscape in 2020 and how this relates to having Elixir under your belt. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on Twitter — https://twitter.com/chriskeathley Amos King on Twitter — https://twitter.com/adkron Anna Neyzberg on Twitter — https://twitter.com/aneyzb Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen — https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich CAVA — https://cava.com/ Pavlok — https://pavlok.com/ Johnny Boursiquot — https://www.jboursiquot.com/ ElixirBridge — http://elixirbridge.org/ Matt Mills on GitHub — https://github.com/photomattmills Brooklyn Zelenca on Functional Programming — https://smartlogic.io/podcast/elixir-wizards/s3e9-zelenka/ Bleacher Report — https://bleacherreport.com/ LiveView by Bruce Tate — https://pragprog.com/titles/passlive/programmer-passport-liveview/Special Guests: Amos King, Anna Neyzberg, and Chris Keathley.
undefined
Oct 15, 2020 • 59min

Season Four Wrap: Whose Design Is It Anyway? with Swadia, Windholtz, Rezentes, and Keathley

To close off this season and conclude our deep dive into system and application architecture, today’s episode is a special panel discussion on a topic that has provoked a mix of answers that range from the controversial to the philosophical — “What does domain-driven design mean to you?” For the final word on this subject, we welcome back software developers Chris Keathley, Japa Swadia, Mark Windholtz, and Miki Rezentes. Our first hot take comes from Miki, who shares her thoughts about how domain-driven design developed because the tech industry undervalues communication. Following this, Mark and Japa discuss how domain-driven design gives developers a context for what they create while informing how you code using Elixir. We then touch on whether domain-driven design makes it easier or more difficult to change your code and how communication is valued within a business context. We explore key domain-driven design concepts, including the role of bounded contexts, and how this design ethos can help you appeal to stakeholders such as product managers. After Miki highlights the reasons why communication should be seen as a vital tech skill, each guest provides their final thoughts on domain-driven design. Tune in for this season’s insightful finale and find out which of today’s guests is the winner of “Whose Design Is It Anyway?” Key Points From This Episode: Introducing guests Chris Keathley, Japa Swadia, Mark Windholtz, and Miki Rezentes. Hear what domain-driven design means for each guest. Miki shares her hot take that domain-driven design is “nothing new under the sun.” Why the essence of domain-driven design is about listening. How domain-driven design can inform your Elixir architecture. Mapping your system and developing names for your bounded contexts. Domain-driven design trade-offs and how it can lead to a loss of productivity. The idea that domain-driven design has developed because the tech industry undervalues communication. Why communication should be valued — bad communication costs money. How tech companies are generally aligned with the goals of domain-driven design. Why Mark is so delighted to be working with Elixir and domain-driven design. The link between domain-driven design and developing better products. Exploring how bounded contexts allow teams to create solutions to unique problems. Seeing communication as a tech skill that should be learned early in your career. Our guests share their final thoughts on domain-driven design. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on Twitter — @ChrisKeathley/ Chris Keathley — https://keathley.io/ Japa Swadia on Twitter — https://twitter.com/japa2292 Japa Swadia on LinkedIn — https://www.linkedin.com/in/japaswadia/ Mark Windholtz on Twitter — https://twitter.com/windholtz Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Miki Rezentes on Twitter — https://twitter.com/mikirez Miki Rezentes on LinkedIn — https://www.linkedin.com/in/miki-rezentes-823ba02a/ Podium — https://www.podium.com/ Elixir Outlaws — https://elixiroutlaws.com/ Agile DNA — http://www.agiledna.com Frame.io — https://frame.io/ Bleacher Report — https://bleacherreport.com/ Domain-Driven Design: Tackling Complexity in the Heart of Software on Amazon— https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215 Domain Language — https://www.domainlanguage.com/ The Seven Laws of Learning: Why Great Leaders Are Also Great Teachers on Amazon — https://www.amazon.com/Seven-Laws-Learning-Leaders-Teachers/dp/1599559277 Patterns, Principles, and Practices of Domain-Driven Design on Amazon — https://www.amazon.com/Patterns-Principles-Practices-Domain-Driven-Design/dp/1118714709 ‘Ubiquitous Language’ — https://martinfowler.com/bliki/UbiquitousLanguage.html ‘Value Object’ — https://martinfowler.com/bliki/ValueObject.html Domain-Driven Design Europe — https://dddeurope.com/2021/ Domain-Driven Design Europe on YouTube — https://www.youtube.com/channel/UC3PGn-hQdbtRiqxZK9XBGqQ A Philosophy of Software Design on Amazon — https://www.amazon.com/Philosophy-Software-Design-John-Ousterhout/dp/1732102201 Eric Evans Training Videos — https://elearn.domainlanguage.com/ Designing Elixir Systems with OTP — https://www.amazon.com/Designing-Elixir-Systems-OTP-Self-healing/dp/1680506617/ Whose Line Is It Anyway? — https://www.imdb.com/title/tt0163507/ Drew Carey — https://www.imdb.com/name/nm0004804/Special Guests: Chris Keathley, Japa Swadia, and Miki Rezentes.
undefined
Oct 8, 2020 • 35min

Anna Sherman on Change, Failure, and living in Gig City

Even with the most programming experience in the world, coding still involves a lot of trial and error. People getting started in the industry should not become bogged down by failure. Because in the end, it’s a feature and not a bug. That’s one of Zillion developer Anna Sherman’s key messages this episode. We open our discussion with Anna by talking about living in Chattanooga, AKA, Gig City. She talks about why the tech scene there is exploding before diving into her journey into programming. Having created her own personal coding boot camp, she opens up about what she did to land her first software job within only two months of looking. After discussing her early working experiences, we explore her work at Zillion, along with her side projects. We then touch on what Anna does to expand her skillset and develop herself as a professional, using a style guide and ‘lunch and learns’ to update her team, and we hear the elevator pitch for Anna’s Code BEAM San Francisco talk. Anna shares her take on architecture and design, as well as the importance of domain-driven design in keeping your team aligned with what they’re building. Near the end of the episode, we talk about Anna’s pre-coding process, the virtues of being a ‘physlistcler,’ and why failure is an important part of coding. Tune in to hear more of Anna’s insights on change, failure, and living in Gig City. Key Points From This Episode: Fast internet and the great outdoors; hear why Chattanooga has become a tech hub. Anna shares her love of math and how she got into programming. Creating your own boot camp and becoming a self-taught coder. How Anna landed her first gig, just two months after learning code. Exploring Anna’s first job at Sovee, a machine translation company. What side projects Anna is working on and how they help her Magic: The Gathering games. How Anna expands her skill set and develops herself as a professional. Hear Anna’s elevator pitch for the talk she gave at Code BEAM San Francisco. What architecture, design, and domain-driven design mean to Anna. Using a style guide and ‘lunch and learns’ to help your team understand patterns. Details on how Anna’s style guide keeps her team informed. The virtues of being a ‘physlistcler;’ anchoring your workflow to a physical list. Why failure is a key part of coding and the idea that anyone can learn to code. We close the episode by chatting about Anna’s favorite board games. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Anna Sherman on LinkedIn — https://www.linkedin.com/in/anna-sherman-54289372/ Anna Sherman on Twitter — https://twitter.com/cavewoman90 Anna Sherman on Instagram — https://www.instagram.com/annasherman100816/ Anna Sherman Email — anna@myzillion.com Craig Lyons Email — craig@myzillion.com Zillion — https://www.myzillion.com/ Bruce Tate — https://twitter.com/redrapids Brett Wise — https://twitter.com/brettwise Gig City Elixir — https://www.gigcityelixir.com/ NervesConf — https://www.nervesconf.com/ Chili’s — https://www.chilis.com/ GodTube — https://www.godtube.com/ Magic: The Gathering — https://magic.wizards.com/en Scryfall — https://scryfall.com/ Code BEAM SF Talk — https://www.youtube.com/watch?v=XgOJQAK6iHI Evernote — https://evernote.com/ Nerves — https://www.nerves-project.org/ ‘Repository and Services Pattern in a Multilayered architecture’ — https://www.vodovnik.com/2015/08/26/repository-and-services-pattern-in-a-multilayered-architecture/ A Handful of Stars — https://boardgamegeek.com/boardgame/197320/handful-stars A Few Acres Of Snow — https://boardgamegeek.com/boardgame/79828/few-acres-snowSpecial Guest: Anna Sherman.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app