
Sign up to save your podcasts
Or


In this episode of Ruby for All, Andrew and Julie reconnect after a three-week break to share how they spent their vacation and their plans for the new year, as Julie talks about her family’s newest addition, a Whippet named Lucy, and Andrew getting plenty of rest, some rock climbing, and a hot yoga class. Then, they dive into the topic of burnout, sharing their personal experiences and strategies for managing burnout effectively. They discuss looking forward to Ruby 3.3, upcoming conferences, and a collective aim to level up their careers. Join Andrew and Julie as they kick off the new year with optimism and hit download now!
[00:00:17] Andrew and Julie catch up and discuss their Christmas breaks. Julie reveals they have a new family dog and Andrew reveals he would like to get a dog one day.
[00:02:10] Andrew discusses his restful break, hibernating, visiting Virginia, rock climbing, and enjoyed a hot yoga class.
[00:04:50] Over break, Julie started reading the book, “99 Bottles of OOP” by Sandi Metz and catching up on conference talks. She considers redoing her app with Turbo and Rails.
[00:05:56] Andrew started reading “Practical VIM” but he’s ready to switch to Neovim. He’s been reading multiple books, trying to regain his love for reading, and he sets goals to read more and started using book summaries on Blinkist.
[00:07:30] Andrew and Julie reminisce about their childhood reading habits. Julie talks about her struggles with reading comprehension and trying to pick it up again.
[00:10:36] Andrew discusses his experience with speed reading techniques and explains how speed reading doesn’t necessarily impact his ADHD. He discusses extracting key points from books without reading every word.
[00:12:37] Julie feels burned out from work and finds reading “99 Bottles of OOP” refreshing, and she expresses her ongoing burnout and asks Andrew’s thoughts on this.
Andrew shares his personal warning signs of burnout, which includes losing the joy of programming, neglecting health, and feeling stuck and discouraged.
[00:15:06] Julie acknowledges the importance of recognizing burnout signs and relates to the difficulty in identifying them, especially when juggling work and family. Andrew shares the challenge is addressing burnout once it’s recognized, emphasizing the need to focus on self-care and potentially making changes if the job is the cause.
[00:16:11] Andrew suggests restoring sleep, exercise, and diet are crucial first steps to combat burnout, and he shares strategies for improvement, like focusing on sleep and reducing screen time.
[00:17:56] Julie has replaced watching stimulating YouTube videos before bed with reading to cut down on screen time. Andrew set a goal for less screen time in 2024.
[00:20:06] They shift the conversation to Ruby 3.3 and upcoming conferences and which ones they would like to attend.
[00:21:13] Julie inquires if Andrew’s desire to focus on becoming a better engineer is about “leveling up.” Andrew agrees and expresses feeling stuck in his career for the past couple of years and is now ready to advance.
[00:21:41] Julie questions if Andrew has a plan for achieving his career growth. Andrew explains he intends to improve his database skills, particularly Postgres and architecture, dive into security, and learn more about iOS development.
[00:22:10] Some personal goals Andrew wants is to increase his typing speed and become more proficient with the home row typing method.
Panelists:
Andrew Mason
Julie J.
Sponsors:
GoRails
Honeybadger
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
99 Bottles of OOP by Sandi Metz
Practical VIM by Drew Neil
Neovim
High Performance PostgreSQL for Rails by Andrew Atkinson
The Programmer’s Brain by Felienne Hermans
Blinkist
In this episode of Ruby for All, host Andrew kicks things off with a warm welcome and well wishes to his absent co-host, Julie. Then he welcomes guest, Bhumi Shah, a self-taught web developer who transitioned from doing low-level embedded software for implantable medical devices. She shares her journey of learning Ruby on Rails, her love for teaching, and her approach to learning as well. Bhumi also talks about her ideas for creating accessible educational content, such as an audio-only technical content platform and a unique onboarding concept for junior developers joining a new company. As the conversation wraps up, Andrew expresses his admiration for Bhumi’s insights, hoping that her story and ideas will motivate others to engage in content creation. Hit download now to hear more!
[00:00:24] Bhumi details her self-taught journey into web development with Ruby on Rails and discusses her passion for teaching throughout her career and aims to pursue it more actively.
[00:02:24] Bhumi shares her inspiration with teaching from Chris Oliver of GoRails and reflects on the importance of building a reputation and trust over time before monetizing content. She discusses her initial discomfort with identifying as a content creator and her journey towards embracing that aspect of her professional identity, and her current challenge with figuring out how to charge for her educational content.
[00:04:13] Andrew comments on the coolness of being a content creator and his own struggle with this identity despite creating substantial content. He suggests Podia as a platform for hosting courses.
[00:05:01] We hear what motivated Bhumi from Chris’s story as she tells us the importance of focusing on the beginning of one’s journey and the gradual process of building an audience and credibility.
[00:06:31] Bhumi discuss the challenges and potential discouragement in charging for content. She feels that it’s too early and she needs people to first know and trust her.
[00:08:33] Andrew reflects on setting realistic goals for course creation and the difficulties of publishing content. Bhumi shares her sporadic content creation history and her resolve to maintain consistency going forward.
[00:12:18] Andrew asks Bhumi about her research preferences and prompts Bhumi to discuss her learning approach where she shares her philosophy on learning technical skills by aiming to become “friends” rather than “acquaintances” with technologies, using CSS as an example.
[00:13:26] She explains her strategy for tackling new topics like Turbo and Hotwire, focusing on practical application and “just-in-time learning” to solve immediate problems and “follow-on learning” to deepen her understanding later. She also mentions engaging in “intentional learning” or “deliberate learning” through reading programming books and taking courses.
[00:15:21] Andrew shifts the conversation to teaching and asks Bhumi what she enjoys in teaching. She finds joy in seeing the moment of understanding in others and sharing her rewarding experience with mentorship on the Indie Hackers platform.
[00:17:28] Andrew tells us he experiences joy when he sees other people experience joy which is why he mentors. He shares his own challenge of being naturally curious but not a deep learner, which affects his approach to teaching and sharing knowledge.
[00:18:59] Bhumi asks Andrew about his perceived barriers to sharing content, prompting a discussion about perfectionism. Andrew describes his struggle with publishing content that meets his high standards.
[00:23:36] Andrew asks Bhumi about her preferences for mediums, and she expresses her comfort with writing, particularly in her newsletter format, which excludes links to encourage focused reading.
[00:29:52] Andrew reflects on the challenge of discussing code through audio and suggests a narrative approach to sharing technical content, focusing on problem-solving stories which can engage listeners. He references Darknet Diaries Podcast as an example of combining narrative storytelling with technical details, which helps listeners learn through context.
[00:27:09] Bhumi proposes a podcast idea centered around debugging stories which Andrew expands on, and she shares another idea related to onboarding junior developers, suggesting that companies should hire a contractor as a full-time mentor to support new developers during their initial months. Andrew praises her idea!
[00:31:37] Andrew acknowledges the cost concern but emphasizes the long-term benefits of junior developers learning effective problem-solving. Bhumi highlights the importance of teaching developers how to teach themselves and become self-sufficient.
[00:32:30] As a final message, Bhumi encourages listeners to give feedback to content creators, noting the positive impact it has on them.
[00:33:32] Find out where you can follow Bhumi and her work online.
Panelist:
Andrew Mason
Guest:
Bhumi Shah
Sponsors:
GoRails
Honeybadger
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
Bhumi Shah X/Twitter
One Ruby Question Newsletter
Indie Hackers
Podia
How Rails.env works with EnvironmentInquirer & StringInquirer-by Bhumi Shah (GoRails)
Chris Oliver X/Twitter
Darknet Diaries
In this episode, Andrew and Julie chat with guest John Crepezzi, a veteran in the Ruby community, founder of All Aboard Bootcamp, and currently a Software Engineer at Jane Street. Today, they discuss John’s experience running a coding bootcamp, share insights on teaching programming, and emphasize the importance of community in learning. Additionally, they explore functional programming in OCaml, highlighting how functional programming can be implemented in Ruby. Also, John dives into the potential impact of AI, particularly language models like ChatGPT, on education and software development, and there’s a discussion on resume writing for new coders and future trends in AI and automation. Hit download now to hear more!
[00:01:08] Julie introduces John, her former bootcamp instructor, and he tells us about himself and his extensive experience on the Ruby community.
[00:02:14] Andrew asks John about the gem he is most proud of creating, and he explains his pride in the “ice_cube gem” for recurring date math.
[00:04:30] John discusses the technical challenges and community contributions to ice_cube.
[00:05:25] Julie discusses her positive experience with All Aboard Bootcamp and how the bootcamp helped her connect different programming concepts.
[00:07:26] John describes his teaching philosophy for covering a broad amount of material quickly and he stresses the importance of learning to ask the right questions. He uses a metaphor from the movie “Tommy Boy” to emphasize teaching practical skills.
[00:11:26] John relates the approach to teaching with the usefulness of ChatGPT and Julie expresses her preference for receiving explanations in small chunks and using bullet points for clarity. John discusses how LLMs can assist in refining questions before providing answers.
[00:12:49] Andrew asks about AI’s role in teaching and its potential impact. John, an AI professional, offers his perspective on AI in the short and term, specifically its ability to understand and respond to human language. He speculates on the future of human computer interaction, where structured systems may become unnecessary as LLMs bridge the communication gap.
[00:16:03] Andrew agrees with John’s vision of the future, acknowledging the inefficiencies in current user flows. John compares the evolution from programming VCRs to using DVRs to the potential of LLMs simplifying interaction with technology.
[00:16:55] John describes the motivation behind starting a bootcamp and the realization of the industry’s selection bias towards already skilled programmers. He shares the story of how the high cost of bootcamps and their screening processes inspired him to teach a more accessible camp.
[00:21:10] Julie is impressed by John’s ability to manage the bootcamp alongside his full-time job, family responsibilities, and other commitments. She also talks about the final project of the bootcamp, where John acted as a project manager and provided structure and guidance.
[00:23:31] Andrew inquires about what John thinks is the number one mistake new programmers make on their resume. John emphasizes the importance of highlighting projects on a resume, especially for those transitioning from another industry, and advises focusing on the outcomes and transferable skills gained from previous experiences.
[00:25:35] John considers formatting critical for resumes, suggesting less content with more white space and a clear hierarchy can be more effective than too much information.
[00:26:44] Another thing John advises is keeping resumes to one page unless there’s a compelling reason for more, like academic positions or extensive project work.
[00:27:18] Reflecting on the bootcamp, John wishes he had sought more assistance with grading and feedback to reduce the workload.
[00:28:34] John praises the students, particularly Julie, for fostering a supportive community outside of the classroom.
[00:31:07] Discussing programming languages, John expresses his favor for OCaml and functional programming, arguing that functional patterns can be beneficial even in languages like Ruby.
[00:32:13] Find out where you can follow John online.
[00:32:58] We end with John reaffirming his love for Ruby and expresses enthusiasm for its future and mentioning his work with Eileen on Active Record and Rails’ influence on web frameworks in other languages.
Panelists:
Andrew Mason
Julie J.
Guest:
John Crepezzi
Sponsors:
GoRails
Honeybadger
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
John Crepezzi X/Twitter
John Crepezzi GitHub
ice_cube 0.16.4
All Aboard Bootcamp
About the bootcamp (John’s story)
RailsConf 2023-Functional Patterns in Ruby by John Crepezzi (YouTube)
OCaml
In this conversation live from RubyConf San Diego, Andrew and Julie sit down with Elise Shaffer, host of The Ruby on Rails Podcast. They kick things off with sharing conference experiences, the joy of reconnecting with friends, and the unique energy the in-person events bring. The discussion shifts to the concept and practice of Test Driven Development (TDD), its benefits, and how it aids in problem-solving during coding. An interesting point is discussed about whether tests or code should be written first, and whether it’s okay to write tests after the code. They also dive into the handling of tests on legacy codes within Rails. The conversation wraps up with gratitude to the organizers, speakers, volunteers, and attendees at RubyConf. Press download now to hear more!
[00:00:24] Elise shares her conference experience mentioning enjoying the sessions and seeing friends from previous conferences, and Julie and Andrew share their joy of being in the company of friends, the conference atmosphere, and food.
[00:01:39] Elise shares the number of Ruby and Rails conferences she’s attended and her most memorable one which was Steel City Ruby, highlighting the value of smaller conferences and tight-knit communities.
[00:02:45] They discuss the difference between in-person and online conferences, agreeing that in-person events offer more energy and interaction.
[00:03:50] The conversation shifts to memorable conferences as Andrew reminisces about his first conference experience at RailsConf in Pittsburgh. Julie talks about her first conference, RailsConf 2022 in Portland, where she met Elise and Andrew and where Ruby for All was conceived.
[00:06:12] Andrew asks Julie about her rise in popularity withing a year, moving from a newcomer toa recognized member of the community. The group jokes about autographs and fame within the Ruby community. Elise shares her role in the community, especially with the podcast she hosts.
[00:09:33] Elise and Andrew discuss the technical aspects of testing and continuous integration within software development. She explains her background in Ruby and Rails, where she focused on testing and its challenges in larger applications, and she discusses strategies for testing and the importance of testing not every permutation but preventing major issues,
[00:12:46] Julie asks Elise to explain parallelized testing. Elise details using CircleCl or other runners to break up many tests across multiple workers to speed up the process.
[00:13:56] Elise explains what Test Driven Development (TDD) means to her, and Julie asks whether TDD is always applicable, like when fixing a bug rather than creating a new feature.
[00:15:30] Elise wishes TDD was still popular and stresses that TDD is a skill that must be developed. She describes the advantages of TDD, particularly in large applications, where having a robust test suite allows for faster development and less worry about breaking something inadvertently.
[00:18:58] Andrew challenges the concept of TDD, suggesting that for a talented engineer, tests might seem like a waste of time. Elise responds by emphasizing that TDD is a thinking tool that aids in understanding the problem.
[00:20:59] The discussion turns to reviewing tests. Elise explains her approach to reviewing pull requests by checking the problem solved, reviewing commits one at a time, and comparing her list of tests with the submitted ones, placing higher importance on the tests than the code itself.
[00:24:02] Elise and Andrew compare their personal styles in reviewing code and the importance of preparing commit messages for review. Julie is curious how Elise and Andrew manage their commit history and whether they use the command line for combining commits. Andrew mentions using interactive rebase.
[00:24:47] If you’re interested in getting into TDD, Elise tells us she’s working on a course about test driving in Rails applications coming out on early next year , but also recommends reading two great books: Test Driven Development: By Example by Kent Beck and 99 Bottles of OOP by Sandi Metz.
[00:25:33] Julie questions how to handle TDD in a legacy codebase with complex and nested tests. Elise suggests pairing with someone more knowledgeable to break up the tests into smaller, more manageable files.
Panelists:
Andrew Mason
Julie J.
Guest:
Elise Shaffer
Sponsors:
Honeybadger
GoRails
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
Elise Shaffer Website
Elise Shaffer GitHub
The Ruby on Rails Podcast
CircleCI
Test Driven Development: By Example by Kent Beck
99 Bottles of OOP by Sandi Metz
Welcome to our first ever live episode of Ruby for All, where Andrew and Julie share their vibrant experiences from RubyConf in San Diego. Today, they share their excitement at attending a live conference and their interesting experiences, including their interaction with fellow attendees, sessions they attended, and community building activities they participated in. Also, there’s conversations about open source coding, autonomous learning, the future of Ruby, leveraging podcasting within the Ruby community, and their expectations from the rest of the conference. Hit download now to hear more!
[00:00:23] Andrew and Julie share their enjoyment of the conference and they discuss their discomfort with team building, with Andrew having a panic attack.
[00:02:10] We hear about a new journal app on the iPhone that suggests memories based on places you’ve visited, and photos taken.
[00:02:57] Julie details her experience on the first community day at the Hackspace, where she, Kevin and Drew, explored Ruby LSP (Language Server Protocol), a project from Shopify for better VS Code integration.
[00:04:06] Andrew explains Heredocs, and Julie explains they encountered a bug related to a cursor positioning in the code editor while working on a feature for Heredocs.
[00:05:46] Julie expresses her appreciation for the hack day format, allowing interaction with project maintainers and suggesting it be included in future conferences.
[00:07:50] They give feedback for improving the hack day, such as better signage for project tables and ensuring equal attention venue positively.
[00:10:12] The conversation turns to the conference’s social aspects, like hanging out by the fire and the arrival of more attendees on Tuesday. They mention Matz’s pre-recorded keynote and the opening ceremony.
[00:11:24] Julie and Andrew share their thoughts on the opening ceremony. Andrew clarifies they spoofed “The Wizard of Oz.” Julie notes the performance was unexpected and well-executed.
[00:12:38] Andrew mentions that Matz had a pre-recorded keynote, and both Julie and Andrew were disappointed missing the memo that Matz wouldn’t be there. Andrew summarizes the keynote mentioning Matz discussing Ruby’s future, including Ruby 4.0 expected in 2030, and his plans for retirement.
[00:14:00] Julie appreciates how Matz asked first-time conference attendees to raise their hands, demonstrating Ruby’s vitality. Andrew and Julie spent time networking in the hallway rather than attending talks, emphasizing the value of personal connections.
[00:15:07] They participated in a roundtable discussion about podcasting in the Ruby community that was sponsored by Ruby Central.
[00:19:09] Andrew and Julie attended Saron Yitbareks’ motivational keynote and Andrew mentions going to a talk on Rack, while Julie preferred hallway networking, planning to watch talk recording later.
Panelists:
Andrew Mason
Julie J.
Sponsors:
Honeybadger
GoRails
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
How To Use Heredoc in Ruby
Ruby Central
Saron Yitbarek
Rails on Rack
On this episode of Ruby for All, Andrew and Julie welcome Joe Masilotti, known as the ‘Turbo Native Guy,’ to discuss Turbo Native. They cover what Turbo Native is, its advantages when building apps, and how it can be an effective tool for Rails developers. Joe also gives us an update on his library, Turbo Navigator, and provides some insightful advice for those wanting to dive into Turbo Native. He shares his experience of Rails World Conf, discusses the future of Turbo Native, and Joe shares advice for junior Rails developers interested in Turbo Native. Press download now to hear much more!
[00:00:47] Joe introduces himself and discusses Turbo iOS and its benefits for Rails developers. He outlines the difficulties of building Native iOS and Android apps and explains how Turbo Native simplifies this.
[00:03:12] Julie expresses interest in potentially using Turbo Native for her projects. Joe elaborates on the advantages of Turbo Native, such as avoiding the need to build and maintain separate screens for each platform.
[00:04:50] Joe discusses the process of app release and approval on iOS and Android, highlighting the efficiency of Turbo Native in rolling out updates.
[00:06:49] Julie asks how Turbo Native achieves its functionality and Joe describes the use of a web view that renders the mobile web content within the app.
[00:08:19] Andrew talks about his expectations for app quality on his iPhone and Joe explains how Turbo iOS and Strata avoid poor native web implementations.
[00:10:32] Andrew inquires about Strata, its necessity, and its impact now that it has been released. Joe clarifies that while Strata is not essential for building Turbo Native apps, it does facilitate easier communication between web content and native code, reducing boilerplate code.
[00:12:28] Andrew comments on the marketing of Strata by 37signals and its positioning as a game-changer. Joe agrees it was a marketing issues and notes that Strata was branded as a third pillar of Hotwire, and he discusses a conversation he had with DHH about the positioning of Turbo, Stimulus, and Strata.
[00:14:49] Julie asks for an explanation of what Stimulus is. Andrew describes it as a lightweight JavaScript framework that integrates with HTML, providing a structured way to write JavaScript in Rails, and Joe adds that Stimulus allows for reusable JavaScript behaviors across multiple pages.
[00:18:06] Andrew asks Joe about his library, Turbo Navigator. Joe explains that Turbo Navigator aims to bring Turbo iOS up to feature parity with Turbo Android, simplifying the use of Turbo Native on iOS by reducing boilerplate. Andrew mentions Joe’s upcoming Turbo Native crash course.
[00:20:58] Julie inquires about getting started with Turbo Native and Joe suggests watching his Rails World talks and checking out resources on his website and mentions a book he wrote coming out soon.
[00:24:21] Joe shares his positive experience at Rails World, and he mentions the podcast booth at the conference and Andrew reminisces about RubyConf and looking forward to future events.
[00:29:12] Andrew asks what Joe predicts happening in the new few months around iOS and what he’s excited for. Joe anticipates a surge in interest for Turbo Native following the conference, and he’s energized by increasing developer interest in Turbo Native and contemplates expanding his educational content as a result.
[00:32:12] Andrew brings up a past RailsConf in Portland where he sought advice from Joe getting into iOS development and he credits Joe’s suggestion to use Swift Playgrounds. Joe affirms that Swift Playgrounds is an excellent tool for leaning Swift, but for Turbo Native specifically, developers need to engage with Xcode and write Swift more directly related to app development.
[00:35:03] Joe talks about Kotlin, noting its fast evolution and his plan to pick up more of the language due to demand for Android content.
[00:35:35] Joe emphasizes that Turbo Native is a wrapper around a Rails website and suggests building a mobile website first before enhancing it with Turbo Native.
[00:36:56] We end with Joe advising junior Rails developers that while Turbo Native is not necessary to know, it could provide a competitive advantage in the job market.
Panelists:
Andrew Mason
Julie J.
Guest:
Joe Masilotti
Sponsors:
Honeybadger
GoRails
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
Joe Masilotti X/Twitter
Joe Masilotti Website
Joe Masilotti Newsletter
The reverse job board for Rails developers
Rails World 2023-Mobile Apps for Rails Developers with Joe Masilotti (YouTube)
Turbo Native crash course-Joe Masilotti
Turbo Native for iOS
Hotwire
Strada
React Native
Remote Ruby Podcast-Episode 151: Turbo Native & Hotwire-How Polywork Supercharges Development
Turbo Native Directory
Joseph Masilotti Apps for iPhone
Stimulus
Turbo Navigator
Swift Playgrounds App
Swift Playgrounds
Kotlin
Xcode-SwiftUI
In this episode of Ruby for All, Andrew and Julie kick off with their excitement for RubyConf and then introduce their special guest Ufuk Kayserilioglu, an Engineering Manager at Shopify, to discuss his passion for Ruby and his contributions to the Ruby community. They also touch upon the importance of mastering your choice of programming language and diving into the work of first principle thinking. Ufuk explains the concept of ‘Triple equals’ as his favorite Ruby method and offers valuable insight into the open source community. The discussions wrap up with Ufuk expressing his anticipation for RubyConf and encourages a more communal and interactive setting for programmers. Press download now to hear much more!
[00:00:08] Julie and Andrew are super excited to attend RubyConf but they both are preoccupied with work things going on.
[00:00:55] Ufuk introduces himself and discusses his job at Shopify and their mandate to ensure Ruby and Rails remain foundational for the next century, including community, tooling, and industry preference. He also shares his background in physics and academia, and his transition to programming for the instant gratification of seeing solutions in action.
[00:03:00] Andrew seeks Ufuk’s advice on the relevance of learning Ruby on Rails in 2023 for job prospects. Ufuk suggests learning Ruby for enjoyment, rather than just for career advantages, emphasizing curiosity and learning for its own sake.
[00:07:30] Julie asks about the depth of learning one language versus branching out. Ufuk advises mastery of tools and languages used professionally, comparing it to fluency in human languages. He advocates for learning multiple programming languages to gain different perspectives and solutions. Andrew, identifying with ADHD, questions the notion of mastery and emphasizes learning patterns in programming that are universal across languages.
[00:12:50] Julie inquires about what it feels like to master Ruby, and Ufuk clarifies that mastery isn’t about typing speed but about understanding how to implement complex modules and APIs naturally in Ruby, recognizing and applying patterns without having to think hard about the language itself.
[00:14:34] Julie questions if there is a deliberate practice to reach mastery faster than just building repeatedly. Ufuk compares mastering programming to an artistic endeavor, such as playing a musical instrument, and suggests that various practices lead to a flow state of mastery.
[00:16:27] Ufuk adds that observing skilled individuals and pairing with more knowledgeable programmers accelerates learning. He mentions RubyConf Community Day and his role in organizing a hack day, aiming to connect newcomers with experienced project leaders to foster learning and collaboration.
[00:18:15] What does Ufuk love about the Ruby community? He praises the community’s openness and willingness to collaborate, despite occasional drama and tension, finding value in the free exchange of information and collaboration.
[00:20:15] Julie asks about Ufuk’s history and evolution in the Ruby community. He reflects on his journey with Ruby since around 2012, evolving from building projects to actively participating in the community.
[00:22:35] Andrew inquires about what Ufuk is looking forward to in San Diego. He expresses his excitement for the hack day he’s co-organizing, viewing the conference as an offsite for the Ruby open source community, focusing on building things and active collaboration beyond just attending talks. Julie is looking forward to experience RubyConf’s new format firsthand, and Andrew voices a complaint about the RubyConf website lacking detailed info on the event schedule and format.
[00:27:39] Julie wants to know how to apply “first principles” thinking to programming. Ufuk explains that this approach involves understanding the fundamental concepts underlying a problem and using them to find solutions.
[00:30:48] Julie mentions Ufuk’s RailsConf 2020 talk about peeling the layers of the network, and he shares how he created a mini website to accompany his talk.
[00:34:34] Lastly, Andrew asks Ufuk about his favorite Ruby method, to which Ufuk responds that it’s the Triple equals (===) operator, explaining its utility and how it’s used in type checking and inclusion checks within the Ruby language.
[00:37:23] Andrew expresses his need to find a Sorbet or RBS expert because he has reservations about Sorbet and wishes to be convinced of its benefits, which Ufuk agrees to connect Andrew with a Sorbet expert and that during Ruby Conf and they could work together on “sorbitizing” a piece of Andrew’s code to demonstrate the practicality of it.
Panelists:
Andrew Mason
Julie J.
Guest:
Ufuk Kayserilioglu
Sponsors:
GoRails
Honeybadger
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
Ufuk Kayserilioglu X/Twitter
Ufuk Kayserilioglu LinkedIn
Ufuk Kayserilioglu Website
Shopify
Universal Turing machine
YJIT
Sorbet
First principle
Peeling Away the Layers of the Network Stack by Ufuk Kayserilioglu-RailsConf 2020
Case Equality Operator in Ruby (thoughtbot)
Tapioca
Join us for an insightful episode of Ruby for All, where Andrew and Julie have a discussion with special guest, Jerimie Lee, a Senior Product Designer at Codecademy. Jerimie shares his journey into the world of EdTech, and his experiences in the health tech industry. The conversation touches upon the evolution of design roles, the importance of understanding product mechanics, and the differing experiences of product and UI/UX designers. Jerimie also delves into the significance of accessibility in modern design, the iterations within the product design process, and the necessity of effective communication between designers and engineers. Listen in to learn more about Jerimie’s tips for successful designer-developer collaborations and his take on evolving product design trends.
[00:00:51] Jerimie introduces himself, describes his role and mentions his previous experience in health tech and marketing, and his previous role at Dispatch Health.
[00:01:49] Andrew asks about the difference between a product designer and UI/UX designers. He explains that product designers focus on both user experience and the product development environment, and Andrew and Jerimie discuss the role evolution.
[00:04:53] Julie asks what it takes to become a UX/UI designer/ product designer. Jerimie explains that there are many ways, and he shares how he came into design.
[00:06:40] Andrew shares his background in graphic design and how it influences his work as a developer. They discuss the advantages of developers having design knowledge.
[00:08:41] Julie appreciates Andrew’s design input and discusses her challenges as a non-designer. Jerimie shares his opinion on learning design principles.
[00:09:53] Jerimie suggests that understanding basic design principles can go a long way. He mentions the Nielson Norman Group’s, “10 Usability Heuristics for User Interface Design,” as a helpful resource. Andrew and Jerimie discuss the 80/20 principle and the subjectivity of design.
[00:11:50] Jerimie discusses the importance of designing for web and digital interfaces and how they more rules compared to print. He mentions accessibility guidelines and how they influence design decisions, and he emphasize the value of building efficient systems and making things work from a usability perspective.
[00:12:42] Jerimie and Andrew discuss the growing importance of accessibility in design and Jerimie mentions that Codecademy is working on accessibility tickets. Andrew shares his experience with discussing HTML specs with designers and engineers.
[00:13:43] Jerimie emphasizes the importance of designers understanding semantic HTML and technical constraints. Andrew and Julie share their perspectives on designers and developers collaborating effectively.
[00:16:35] We hear about some challenges of communication when engineers may not be fully aware of the design and product process. Jerimie shares an example of engineers providing negative feedback during the exploratory phase. Julie talks about the impact of such feedback on team dynamics.
[00:18:29] Jerimie emphasizes the importance of open-ended and constructive feedback from engineers and discusses the need for soft skills in communication.
[00:19:54] Jerimie mentions the value of understanding technical limitations and finding solutions that circumvent them. Andrew and Julie share their approaches to conveying technical limitations when collaborating with designers.
[00:22:27] Julie acknowledges her lack of front-end technical knowledge and how she and Jerimie often compromise when discussing detail, and Andrew ends to explain technical details to designers to show respect and maintain clear communication.
[00:23:15] Jerimie discusses how engineers should approach designers when struggling with their designs. He encourages engineers to seek help and not give up too easily.
[00:24:15] Some great advice from Jerimie for designers on how to communicate with developers includes building technical competence and being open to iteration and simplification in the design process.
[00:25:38] Julie and Andrew share their perspectives on the process of iterating, and Andrew shares his perspective on the importance of having a designer on the team. He highlights the role of designers in standardizing and improving UI and how collaboration with designers can enhance the developer’s work.
[00:28:20] Julie talks about how the absence of a designer negatively impacted their team’s direction and development, but having a designer significantly improved their work. Jerimie expresses his appreciation for the collaboration with engineers at Codecademy, and Andrew discusses the importance of mutual respect and collaboration between designers and developers.
[00:32:16] Why did Andrew chose to work with Rails over interaction design? He mentions that he has a quantitative brain, and that Rails offers better financial opportunities.
[00:32:47] Jerimie encourages engineers to give feedback on design and emphasizes the value of shared ownership between designers and developers.
Panelists:
Andrew Mason
Julie J.
Guest:
Jerimie Lee
Sponsors:
Honeybadger
GoRails
Links:
Andrew Mason X/Twitter
Andrew Mason Website
Julie J. X/Twitter
Julie J. Website
Jerimie Lee Website
Jerimie Lee LinkedIn
Codecademy
10 Usability Heuristics for User Interface Design-Nielsen Norman Group
Ruby For All – Episode 50
In this episode of Ruby for All, join Andrew and Julie as they welcome Kevin Murphy, a software developer at Pubmark, to discuss the fascinating world of speaking at conferences. Kevin shares his journey as a speaker and describes his experiences at conferences. The conversation dives into the nuances of submitting conference talk proposals, the challenges in the review process, and the importance of feedback. They also explore of the dynamics of attending and presenting at conferences, both virtually and in person, and they share some valuable advice for those interested in sharing their expertise through speaking engagements. Don’t miss this insightful and supportive discussion about the Ruby community and the art of conference talks. Press download now!
[00:00:52] Kevin reveals he has spoken at seven or eight conferences and shares more about his journey about getting into speaking at conferences.
[00:01:56] Kevin talks about attending RailsConf in Chicago 2014 as his first Ruby-related conference and Julie tells us about her first conference.
[00:03:48] We hear Kevin’s story about going from Java to Rails.
[00:04:39] Andrew shares his conference origin story.
[00:06:43] Kevin explains the process of submitting conference talk proposals, mentioning that it varies from conference to conference. Andrew suggests submitting CFPs early for a better chance of receiving feedback from reviewers.
[00:09:24] The discussion continues with the challenges and intricacies of the CFP review process and how recognition can influence the outcome, and getting rejected doesn’t mean the content isn’t valuable or that it can’t be presented elsewhere.
[00:11:02] Julie mentions meeting Kevin through Philly.rb and asks if he also presented the same talk at a conference. He discusses his talk practice at meetups before presenting it a conference and the importance of meetups during the pandemic.
[00:12:07] Andrew asks Kevin if he prefers giving talks virtually or in person, and Kevin shares the advantages and challenges of both formats, and he talks about being a good audience member, as well as the value of engaging with speakers after their talks and the significance of even simple feedback.
[00:17:25] Andrew and Julie talk about their experiences as speakers and how they felt about post-talk interactions. Andrew discusses his post-talk interactions and the balance of enjoying the attention but having a limit to social interactions. Julie shares her experience as a co-speaker and the support she felt during and after her talk, including people approaching her for advice.
[00:20:04] The discussion shifts towards Kevin offering advice to people interested in giving talks, especially those who are earlier in their careers.
[00:22:35] Julie highlights the role of supportive communities like WNB.rb in helping individuals get started with speaking, emphasizing mentorship, proposal reviews, and dry runs.
[00:24:46] Julie asks Kevin for advice on getting CFPs accepted, and he underscores the importance of clear top-line content and context-specific details in proposals, while Andrew adds that clickbait titles can attract attendees.
Panelists:
Andrew Mason
Julie J.
Guest:
Kevin Murphy
Sponsors:
GoRails
Honeybadger
Links:
Andrew Mason Twitter
Andrew Mason Website
Julie J. Twitter
Julie J. Website
Kevin Murphy Website
Kevin Murphy Mastodon
Pubmark
What Your Conference Proposal is Missing by Sara Mei
Sharing Past Conference Proposals by Kevin Murphy
Philly.rb
WNB.rb
RubyConf San Diego
In this episode, Julie begins by expressing concern about technical issues with Zoom and her camera being off, Andrew discusses the shortage of certain ADHD medication in the U.S. due to supply issues, and then the topic of keeping tidy beds and using chopsticks for eating comes up. The conversation then shifts to Andrew introducing asdf as a runtime version manager and he dives into the complexity of managing different versions of tools. The discussion touches on Docker, version consistency, and Podia’s smooth transition to a new database version. They emphasize the importance of planning and backups during database upgrades and share insights into moving local databases. We end with a reflection on microservices and their evolving role in the tech industry. Hit download now to hear more!
[00:00:13] Julie expresses concern about Zoom not working and her camera being off, and Andrew shares his thoughts on the shortage of ADHD medication in the U.S and how it’s been affecting his life.
[00:02:59] The topic of keeping their beds tidy comes up, bed habits, and converting to chopsticks for eating.
[00:08:15] Andrew explains that he was helping a designer upgrade his Postgres database from version 13 to 15. He mentions the challenge of not knowing how the designer was running Postgres initially and the decision to use GUI app (Postgres app) for ease of use.
[00:11:38] What is asdf? Andrew asks Julie if she uses rbenv or RVM, and he explains that rbenv is a runtime version manager for Ruby and discusses the need for managing multiple versions of Ruby due to the default outdated version in macOS. Also, Andrew explains that it’s a tool that manages various services, including Redis, Yarn, Node, Ruby, and more.
[00:13:49] Julie brings up if Andrew had any issues with asdf, and he acknowledges some past issues, but has a strong preference for using asdf consistently.
[00:14:12] Julie asks how Andrew’s use of asdf at work compares to others who might not use it, and he relates the discussion to Docker, explaining that Docker containers can help standardize environments and avoid issues related to different versions of tools and services on different machines.
[00:16:48] Julie asks whether applications can still run smoothly even if developers are using different version of tools like Redis. Andrew confirms it’s possible but explains the potential pitfalls and the importance of version consistency.
[00:20:00] Andrew discusses the switch from database version 13 to 15 in production and mentions the challenges of upgrading databases compared to simpler updates like changing a Node.js version.
[00:20:43] Julie asks about Podia’s staging environment for testing changes before deploying to production, and Andrew mentions using Heroku pipelines and how the company relies on feature flags and aims to keep the main branch always deployable.
[00:22:05] Andrew explains the potential for breaking changes when upgrading database versions, mentioning the PostgreSQL 16 is coming out and Heroku plans to support version 14 through 16 while dropping support for version 13.
[00:23:14] Andrew tells us their backup plan in case the database upgrade to version 15 fails and discusses the importance of having backups and a fast recovery plan.
[00:25:43] Julie asks Andrew what he meant by SSH into a box and about moving a local database to another computer, and he explains that it’s possible using commands like PG dump and restore, as well as providing options for moving a local database.
[00:29:55] Why doesn’t Podia use Docker? Andrew explains, citing previous experiences with Docker and the complexity it can introduce.
[00:32:22] Julie wonders if Andrew uses microservices, to which he explains that when he began his career, microservices were popular, but the industry’s perspective has since shifted. Docker was initially associated with microservices, but the trend has changed over time.
[00:33:01] What are the benefits of using microservices and why have some companies moved away from them? Andrew tells us the complexity of microservices became more apparent as they were adopted more widely, and some now consider them an anti-pattern.
Panelists:
Andrew Mason
Julie J.
Sponsor:
GoRails
Links:
Andrew Mason Twitter
Andrew Mason Website
Julie J. Twitter
Julie J. Website
Postgres.app
rbenv
Ruby Version Manager (RVM)
asdf
PostgreSQL 16
From the publisher's feed