
Sign up to save your podcasts
Or


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:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guest: Randall Thomas.
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:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guests: Amos King, Anna Neyzberg, and Chris 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:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guests: Chris Keathley, Japa Swadia, and Miki Rezentes.
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:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guest: Anna Sherman.
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:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guest: Devon Estes.
Imagine being hired into a rocketship startup using Elixir as its primary language. And all this, straight out of college. Today, we speak with systems software engineer, Lizzie Paquette who works at Brex, the aforementioned rocketship. We start our conversation by talking about how Lizzie got into coding relatively late in her life, partly due to an ill-fated run-in with Java. She shares details about her role at Brex and how the company has evolved. With a love of compilers, Lizzie dives into what beginners can do to get into compiling before chatting about her top underrated Elixir resources. Following this topic, Lizzie discusses her experience liberally implementing macros at Brex — something that ended up being detrimental when onboarding new hires. After sharing how she develops herself as a professional and coder, Lizzie talks about her involvement in Code 2040, a career accelerator and mentorship program.
Reflecting this season’s theme, we ask for Lizzie’s take on what architecture, design, and domain-driven design means to her. She then reveals her coding process and emphasizes the value of creating thorough design docs to avoid bugs. We explore Brex’s architecture, how it makes use of microliths, and applying ‘chaos engineering’ — a monkey-wrench approach to testing your system. We touch on umbrella apps and lessons that Lizzie’s learned from working with Brex’s architecture.
After closing our discussion with Lizzie, we open with another edition Pattern Matching with Todd Resudek and special guest Sophie DeBenedetto from GitHub. Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her. Tune in to hear Sophie’s insights, along with more on microliths and macros from Lizzie Paquette.
Key Points From This Episode:
Using Brex.result to streamline code and handle common return values.
For this edition of Pattern Matching, Todd Resudek interviews Sophie DeBenedetto.
Sophie’s journey from liberal arts to learning software at a code boot camp.
Todd asks Sophie about her favorite movies, music, and what Elixir projects excite her.
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guest: Lizzie Paquette.
Building a sophisticated AI that can evolve to fit our vast and diverse needs is a Herculean challenge. Today we speak with senior engineer Eric Steen about Automata, his experimental Elixir project that uses neuroevolution and cutting edge theory to create a multi-agent behavior tree — or really good AI in the common tongue. But before we tap into that rich topic, we talk with Eric about tech burnout, his background, and why Elixir is an excellent language for writing modern software. He then unpacks AI concepts like the need to develop backpropagation in your system, and the value of “neural diversity,” and Markov decision processes.
After Eric gives his take on architecture versus design and the place of domain-driven design, we discuss Automata. A key breakthrough, Eric shares his enthusiasm for ‘novelty search,’ where machines learn from a variety of new behaviors and searches, as opposed to completing one task at a time. We touch on Automata’s progress, Eric’s long-term approach, and what his project might be used for. Near the end of our interview, we chat about CryptoWise, a collaborative analysis platform for cryptocurrency.
Todd Resudek then opens with another edition of Pattern Matching, where he interviews Whatsapp engineer Michał Muskała. They talk about Michał’s career, the movies and music that he enjoys, and the projects that excite him. Tune in to hear more about both Michał and neuroevolution in AI.
Key Points From This Episode:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Special Guest: Eric Steen.
No one cares about clever code. Instead, people want code that works. Code that they can read six months down the line. Today we speak with Johnny Winn, who avoids writing clever code by following a clear vision — “Make it work, then make it beautiful, then if you really, really have to, make it fast.”
A Renaissance man, Johnny’s career ranged from cheffing to design before he settled into software engineering. Reflecting his many interests, we spend the first section of the podcast chatting about cooking. Johnny shares his kitchen secrets before seamlessly transitioning into the topic of coding. After touching on why clever code is bad code, we explore the trend of ‘componentizing,’ when your views are taken over by an endless array of components and folders. Like Johanna Larsson, a previous guest, Johnny makes a case for umbrella projects and explains why many of us have been using them incorrectly this whole time.
An enemy of dogma, Johnny emphasizes that teams should use what works best for them, and not what conventional wisdom suggests. Following this, we dive into imposing patterns on our architecture bases, how design patterns serve as communication tools, and why tribal knowledge leads to communication issues. Johnny brings his experience to bear and shares how he structures projects while limiting component creation. Near the end of the episode, Johnny talks about how he learned the cardinal sins of coding before leaving us with his final hot take on living a balanced life. So, tune in for a dynamic conversation where Johnny is as likely to share his smoked pork recipe as he is to deliver key coding insights.
Key Points From This Episode:
Links Mentioned in Today’s Episode:
SmartLogic — https://smartlogic.io/
Johnny’s Smoked Pork Shoulder Brine Ingredients —
Special Guest: Johnny Winn.
According to an ancient myth, the world rests on the back of a turtle. And what does that turtle stand on? Another turtle. It turns out that it’s turtles all the way down. Miki Rezentes, today’s guest, believes that all software rests on the back of APIs. Similar to the myth, it’s APIs all the way down. We open our conversation by discussing how homeschooling her children did more to prepare Miki for a software career than anything else she’s encountered. Miki shares highlights from her talk, ‘APIs All the Way Down’. This set up this episode’s key theme, that the tech industry is too concerned with how its software interacts to focus on how the people in its organizations communicate — their ‘human APIs.’ Following this, we ask Miki how she learns people’s APIs and we talk about the benefits of observation and mirroring. Tracking her career, we touch on how Miki transitioned from a homemaker to a developer before diving into her recent work at the data science platform Mode. She provides unique insights into how she views architecture and design and why the concept of domain-driven design doesn’t go far enough. We chat about how you can see your team as customers to promote domain-driven design and then drill into what she does to create a ‘shared pool of knowledge’ with her team. As Miki explains, ‘people problems’ are more difficult than technical ones and developers often make mistakes by not first developing common understanding. Especially when this relates to expectations within a company. Near the end of the episode, we explore what leaders can do to maintain productivity when growing their teams. Tune in to hear what you can do to deepen your team’s pool of understanding and improve the quality of your communication.
Note: this episode was recorded in late July when Miki was working at Mode; she is now a Senior Software Engineer at Frame.io.
Key Points From This Episode:
Links Mentioned in Today’s Episode:
Miki Rezentes LinkedIn —https://www.linkedin.com/in/miki-rezentes-823ba02a/
Special Guest: Miki Rezentes.
With ElixirConf 2020 just around the corner, today’s episode is a sneak peek where we talk with six of this year’s speakers. Each speaker gives listeners an elevator pitch of their talk while throwing in extra details about who their talk is aimed at, what they learned through the process, and which talks they’re excited about attending.
Our first guest is Quinn Wilton, a developer at Tinfoil Security, whose talk is titled ‘Type-Safe LiveView with Gleam’. Quinn explains how she’s created a symbiosis between Elixir and Gleam that helps her create more consistent code while offsetting the disadvantages of dynamic typing.
We then chat with Dan Lindeman whose talk, ‘Short Circuit IoT Development Time with Nerves,’ is an overview of building custom hardware using Nerves and Elixir.
After Dan’s plug on how you can start programming Nerves on your laptop, we welcome Jeffrey Utter to the show. His talk is a deep dive into ‘Debugging Live Systems on the Beam.’ Teasing out the topic, we discuss inefficiencies in the debugging process and how many developers adopt a ‘whack-a-mole’ approach to dealing with bugs.
From debugging to UintSet, Luciano Ramalho, our next speaker, gives us a taste of his presentation, ‘UIntSet: enumerable, streamable, understandable.’ Luciano shares how the Go language inspired him to experiment with leveraging protocols and streams to build new idiomatic Elixir data structures from scratch. He also touches on the importance of being humble when learning new languages and gearing Elixir to a non-engineer user base.
After Luciano, we’re joined by Melvin Cedeno, a fellow Elixir Wizard from the SmartLogic family. Melvin brings his teaching experience to bear on the topic of ‘Teaching Functional Programming with Elixir.’ This is a key talk in growing our community, especially when considering the point that being an Elixir genius doesn’t necessarily mean that you’re well-suited to teach it.
Last but certainly not least, we speak with Japa Swadia from Podium about her talk, ‘Domain-Driven Design with Elixir’ — a subject that’s been a huge focus on the podcast. We chat about what domain-driven design means and why it’s an important foundational concept for beginners to learn.
Tune in for this tip-of-the-iceberg preview. It’s just a glimpse into the varied and wonderfully informative talks you can expect at ElixirConf 2020.
Key Points From This Episode:
Links Mentioned in Today’s Episode:
Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey
Special Guests: Dan Lindeman, Japa Swadia, Jeffrey Utter, Luciano Ramalho, Melvin Cedeno, and Quinn Wilton.
From the publisher's feed