Ruby for All

Follow Ruby for All
Share on
Copy link to clipboard

A weekly Ruby focused podcast hosted by Andrew Mason and Julie J. Each week we discuss topics ranging from Ruby, Ruby on Rails, learning, how to be a better developer, and more. The focus is on providing a podcast that caters to junior Ruby on Rails devel

Andrew Mason & Julie J


    • Jun 6, 2024 LATEST EPISODE
    • every other week NEW EPISODES
    • 30m AVG DURATION
    • 69 EPISODES


    Search for episodes from Ruby for All with a specific topic:

    Latest episodes from Ruby for All

    RailsConf 2024 Crossover — Ruby Podcasters Live in Detroit

    Play Episode Listen Later Jun 6, 2024 31:23


    In this special crossover episode recorded live from RailsConf 2024 in Detroit, join us for a unique gathering of prominent Ruby podcasters. Julie teams up with Elise from the 'Ruby on Rails' podcast, Jason from 'Code with Jason,' Joël from 'The Bike Shed,' and Drew from 'Code and the Coding Coders Who Code It.' The group discusses their experiences at RailsConf, including workshops, talks about Test Driven Development (TDD), and building dynamic applications with Turbo. They delve into the implications of RailsConf being discontinued after 2025, the thriving local Ruby conference scene, and share candid moments about their interactions with the community. Additionally, they touch upon diverse topics such as Detroit-style pizza, hot dog eating capacities, and food opinions, blending technical insights with light-hearted banter. The episode concludes with gratitude for the well-coordinated event and excitement for future Ruby gatherings. Enjoy![00:00:30] Live from RailsConf Detroit[00:01:04] Meet the Hosts[00:01:38] Conference Highlights and Workshops[00:07:21] The Future of RailsConf[00:12:10] Community Interactions and Podcasting[00:14:21] Exploring Detroit[00:17:30] Exploring Unique Pizza Toppings[00:18:02] Pittsburgh's Pierogi Pizza[00:18:20] The Versatility of Pizza[00:19:17] Controversial Pizza Opinions[00:20:43] Coney Island Hot Dogs in Detroit[00:21:19] Hot Dog Eating Contest[00:21:39] Food Preferences and Eating Habits[00:26:06] Snail Mail Programming Newsletter[00:27:24] Conference Highlights and Expectations[00:30:50] Wrapping Up the PodcastPanelists:Julie J.Elise ShafferJason SwettDrew BraggJoël QuennevilleSponsors:HoneybadgerGoRailsLinks:Julie J. TwitterJulie J. WebsiteDrew Bragg TwitterCode and the Coding Coders who Code it Podcast with Drew BraggJason Swett TwitterCode with Jason WebsiteJoël Quenneville TwitterJoël Quenneville WebsiteThe Bike Shed PodcastElise Shaffer WebsiteThe Ruby on Rails Podcast RailsConf 2024 (00:30) - Live from RailsConf Detroit (01:04) - Meet the Hosts (01:38) - Conference Highlights and Workshops (07:21) - The Future of RailsConf (12:10) - Community Interactions and Podcasting (14:21) - Exploring Detroit (17:30) - Exploring Unique Pizza Toppings (18:02) - Pittsburgh's Pierogi Pizza (18:20) - The Versatility of Pizza (19:17) - Controversial Pizza Opinions (20:43) - Coney Island Hot Dogs in Detroit (21:19) - Hot Dog Eating Contest (21:39) - Food Preferences and Eating Habits (26:06) - Snail Mail Programming Newsletter (27:24) - Conference Highlights and Expectations (30:50) - Wrapping Up the Podcast

    RailsConf 2024 Workshop Spotlight — Build High Performance Active Record Apps with Andy Atkinson

    Play Episode Listen Later May 2, 2024 43:52


    In this episode of 'Ruby for All', Andrew and Julie discuss drawing inspiration from MC Escher through games like Monument Valley, to dealing with the intricacies of Discord roles and authorization, and the importance of immediate and continuous feedback through tools like Google Docs during talks. Then, guest Andrew Atkinson joins us and shares insights from his new book, “High Performance PostgreSQL for Rails,” detailing his journey from initial drafts to publishing and his shift towards independent consulting. He emphasizes the significance of understanding database operations, schema design, and efficient querying for optimizing Rails applications. Also, Andy talks about preparing a workshop for RailsConf, aiming to educate participants on query performance improvement techniques and the utility of using multiple Postgres instances. The conversation also touches upon the learning strategies, potential challenges, and benefits of workshops versus talks at conferences. Hit download now to hear more! [00:00:10] Julie started drawing again inspired by MC Escher and playing a game called Monument Valley, and Andrew mentions he's on a tilt dues to issues with Discord roles. [00:01:59] Andrew introduces the git command ‘git instaweb' as a cool new find and shares something he remembered going back to the getting feedback for talks topic.[00:04:24] Andrew “Andy” Atkinson introduces himself and discusses the completion of his book, “High Performance PostgreSQL for Rails,” the positive response in beta sales, and his new venture into independent consulting. [00:08:16] Andy talks about his shift from development work to more educational and consultative roles, considering diving deeper into Postgres development. [00:09:48] There's a discussion about Andy balancing work-life commitments, creating content-like videos and tutorials, and leveraging these for marketing and educational purposes in the tech community. [00:11:29] Andy considers the idea of making short videos for platforms like TikTok and Instagram Reels, and he talks about his preference for watching conference talks on YouTube over popular content creators. He also talks about Hussein Nassar's videos on Udemy and how he encouraged him to make short videos. [00:15:01] Andy is conducting a workshop at RailsConf and expresses his excitement about presenting at RailsConf and the opportunity to connect with people interested in query and database optimization.[00:17:09] Julie shares her preference for learning through hands-on workshops and looks forward to participating in Andy's workshop. Andy gives us a sneak peak of his workshop which will focus on query performance, query running, and index support, as well as exploring the benefits of having multiple Postgres instances.[00:20:19] Andrew asks if Docker is necessary for the workshop, leading to a discussion on the practicality of simulating different database instances. [00:22:10] Andy plans to prepare for potential challenges such as internet issues by possibly providing content on USB drives and ensuring attendees can access prerequisites before the workshop. He emphasizes the workshop format will be more hands-on with less lecturing. [00:24:06] Julie asks about the prerequisites needed for audience members attending the workshop, especially if they're new to Rails or databases. Andy clarifies that attendees should have at least built a database-backed Rails app or have similar experience with another language or framework,[00:25:44] Julie mentions that there's a desire for more advanced content in talks and having a range allows participants to engage at different levels. Andrew shares his preference for advanced topics in workshops.[00:29:45] Andrew explains his preference for collaborative learning and anticipates the second day of RailsConf to be different and beneficial for those who like to pair and bounce ideas off others. Andy wants to ensure that the workshop content is new and valuable, different from what attendees might learn elsewhere. [00:32:11] Andy outlines the key takeaways he hopes attendees will leave with, including skills to improve the speed and scalability of their web apps, understanding database operations, and leveraging multiple databases with Rails Active Record. [00:34:04] Andrew shares while reading Andy's talk outline, he realized he wasn't sure when to use indexes outside of standard use cases. Andy acknowledges the importance of not just solving existing problems with indexes, but also identifying where problems may arise in Postgres by tracking queries not using indexes. [00:36:35] Andrew discusses the existence of gems like lol_dba, which suggest potential indexing opportunities, but notes the difficulty in validating those suggestions. Andy mentions other tools like Rails PG Extras and tells us the workshop will demonstrate how to use the ‘explain' command to evaluate the use and impact if indexes on individual query performance. [00:38:44] We end with Andrew inquiring why Postgres does not allow control over the query plan selection. Andy responds that Postgres' declarative paradigm aims for the planner to continually adapt and choose the lowest cost plan and mentions an extension called pg_hint_plan.[00:40:54] Find out where you can follow Andy online, where to get his book, and his upcoming conference plans.Panelists:Andrew MasonJulie J.Guest:Andrew AtkinsonSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteAndrew Atkinson WebsiteAndrew Atkinson X/TwitterAndrew Atkinson ConsultingM.C. Escher Monument Valley git instawebRuby for All-Episode 26: The Database Wizard with Andrew AtkinsonHigh Performance PostgreSQL for Rails: Reliable, Scalable, Maintainable Database Applications by Andrew AtkinsonHussein Nassar (Udemy)Rideshare-Rails app for “High Performance PostgreSQL for Rails” RailsConf 2024RailsConf 2024 Schedule: Andy Atkinson, May 8th, 2:30-Build High Performance Active Record Appslol_dba

    RailsConf 2024 Countdown — Behind the Scenes with Kevin Murphy

    Play Episode Listen Later Apr 18, 2024 28:46


    In this episode of 'Ruby For All', hosts Andrew and Julie welcome guest Kevin Murphy, Software Developer at Pubmark and member of the RailsConf program committee. The discussion kicks off with Andrew and Julie catching up, then transitions into an in-depth conversation about the RailsConf planning process. Kevin and Julie, the Speaker Liaison, share insights into the workings of the program committee, the selection criteria for conference talks, and the challenges and rewards of organizing RailsConf. Additionally, Kevin elaborates on his role in the committee, the theme for this year's conference, and his goals for impact, and Julie looks forward to supporting speakers and managing workshops. The episode emphasizes the importance of volunteer contributions to the success of RailsConf and encourages attendees to express their gratitude to the organizers, and to go check out all the details at RailsConf.org and buy your tickets now!  Press download to hear more! [00:00:15] Andrew and Julie catch up, Andrew overslept after finishing a project, Julie was up late watching videos, and Andrew recommends the show “Invincible.”[00:02:22] Kevin introduces himself and explains why he likes working with Ruby on Rails. [00:03:37] Kevin discusses the role of the RailsConf program committee, explains their responsibilities, including reviewing proposals and scheduling talks. [00:05:10] We learn what Kevin looks for in a conference talk proposal, emphasizing relevance to the theme and potential audience interest. Julie shares her perspective on reviewing proposals, considering both her emotional response and broader interests. [00:07:38] Kevin shares his first experience on the committee and discusses the time commitment involved and talks about the fairness of reviewing all proposals at once after the submission deadline. [00:11:03] Julie expresses her difficulty with the proposal reviewing process, suggesting that a grading scale might have been more effective for her. Kevin reflects on the surprises of the reviewing process and the difference between his perceptions and the rankings generated by the review system. [00:12:41] Julie adds that the difficulty in having to reject good talks due to overlapping topics or because they might fit better at another conference like RubyConf,[00:13:09] Andrew asks if the proposers receive feedback on why their talks may be more suited for RubyConf, and Kevin explains that if they ask, Ruby Central will make their best effort to provide it.[00:14:47] What's been the most rewarding part of this experience for Kevin and Julie? Kevin finds the opportunity to impact the community through the program committee rewarding, and Julie says she's waiting to see the full impact of her role as Speaker Liaison, which involves making speakers feel supported and pairing them with mentors.[00:16:24] Kevin and Julie both explain how they were invited to join the program committee by Ufuk, who's a member of the Ruby Central board, and Julie brings up a previous episode with Kevin on conference speaking. [00:17:52] Andrew asks what Kevin and Julie think the hardest part of will be being on the program committee at the conference. Kevin hopes his committee responsibilities won't impact his conference experience too much, and Julie anticipates the challenge of not having as much personal downtime during the conference due to her responsibilities. [00:19:41] Kevin reflects on the subjective nature of selecting talks and how different perceptions among committee members can affect decisions. He emphasizes that rejected talks are not necessarily of poor quality but may not fit due to other reasons.[00:21:02] Julie inquires about Kevin's role on the program committee and how he feels so far. His role involves scheduling and organizing accepted talks and workshops, reviewing and giving feedback on rejected proposals, and just being available.[00:22:00] Julie's role is Speaker Liaison, helping speakers with their needs and feeling special, and helping with scheduling workshops. Kevin clarifies the concept of tracks at conferences and since there aren't any this year, the goal is to align all talks with the overall theme of building with Rails. Julie mentions a blog post written by Kevin about the absence of tracks at RailsConf.[00:23:28] Kevin shares his aspirations for his impact on RailsConf: ensuring a safe, educational experience for attendees, seeing first-time speakers succeed, and enjoying the mentorship process. Julie describes her motivation for becoming a Speaker Liaison: to provide a supportive experience for speakers. [00:25:03] RailsConf is happening in Detroit, May 7-9. Kevin expresses his excitement for various aspects, including the strong program and meeting friends, and urges everyone to visit RailsConf.org, check the schedule, and get tickets. [00:28:19] Find out where you can follow Kevin online. Panelists:Andrew MasonJulie JGuest:Kevin MurphySponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteKevin Murphy WebsitePubmarkRuby for All Podcast-Episode 50: The Art of Conference Speaking with Kevin MurphyTracks Not At RailsConf 2024-by Kevin MurphyRailsConf-Detroit May 7-9, 2024RailsConf ScheduleRailsConf SpeakersInvincible: Season 2 (Amazon Prime) (00:00) - Introduction and Casual Catch-Up (02:22) - Guest Introduction: Kevin Murphy on Ruby and Rails (03:37) - Inside the RailsConf Program Committee: Roles and Responsibilities (05:10) - What Makes a Great Conference Talk? Selection Criteria Explored (07:38) - Behind the Scenes: Reviewing Conference Proposals (11:03) - Challenges in Proposal Review: Fairness and Surprises (12:41) - Rejection Reasons: When Good Talks Don't Make the Cut (13:09) - Feedback for Rejected Proposals: Bridging to RubyConf (14:47) - Rewarding Aspects of Program Committee Work (16:24) - Joining the Program Committee: Invitations and Insights (17:52) - Preparing for RailsConf: Expectations and Challenges (19:41) - The Subjectivity of Talk Selection: A Committee Perspective (21:02) - Roles Deep Dive: Organizing Talks and Supporting Speakers (23:28) - Goals and Aspirations for RailsConf Impact (25:03) - RailsConf 2023 Preview: What to Expect in Detroit

    Coding Campfires — Unplugged Adventures at Rails Camp West with Bobbilee Hartman

    Play Episode Listen Later Apr 11, 2024 35:01


    On this episode of "Ruby for All," hosts Andrew and Julie catch up with Julie returning after a bout of strep throat, and then share their excitement about having guest Bobbilee Hartman, the founder of Rails Camp West USA, joining them.  Bobbilee discusses the origins of Rails Camp, its unique unplugged experience, and the variety of activities attendees can engage in, from coding retreats to outdoor adventures like hiking zip-lining, and kayaking.  She also shares the logistics of organizing such an event, the sense of community it fosters among tech professionals, and how it differentiates from traditional conferences by offering a more personalized, inclusive, and memorable experience. The episode also touches on the challenges and joys of planning such an event, future locations, and the benefits of sponsoring, Press download to hear more! [00:00:39] Bobbilee explains her history with tech community events and Rails community, mentioning her shift to developer relations, the start of Rails Camp, and her personal interests.[00:01:27] Andrew expresses his long-standing interest in Rail camp since college, and Bobbilee details the Rails Camp US experience. [00:08:01] Bobbilee talks about the evolution of Rails Camp, its sponsorship, and the organization, including the scholarship program, location changes, food arrangements, and personal outreach for ticket sales and promoting the event. [00:13:19] Andrew inquires about the unique benefits of Rails Camp's style of conference. Bobbilee discusses the small size of Rails Camp, how it caters to different communication styles, and facilitates community through organic interactions rather than traditional networking.  [00:15:35] Addressing Julie's concerns about attending unfamiliar events, Bobbilee emphasizes that most attendees come alone, and the event's structure in small groups makes it welcoming for newcomers. She mentions various options for lodging and activities, accommodating different comfort levels and financial situations. [00:17:56] Bobbilee explains the intense planning involved in Rails Camp, finding new venues each year, working with new partners, and sourcing local items for goodie bags. [00:19:55] Bobbilee shares her personal rewards from organizing Rails Camp, such as staying connected with the tech community, helping sponsors, and maintaining relationships as life becomes busier. [00:22:17] Andrew talks about his own experiences with big conferences and appreciates the small group activities and inclusiveness at Rails Camp. Bobbilee explains how meals and activities are organized to ensure inclusivity and engagement, and she details her vigilance in ensuring all participants feel included. [00:24:20] We learn that Rails Camp is being held in Cascade, Idaho this year. The venue is a top-rated summer camp with numerous activities, located on a private lake, and Bobbilee expresses a desire to include whitewater rafting as an activity and is seeking a sponsor if anyone is interested. [00:27:13] Julie is curious about the venue selection process, and Bobbilee explains that she uses a combination of her saved lists, summer camp directories, and Google Maps to ensure venues are in suitable locations. [00:31:46] Bobbilee leaves listeners with the idea that Rails Camp is a simple, all-inclusive experience for those seeking an alternative to big conferences, emphasizing easy logistics and a variety of activities available. [00:33:26] The conversation wraps up with Bobbilee discussing sponsorship opportunities with various benefits attached to different levels of support. Panelists:Andrew MasonJulie J.Guest:Bobbilee HartmanSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteBobbilee Hartman WebsiteBobbilee Hartman X/TwitterBobbilee Hartman LinkedInRails Camp USA X/TwitterRails Camp West Rails Camp West Registration (00:00) - Bobbilee's Tech Community Journey (01:27) - Rails Camp US Experience Overview (08:01) - Evolution and Organization of Rails Camp (13:19) - Unique Benefits of Rails Camp (15:35) - Making Rails Camp Welcoming for Newcomers (17:56) - Intense Planning and Logistics of Rails Camp (19:55) - Personal Rewards of Organizing Rails Camp (22:17) - Appreciation for Rails Camp's Inclusiveness (24:20) - Venue Details for Rails Camp 2024 (27:13) - Venue Selection Process (31:46) - Rails Camp: A Simple, All-Inclusive Experience (33:26) - Sponsorship Opportunities Wrap-Up

    Vegas Vibes — Sin City Ruby 2024 Recap with Drew Bragg

    Play Episode Listen Later Apr 4, 2024 33:04


    In this episode of 'Ruby for All', host Andrew is joined by guest Drew Bragg to talk about the ins and outs of the Sin City Ruby conference. Drew provides a comprehensive breakdown of the event, highlighting the mix of technical and lifestyle talks presented, the benefits of regional conferences for building community and networking, and the unique atmosphere that smaller, regional conferences offer. Additionally, the episode covers the importance of Ruby and Rails in current technology, personal experiences with speaking and organizing community events, and thoughts on the future of regional programming conferences. The conversation concludes with Drew emphasizing the value of these gatherings in strengthening the Ruby community and encouraging participation in future events. Hit download now to hear more! [00:00:29] Drew introduces himself and tells us what he does, and Andrew explains why he didn't attend the conference and what he did instead. [00:02:45] Drew talks about his game show-style talk he gave, which is interactive and challenges attendees' knowledge of esoteric Ruby syntax. [00:05:31] Andrew brings up seeing Jason's talk and the attendee makeup at Sin City Ruby, noting many new faces and speculating on the impact of regional conferences bringing in local attendees who might not travel to larger conferences. [00:07:51] Andrew asks about the speakers' dinner, which Drew describes as a communal eating experience. [00:11:42] Drew explains the first day began with a forced socialization event which Drew found more pleasant in a smaller conference setting.[00:12:44] Andrew inquires about the style of talks at Sin City Ruby, wondering if there was a particular focus. Drew describes the conference as having a mix of topics with some technical, business-related, and lifestyle-oriented tasks related to Ruby and Rails. [00:14:01] Drew mentions enjoying Stéfanni Brasil's talk, Jason's live coding dressed as Elvis was very entertaining and hilarious, and Obie Fernandez's closing keynote offering a different perspective on AI's impact on the industry.[00:15:40] Regarding lack of recordings at the conference, Drew sees benefits form a speaker's perspective, and acknowledges that recordings can be valuable for review and as a portfolio asset. [00:18:41] Drew prefers speaking at smaller conferences for the close-knit atmosphere and better audience interaction but acknowledges that larger conferences have their own advantages.[00:21:12] Andrew asks what went well with this conference, and Drew explains he appreciates the laid-back nature and mentioned the relaxed atmosphere set by organizer Jason Swett made the event feel more like a meetup.[00:24:23] Drew shares that he didn't find any aspect of the conference that didn't go well and praises the simplicity of regional conferences like Sin City Ruby.  He emphasizes the convenience of Vegas as a conference location. [00:25:40] Discussing Vegas itself, both Andrew and Drew enjoyed visiting Hoover Dam and the overall experience of connecting with people with shared interests in Ruby.  They also touch on having fun people-watching and the vibrant environment of “Old Vegas.”[00:27:55] Drew's takeaway from the conference is the reaffirmation of Ruby and Rails' potential and expresses enthusiasm for the talks he attended, singling out Tom Rossi's as particularly energetic and engaging. [00:31:01] Drew promotes the idea of attending or organizing local conferences for their intimate nature and the connections they foster. He gives a shout-out to several upcoming Ruby conferences. [00:32:05] Find out where you can follow Drew and his podcast online.Panelist:Andrew MasonGuest:Drew BraggSponsors:GoRailsHoneybadgerLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteDrew Bragg X/TwitterDrew Bragg MastodonDrew Bragg WebsiteCode and the Coders who Code it Podcast Sin City Ruby 2024 (00:29) - Sin City Ruby: Drew's Introduction (02:45) - Game Show Talk: Testing Ruby Knowledge (05:31) - New Faces at Sin City Ruby (07:51) - Speakers' Dinner: A Communal Experience (11:42) - Forced Socialization: Networking Made Easy (12:44) - Talk Styles: Technical to Lifestyle (14:01) - Highlight Talks: From Elvis to AI (15:40) - The No-Recording Debate (18:41) - Small vs. Large: Conference Dynamics (21:12) - What Made Sin City Ruby Shine (24:23) - The Simplicity of Regional Conferences (25:40) - Vegas Adventures: Beyond the Conference (27:55) - Ruby's Vibrant Future and Energetic Talks (31:01) - The Value of Local Conferences (32:05) - Following Drew: Online and Beyond

    The State of Debugging in Ruby — A Puts-tastic Journey

    Play Episode Listen Later Mar 28, 2024 34:56


    In this episode of "Ruby for All," hosts Andrew and Julie take us through a journey of debugging, from dealing with weather-induced moods to squashing tricky bugs in their code. They touch on the challenges of debugging without audio guidance, leveraging logs for troubleshooting, and the logical approach to handling errors in Ruby or JavaScript. They dive into the variations of different debugging tools, such as Pry and the Rails Logger, and the complexities of transitioning to new debugging gems. Andrew recounts a perplexing bug only replicable in production and details his process and concluding the issue. As they navigate the intricacies of problem-solving, they contemplate the worth of fixing minor bugs versus prioritizing major ones, drawing on real-life examples from their experiences. Andrew wraps up with a reminder of the importance of teamwork in debugging, while they both acknowledge the reality that sometimes, a bug might just remain unfixed. Join them as they share insights and laughter, reminding us of the human element in the world of code. [00:00:54] Andrew describes the bug issue he had and the difficulties of debugging it without audio in the screen recording, and Julie shares her own debugging challenges on her new team. [00:02:00] Let's talk about debugging, as Andrew explains different types of bugs and shares his process for understanding and reproducing bugs. Julie emphasizes the importance of understanding the product and the expected behavior to replicate and debug issues. [00:03:31] Andrew describes his approach to getting unstuck during debugging, which includes revisiting the problem statement and using logs to trace the issue. [00:05:14] Andrew asks Julie if she can replicate her bug in production and suggests using logs for troubleshooting. Julie talks about her approach to errors, which differs as she doesn't typically see the red Rails error page in her work. They discuss how to deal with JavaScript errors and the importance of reading error messages. [00:08:57] Julie inquires why some developers may overlook details in error messages, and Andrew suggest that assumptions and a form of panic might play roles and discusses when he's more likely to Google error messages, especially regarding dependencies. [00:13:22] Andrew explains why he prefers using the ‘Rails Logger' over ‘puts' for debugging. He also mentions using Overmind and tmux for viewing Rails logs.[00:14:39] Julie draws a parallel between ‘puts' debugging and JavaScript's console.log debugging. Andrew confirms they are similar, and he shares his transition from using Pry to the official debug gem and the difficulty of changing old habits. [00:16:30] Andrew clarifies that binding.irb now uses the debug gem by default in Ruby 3, he discusses the usefulness of Pry's context-switching feature, and he outlines additional steps for effective debugging. [00:19:52] There's a conversation on using git for tracking code changes and git-bisect for isolating commits that caused issues, and questioning assumptions, reading documentation, and getting a second opinion or sleeping on the problem. [00:23:17] Andrew discusses the mindset required for effective debugging: patience, persistence, and the willingness to step away and return to a problem. Julie describes a very specific bug affecting a small number of users questioning with her manager whether it's worth the effort to fix it. [00:25:43] Back to Andrew's story about a bug that he couldn't replicate in development, but could in production, and he details his process and realization that it was a display issue in the front-end. [00:31:09] Julie relates to Andrew's difficulty in replication bugs in development and suspects filtering differences in production. Andrew suggests troubleshooting methods for errors related to data discrepancies. [00:33:11] Andrew shares a tip about using data to back up arguments when trying to convince others during decision-making, and Julie recounts realizing the low impact of the bug she's working on and it it's worth the effort. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteOvermindtmuxIRBgit/git-bisect (00:54) - Debugging Dilemmas: Screen Recordings Without Sound (02:00) - The Debugging Process: Understanding & Reproducing Bugs (03:31) - Unstuck Strategies: Logs & Revisiting the Problem (05:14) - Logs for Troubleshooting: Rails vs. JavaScript Errors (08:57) - Overlooking Error Messages: Assumptions & Panic (13:22) - Rails Logger vs. Puts: Debugging Preferences (14:39) - Debugging in JavaScript: Console.log Similarities (16:30) - Ruby Debugging Evolution: Pry to Debug Gem (19:52) - Git Tricks: Code Tracking & git-bisect (23:17) - Debugging Mindset: Patience, Persistence & Breaks (25:43) - Production Bugs: Front-end Display Issues (31:09) - Replicating Bugs: Development vs. Production (33:11) - Data-Driven Decision Making: Convincing with Evidence

    Ski Slopes, Sorbet, and Copilot — Effective Learning with Ryan Caldwell

    Play Episode Listen Later Mar 14, 2024 31:31


    In this episode of Ruby for All, Andrew and Julie chat about their recent experiences, including a ski trip with challenges due to a storm, and discuss burnout and returning to regular podcasting. Special guest, Ryan Caldwell, a software engineer at GitHub working on Copilot, joins the conversation to discuss his work, particularly on chat-related features of Copilot.  Ryan shares insights on programming languages, leaning into his transitions between Ruby, Java, and Go, and navigating the differences between dynamically and statically typed languages.  The conversation covers the benefits and challenges of implementing type checking in Ruby with Sorbet, especially in large projects like GitHub.  Ryan advocates for learning Ruby on Rails, praises its efficiency for staring profitable projects, and provides tips for using Copilot Chat effectively.  Press download now to hear more! [00:00:23] Julie fills us in on a recent skiing trip to went on in California, the huge storm they encountered and leaving early to avoid being stranded, the broken chain on their car, and a scary moment on a slope with her kids. Andrew shares he experienced burnout but sees improvement. [00:02:47] Ryan Caldwell introduces himself and tells us what he does. [00:03:53] Andrew asks Ryan about the programming languages used for Copilot, leading to a discussion about using Go for its REST API, the manageability of the project, and Ryan's transition from Codespaces to Copilot after paternity leave. [00:04:49] Andrew wonders why Go was chosen, and Ryan explains the team's familiarity with Go and the language's simplicity. [00:06:12] Ryan reflects his first programming language and journey through JavaScript, Python, Java, and Ruby, highlighting his appreciation for Ruby. He talks about learning Ruby on the job, and his fondness for Rails. [00:08:02] Ryan discusses the challenges of picking up new languages and his approach to learning through project involvement. [00:09:24] Andrew asks about the shift from dynamic to typed languages, and Ryan shares his experiences transitioning from Ruby to Go. [00:11:53] We hear about Ryan's work on type checking with Sorbet at GitHub, and he shares that Sorbet helped find edge cases and bugs, improving the code by requiring changes to the structure to prevent these issues. [00:15:09] Ryan feels the biggest benefit of Sorbet is enforcing developers to consider boundaries and contracts between classes, which encourages thoughtful coding and design. A downside he mentions is the time and confusion involved in the migration process, particularly for team members unfamiliar with the new syntax.[00:17:11] Julie inquires if Ryan would do anything differently regarding Sorbet implementation. He reflects on the challenge of estimating the time required for implementing Sorbet, dealing with complex code, and the difficulty of refactoring legacy code without comprehensive tests. [00:18:44] Would Ryan go back to Ruby/Rails without Sorbet? He states that he would for personal projects for speed but appreciates Sorbet in team settings for defining clear code boundaries. [00:19:31] Ryan suggests that small teams should consider Sorbet if it solves a specific problem, rather than adopting it without a clear purpose. [00:21:40] Ryan discusses his pride in streamlining the authentication process across different clients in Copilot, leading to a simplified codebase for the team. A tip he shares is to provide as much context as possible when using Copilot Chat to get better responses. [00:25:35] Andrew talks about custom instructions for ChatGPT, like ensuring all output is in bullet points, and wonders if such a feature exists for Copilot.[00:28:46] Ryan advises newer developers to be intentional about what they chose to learn in software development, emphasizing the importance of investing learning time wisely. And yes, Ruby on Rails is still worth learning in 2024. [00:31:03] Find out where you can follow Ryan on the interwebs.Panelists:Andrew MasonJulie J.Guest:Ryan CaldwellSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteRyan Caldwell X/TwitterRyan Caldwell GitHubGitHub CopilotGoSorbetVisual Studio Code-GitHub Copilot Series (YouTube) (00:00) - Ski Trip and Snow Adventures (02:47) - Ryan Caldwell's Intro (03:53) - Copilot's Language Choice (06:12) - Journey Through Programming (09:24) - Dynamic to Typed Languages (11:53) - Sorbet's Impact at GitHub (17:11) - Reflecting on Sorbet (21:40) - Copilot's Authentication Success (25:35) - Customizing Copilot Chat (28:46) - Learning Paths in Software Dev (31:03) - Where to Follow Ryan

    Mastering Rails Callbacks – Deciphering the Secrets of Active Record

    Play Episode Listen Later Feb 8, 2024 30:42


    In this episode of Ruby for All, Andrew and Julie discuss the intricacies of callbacks in Active Record models. They talk about their experiences, the pros and cons of using callbacks, and the issues they faced. They also share some helpful use cases for callbacks, including user authentication, logging and auditing, custom slug generation, and the concept of “hooks.”  Also, Andrew and Julie review their ways of dealing with callbacks testing and debugging in a Rails application. Press download now to hear more! [00:02:32] Let's learn about “callbacks” in Rails as Andrew explains what they are and uses an example of a blog post to explain how a callback might function when saving a post. [00:03:56] Julie inquires if Tiptap can be used in a browser for apps and they discuss before-save callbacks in a post model and how they can be used to extract and save a title.[00:06:19] Andrew elaborates on the three different types of callbacks: before, after, and around callbacks, and gives examples of each. [00:10:06] They discuss practical uses for before-validation callbacks, such as setting default values. [00:11:12] Andrew clarifies the concept of “hooks” in programming, comparing it to callbacks. [00:12:18] Julie asks for examples of actions taken after validation versus before validation. [00:13:19] Andrew talks about how a file upload, an after-create callback can be used for processing the file such as generating thumbnails or updating related resources. He lists examples use cases for callbacks like hashing passwords before saving to the database during user authentication, triggering email notifications after a comment is posted, and logging and auditing activities like user sign-ups or errors. [00:15:57] Julie is curious about whether deleted accounts really remove all user data or just make it as inaccessible, noting some services offer a soft delete option with a time window to recover the account. Andrew has not yet encountered the fallback log issue he set up but explains how before-destroy callbacks could be used to implement a time-based soft delete system. [00:17:19] Andrew describes using before-create callbacks for generating custom slugs for blog posts automatically. [00:17:54] Andrew recalls a discussion at RailsConf about the diverse opinions on using callbacks, with some developers strongly against them and others in favor. He acknowledges that while callbacks can simplify complex operations, they can also make debugging difficult and can become problematic if used excessively or inappropriately. [00:23:00] Julie asks Andrew where he stands on the use of callbacks, and he positions himself in the middle, closer to using them when appropriate. [00:25:16] Andrew emphasizes being cautious with callbacks and explains that callbacks are useful when certain actions need to happen automatically without explicit instruction every time a record is saved.[00:27:40] Andrew discusses the challenges of testing callbacks, as they can require additional setup in tests and slow down the test suite.  He concludes that callbacks are an integral part of Rails, he advises against using them as the first solution and recommends weighing their pros and cons carefully. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteActive Record CallbacksTiptap (00:00) - Intro and Topic Overview (02:32) - Introduction to Callbacks in Rails (03:56) - Discussing Before-Save Callbacks and Tiptap (06:19) - Types of Callbacks: Before, After, and Around (10:06) - Uses for Before-Validation Callbacks (11:12) - Hooks vs Callbacks (12:18) - Practical Use Cases for Callbacks (15:57) - Soft Delete Options and Before-Destroy Callbacks (17:19) - Generating Custom Slugs with Before-Create Callbacks (17:54) - Diverse Opinions on Using Callbacks from RailsConf (23:00) - Andrew's Not an Expert (25:16) - Caution and Appropriate Use of Callbacks (27:40) - Challenges of Testing Callbacks

    Onboarding Challenges — Julie's Transition to a New Team

    Play Episode Listen Later Feb 1, 2024 27:54


    In today's episode, Andrew and Julie dive into the topic of onboarding onto new teams.  Julie discusses her latest venture of switching teams, and Andrew sheds light on the innovative “Shape Up” method by Basecamp that's shaking things up in the project management world, and why he prefers this over Agile. There's talk of the dreaded technical debt, and how to keep it in check, plus the perks of pair programming and the need for a solid support system at work. Besides tackling these workplace issues, they also touch on the challenge of maintaining personal relationships in a remote working environment, keeping old team ties strong, and why asking questions is key to professional growth. Press download now to hear more! [00:01:45] Julie gives us an update on the changes at her work, transitioning from a consumer team to a platform team. She mentions that her old team is shifting from two-week sprints to a new process called “Shape Up,” which Andrew explains it as a product/project management philosophy from Basecamp, focusing on a six-week cycle.[00:03:08] Andrew details the process of shaping a feature, setting boundaries, identifying risks, and then pitching it. [00:04:25] Julie inquires about the involvement of engineers in the shaping and betting processes, and Andrew describes how it works at Podia, and how they used Flipper. [00:06:33] Andrew discusses the “cool down” period after a project cycle, which at Podia involves monitoring for bugs and wrapping up the project details rather than no scheduled work. [00:07:42] The topic of technical debt is addressed, with Andrew acknowledging its inevitability and the importance of staying on top of it through practices like support weeks.[00:10:54] Andrew expresses preference for the Shape Up process over Agile, appreciating the longer time frames, collaborative problem-solving with designers, and a less stressful experience with more planned projects. [00:12:14] Julie shares her transition to a new team and the challenges of ramping up, contrasting it with her experience from two years ago and feeling the pressure to not ask basic questions due to her years of experience.[00:13:53] Julie discusses the pressure she feels to ramp up quickly on her new team, acknowledging its self-imposed. Andrew and Julie talks about the onboarding process, where Julie notes the benefit of scheduled pair programming sessions with teammates as a key part of her learning. [00:15:44] Andrew shares Podia's onboarding method, which involves acting like a user of the application to understand its various parts. Julie reflects on the complexity of her new team's codebase and the challenge of understanding how services interact. [00:17:51] Andrew suggest creating a service diagram to visualize service interactions, something he found useful in previous jobs.  Julie considers the idea and mentions the potential benefits of a detailed visual representation of the service interactions for her understanding. [00:19:48] Julie and Andrew discuss the social dynamics of joining a new team with established relationships and the extra challenge of doing it so remotely. Andrew shares similar experiences and the importance of being inclusive to new team members. [00:21:59] Andrew shares how he's an introvert by nature, and Julie and Andrew both agree on the importance of asking questions and having supportive seniors and leaders who encourage a culture of inquiry. [00:26:05] Julie talks about maintaining relationships with her old team and the value of keeping professional connections active, even after moving to a new team or company. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteShape UpFlipper (00:00) - Intro and Topic Overview (01:45) - Julie's Team Transition and Shape Up Method (03:08) - Andrew on Shaping a Feature in Shape Up (04:25) - Engineer Involvement in Shaping and Betting (06:33) - Podia's "Cool Down" Period After Project Cycles (07:42) - Addressing Technical Debt (10:54) - Preference for Shape Up Over Agile (12:14) - Julie's Transition and Ramping Up Challenges (13:53) - Onboarding Process and Pair Programming (15:44) - Podia's Onboarding Method (17:51) - Creating a Service Diagram for Understanding Interactions (19:48) - Social Dynamics of Joining a New Team Remotely (21:59) - Importance of Asking Questions and Supportive Culture (26:05) - Maintaining Relationships with Old Teams

    The Power of Community in Learning Ruby on Rails — Agency of Learning's Role in Shaping Developer Careers

    Play Episode Listen Later Jan 25, 2024 37:19


    In this episode of Ruby for All, Andrew and Julie welcome special guests, James Garcia, Eric Halverson, and Caleb Mitchell, all part of The Agency of Learning run by Dave Paola. Today, they share their unique journeys into software development, ranging from music to technical support backgrounds, and their involvement in The Agency of Learning.  They discuss the value of the Ruby community, the joy of coding in Ruby, and the complexities of keeping up with Rails in a fast-paced tech environment. The conversation also touches on the importance of community in learning and how to get involved in the Ruby ecosystem, wrapping up with practical advice on handling race conditions in coding projects. Press download now to hear more! [00:00:13] Julie wonders if Andrew launched his feature and he mentions a setback due to architectural challenges. Julie relates to his issues sharing she faced a race condition blocking a release. [00:01:24] Julie mentions the Ruby for All Book Club and three guests joining them, who are a part of that club, where they are reading, The Well-Grounded Rubyist. [00:02:02] Eric, Caleb, and James introduce themselves and talk about their backgrounds. [00:05:36] What is The Agency of Learning? Eric shares his view and experience as an amazing ride, and James describes it as a “finishing school” for new programmers.[00:09:17] Andrew inquires about the unique challenges faced by Caleb due to his music background. Caleb discusses the time management challenges of balancing music and programming. [00:11:41] Julie's interested to understand the guests' experiences and challenges at The Agency of Learning. Caleb talks about the challenges of working with large, preexisting codebase. James adds to Caleb's points, discussing the learning experiences with different production apps. [00:13:50] Andrew asks Julie about her experience working for Ruby for Good projects, and she expresses her enthusiasm for Ruby for Good. Andrew tells us what he did with contributing and praises Ruby for Good and encourages listeners to contribute. [00:14:43] Eric tells us about his current career position, and he describes a personal existential crisis following an intense project for a Rails conference, which led to a period of burnout and a shift in focus back to Ruby fundamentals. [00:18:08] Eric shares advice from Cody Norman, a lead at The Agency of Learning, about pursuing what inspires you. Andrew relates to Eric's return to fundamentals and shares a perspective on learning Rails and Ruby.[00:19:41] Andrew asks about the hardest part of learning Rails in 2023. James discusses the challenge of keeping up with front-end updates in Rails, specifically Hotwire and Turbo Drive.  Caleb talks about the challenge of focusing learning on an era with abundant resources and highlights Launch School and The Odin Project as helpful resources. Eric reflects on the complexity of Rails and strategies learning it. [00:24:21] Julie asks the guests if they would recommend Rails to others or change their own journey. Caleb states his positive experience with Ruby and Rails, suggesting it as a good starting point.  James enjoys Rails and believes it helped him understand programming fundamentals, Eric speaks highly of Ruby and Rails and values the community. [00:27:15] Julie mentions that Ruby's appeal kept her in software engineering and would recommend it as a first language. Andrew reflects on advising his brother on programming languages, highlighting the clarity Ruby brought him after learning Java.[00:29:20] Eric credits Julie for highlighting the importance of community in learning to program and James emphasizes reaching out for help in the Ruby community, praising its supportive nature. [00:30:53] Andrew asks for advice on how to join the Ruby community.  James tells us to connect through Twitter, Discord, and conferences. Caleb recommends reaching out to study or work with others, leading to lasting relationships. Eric started with podcasts, moved to Twitter, then conferences.[00:34:09] Julie shares two Discord groups for joining the Ruby community: The Ruby Learning Center and the GoRails Discord. [00:34:24] Find out where you can follow Eric, Caleb, and James online. [00:35:26] Andrew explains and gives an example of a race condition, since Julie had one at work that was driving her crazy.  Panelists:Andrew MasonJulie J.Guests:James GarciaEric HalversonCaleb MitchellSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteEric Halverson X/TwitterEric Halverson LinkedInJames Garcia X/TwitterJames Garcia LinkedInCaleb Mitchell LinkedInCaleb Mitchell Neovim-GitHubThe Agency of LearningRuby for GoodCody Norman X/TwitterDave Paola X/TwitterRuby for All-Episode 37: The Agency of Learning with Dave PaolaThe Well-Grounded Rubyist by David A. BlackLaunch SchoolThe Odin ProjectThe Ruby Learning Center DiscordGoRails Discord ServerRace condition (00:00) - Intro and Welcome (00:13) - Julie's Setback and Race Condition Issue (01:24) - Ruby for All Book Club Mention (02:02) - Introduction of Eric, Caleb, and James (05:36) - The Agency of Learning Explained (09:17) - Caleb's Challenges Balancing Music and Programming (11:41) - Guests' Experiences at The Agency of Learning (13:50) - Julie on Ruby for Good Projects (14:43) - Eric's Career Position and Return to Ruby Fundamentals (18:08) - Eric on Inspiration and Learning Rails and Ruby (19:41) - Hardest Part of Learning Rails in 2023 (24:21) - Guests' Thoughts on Recommending Rails (27:15) - Julie and Andrew on Ruby's Appeal (29:...

    Rekindling Ruby — A Journey through Burnout, Books, and Career Aspirations

    Play Episode Listen Later Jan 18, 2024 23:37


    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 MasonJulie J.Sponsors:GoRailsHoneybadgerLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. Website99 Bottles of OOP by Sandi MetzPractical VIM by Drew NeilNeovimHigh Performance PostgreSQL for Rails by Andrew AtkinsonThe Programmer's Brain by Felienne HermansBlinkist (00:00) - Intro and Welcome (00:17) - Catching up and Christmas breaks (02:10) - Andrew's restful break and activities (04:50) - Julie's reading and app plans (05:56) - Andrew's reading goals (07:30) - Childhood reading habits (10:36) - Andrew on speed reading (12:37) - Burnout and Julie's struggles (15:06) - Recognizing and addressing burnout (16:11) - Strategies for combating burnout (17:56) - Reducing screen time (20:06) - Ruby 3.3 and upcoming conferences (21:13) - Career growth and leveling up (21:41) - Andrew's career growth plan (22:10) - Personal goals and typing speed

    Exploring the Mind of a Content Creator — Bhumi Shah's Perspective on Learning and Sharing

    Play Episode Listen Later Jan 11, 2024 34:34


    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 MasonGuest:Bhumi ShahSponsors:GoRailsHoneybadgerLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteBhumi Shah X/TwitterOne Ruby Question NewsletterIndie HackersPodiaHow Rails.env works with EnvironmentInquirer & StringInquirer-by Bhumi Shah (GoRails)Chris Oliver X/TwitterDarknet Diaries (00:00) - Intro and Welcome (00:24) - Bhumi's Journey into Ruby on Rails (02:24) - Inspiration and Building Trust in Content Creation (04:13) - Andrew's Thoughts on Content Creation and Podia (05:01) - Bhumi on Building an Audience (06:31) - Challenges in Charging for Content (08:33) - Setting Goals for Course Creation (12:18) - Bhumi's Learning Approach (13:26) - Tackling New Topics in Web Development (15:21) - Teaching and Mentorship (17:28) - Andrew's Approach to Mentoring (18:59) - Overcoming Perfectionism in Content Sharing (23:36) - Medium Preferences for Content Sharing (27:09) - Discussing Code through Audio and Storytelling (29:52) - Debugging Stories and Onboarding Junior Developers (31:37) - Importance of Teaching Developers Self-Sufficiency (32:30) - Encouraging Listener Feedback (33:32) - Follow Bhumi and Her Work

    Teaching Code, Shaping Futures — John Crepezzi on Ruby, Bootcamps, and AI

    Play Episode Listen Later Jan 4, 2024 33:54


    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 MasonJulie J.Guest:John CrepezziSponsors:GoRailsHoneybadgerLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteJohn Crepezzi X/TwitterJohn Crepezzi GitHubice_cube 0.16.4All Aboard BootcampAbout the bootcamp (John's story)RailsConf 2023-Functional Patterns in Ruby by John Crepezzi (YouTube)OCaml (00:00) - Introduction to the Episode (01:08) - Meet John Crepezzi: Ruby Community Veteran and Bootcamp Founder (02:14) - John's Pride in Creating the "ice_cube gem" for Date Math (04:30) - Technical Challenges and Community Role in Developing ice_cube (05:25) - Julie's Transformative Experience at All Aboard Bootcamp (07:26) - John's Teaching Philosophy: Quick Learning and Practical Skills (11:26) - ChatGPT's Role in Teaching: Enhancing Question Refinement (12:49) - AI in Education: John's Perspective on Future Trends (16:03) - From VCRs to AI: Evolution of User-Technology Interaction (16:55) - The Genesis of John's Bootcamp: Addressing Industry Biases (21:10) - John's Journey: Balancing Bootcamp with Personal Life (23:31) - Common Resume Mistakes for New Programmers (25:35) - John's Tips on Effective Resume Formatting (26:44) - Importance of Conciseness in Resumes (27:18) - John Reflects on Bootcamp Challenges and Workload Management (28:34) - Fostering a Supportive Community in the Bootcamp (31:07) - John's Advocacy for OCaml and Functional Programming in Ruby (32:13) - Discover Where to Follow John Online (32:58) - John's Ongoing Passion for Ruby and Its Evolving Impact

    RubyConf Reflections - The Importance of TDD with Elise Shaffer

    Play Episode Listen Later Dec 21, 2023 27:21


    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 MasonJulie J.Guest:Elise ShafferSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteElise Shaffer WebsiteElise Shaffer GitHubThe Ruby on Rails PodcastCircleCITest Driven Development: By Example by Kent Beck99 Bottles of OOP by Sandi Metz (00:24) - - Introduction and conference experience (01:39) - - Memorable conferences and tight-knit communities (02:45) - - In-person vs. online conferences (03:50) - - First conference experiences (06:12) - - Julie's rise in popularity and fame in the community (09:33) - - Testing and continuous integration in software development (12:46) - - Parallelized testing and speeding up test processes (13:56) - - Test Driven Development (TDD) and its applicability (15:30) - - Advantages of TDD and its role in understanding problems (18:58) - - Challenges to the concept of TDD (20:59) - - Reviewing tests and pull requests (24:02) - - Managing commit history and using interactive rebase (24:47) - - Recommendations for learning TDD (25:33) - - Handling TDD in legacy codebases

    Live From Rubyconf 2023 — Conference Recap, Talk Highlights, Ruby 4, Hacking on OSS, Restaurant Reviews, and Much More

    Play Episode Listen Later Dec 7, 2023 22:56


    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 MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteHow To Use Heredoc in RubyRuby CentralSaron Yitbarek Rails on Rack (00:23) - Introduction and discomfort with team building (02:10) - New journal app on iPhone (02:57) - Experience on the first community day (04:06) - Heredocs and a bug encountered (05:46) - Appreciation for the hack day format (07:50) - Feedback for improving the hack day (10:12) - Conference's social aspects and opening ceremony (11:24) - Thoughts on the opening ceremony (12:38) - Matz's pre-recorded keynote and Ruby's future (14:00) - Value of personal connections (15:07) - Roundtable discussion about podcasting (19:09) - Attending Saron Yitbarek's keynote and other talks

    Building Rails-Powered Mobile Apps with Joe Masilotti

    Play Episode Listen Later Nov 23, 2023 38:41


    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 MasonJulie J.Guest:Joe MasilottiSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteJoe Masilotti X/TwitterJoe Masilotti WebsiteJoe Masilotti NewsletterThe reverse job board for Rails developersRails World 2023-Mobile Apps for Rails Developers with Joe Masilotti (YouTube)Turbo Native crash course-Joe MasilottiTurbo Native for iOSHotwireStradaReact NativeRemote Ruby Podcast-Episode 151: Turbo Native & Hotwire-How Polywork Supercharges DevelopmentTurbo Native DirectoryJoseph Masilotti Apps for iPhoneStimulusTurbo NavigatorSwift Playgrounds AppSwift Playgrounds KotlinXcode-SwiftUI

    Ruby Mastery and Community Love with Ufuk Kayserilioglu

    Play Episode Listen Later Nov 16, 2023 39:24


    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 MasonJulie J.Guest:Ufuk KayseriliogluSponsors:GoRailsHoneybadgerLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteUfuk Kayserilioglu X/TwitterUfuk Kayserilioglu LinkedInUfuk Kayserilioglu WebsiteShopifyUniversal Turing machineYJITSorbetFirst principlePeeling Away the Layers of the Network Stack by Ufuk Kayserilioglu-RailsConf 2020 Case Equality Operator in Ruby (thoughtbot)Tapioca

    Bridging Design and Development with Jerimie Lee

    Play Episode Listen Later Nov 9, 2023 34:04


    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 MasonJulie J.Guest:Jerimie LeeSponsors:HoneybadgerGoRailsLinks:Andrew Mason X/TwitterAndrew Mason WebsiteJulie J. X/TwitterJulie J. WebsiteJerimie Lee WebsiteJerimie Lee LinkedInCodecademy10 Usability Heuristics for User Interface Design-Nielsen Norman Group

    The Art of Conference Speaking with Kevin Murphy

    Play Episode Listen Later Nov 2, 2023 29:46


    Ruby For All – Episode 50In 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 MasonJulie J.Guest:Kevin MurphySponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteKevin Murphy WebsiteKevin Murphy MastodonPubmarkWhat Your Conference Proposal is Missing by Sara MeiSharing Past Conference Proposals by Kevin MurphyPhilly.rbWNB.rbRubyConf San Diego 

    Microservices, Mayhem, and Main Branches

    Play Episode Listen Later Oct 26, 2023 34:41


    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 MasonJulie J.Sponsor:GoRailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsitePostgres.apprbenvRuby Version Manager (RVM)asdfPostgreSQL 16

    Plants, Zombies, and Pull Requests

    Play Episode Listen Later Oct 19, 2023 25:19


    On today's episode of Ruby for All, Andrew and Julie kick things off with a nostalgic discussion about the beloved game, “Plants vs. Zombies.” Julie explains the game's concept, setting the stage for a lively conversation that brings us into their gaming experiences and preferences, including cooperative versus competitive gaming. The conversation then transitions to topics relevant to the workplace, including teamwork and communication in a new project that Andrew introduces. They touch on the organizational structure at Podia, the project process, and roles within project teams. Code reviews within project teams are also explored, with insights into how they handle code reviews, expertise in specific code bases, and knowledge sharing strategies to mitigate the “bus factor.” Go ahead and download this episode now! [00:00:11] Andrew and Julie discuss the game “Plants vs. Zombies.” Julie explains the game's concept and Andrew talks about Call of Duty Zombies. [00:01:56] Julie tells us she like cooperative games vs. competitive gaming.  Andrew explains different gaming genres, including strategy, shooting, and RPG. [00:03:20] They discuss playing Guitar Hero, Rock Band, and Mario Kart.  [00:04:54] Andrew introduces a new project and emphasizes the importance of teamwork and communication. [00:06:18] Andrew explains the organizational structure at Podia, the project process, and roles within project teams.[00:09:22] Julie asks how many engineers there are at Podia and she inquiries about code reviews within project teams. [00:10:50] Andrew mentions expertise in specific code bases at Podia and how they track it, also, he discusses knowledge sharing to mitigate the “bus factor” within the team.[00:12:36] Julie wonders if a team of two typically consists of a backend and a frontend person. Andrew explains that at Podia, they have full-stack engineers, but some specialize more in frontend or backend work based on their skills and preferences. [00:13:18] A question comes up if Andrew does a lot of pairing, and he explains that pairing frequency varies among team members and shares his preference for daily pairing. [00:15:55] Andrew shares his assumption that when someone sends a pull request, their code is expected to work, emphasizing that code review serves other purposes. [00:16:27] Andrew discusses the purpose of code reviews and how they should focus on more than just syntax. He clarifies that code review helps ensure the right approach and maintains codebase integrity.[00:17:40] Julie mentions her habit of asking if a particular approach is correct during code reviews and discusses the importance of conventions and patterns. She also talks about her experience with cross-team pairing and how it helps identify edge cases and align with other teams' practices. [00:18:56] Andrew discusses the challenges of code review when teams are large and points out the potential for one person to become the primary reviewer.[00:20:43] Andrew suggests that small, specific pull requests with areas of interest can ease code review and mentions that Podia's teams are smaller, and codebases are more unified. [00:22:23] Julie shares that her organization had 70 engineers and how cross-team pairing benefits knowledge sharing. She reflects on the learning experience when joining a new team and processes can vary, suggesting that individuals can introduce their preferred practices.[00:24:15] Julie asks how Andrew discovers bugs in his code, and he explains Podia's error monitoring and support team processes for bug triage. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsitePlants vs. Zombies (00:11) - Discussion of "Plants vs. Zombies" and gaming preferences (01:56) - Exploring different gaming genres and cooperative gaming (03:20) - Playing games like Guitar Hero, Rock Band, and Mario Kart (04:54) - Introduction to a new project and teamwork importance (06:18) - Organizational structure and project processes at Podia (09:22) - Number of engineers at Podia and code review practices

    From CoffeeScript to curl

    Play Episode Listen Later Oct 12, 2023 25:25


    In this episode of Ruby for All, we start with a conversation about Julie's challenges in adjusting to a calendar migration, which leads to discussions about productivity tools, color-coding calendars, and the use of extensions like “Better Comments” for code organization.  Andrew and Julie explore the purpose and potential pitfalls of code comments, share insights into work projects, including a significant rewrite, and even touch on the history of CoffeeScript in the coding world.  Also, they discuss best practices for API response statuses, the effective use of tools like Postman and curl, and the role of practical experience in shaping a developer's understanding of best practices. Hit download now to hear more! [00:00:10] Julie mentions having issues concentrating at work due to a migration from Google Workspaces to Microsoft, with calendar issues. Andrew asks about her calendar system and whether she color codes it.  [00:01:41] Since colors are so important to Andrew on calendars, he mentions an extension called “Better Comments” for color-coding comments in code. [00:03:15] Andrew discusses the purpose of comments, warning about deviations from conventions, and code readability, and Julie and Andrew talk about the problems with excessive comments and the importance of keeping comments up to date. [00:07:08] Julie wonders if Andrew adds links to comments or writes detailed PR reviews for reference. [00:07:53] What's up with Andrew? He mentions working on bug fixes and a recent launch at Podia, including a rewrite of their email system.[00:08:51] Andrew explains Trix, which was previously written in CoffeeScript but may have been ported to TypeScript. He also briefly discusses the history of CoffeeScript, its decline in popularity, and why he didn't like it when he was new to programming. [00:13:21] Julie asks about best practices for API response statuses, such as when to use “status ok” or “status created.” She also asks about the use of “Unprocessable Entity” as a status code and its meaning. Andrew talks about how Rails handles different response statuses and mentions that Rails implicitly handles certain errors.[00:15:58] Julie and Andrew discuss the importance of choosing the correct HTTP status codes for API responses. [00:16:44] Julie asks about handling different types of bad requests and whether Rails catches them. Andrew explains how to undo scaffolded code using “rails d” and suggests looking at Rails scaffold defaults for best practices.[00:18:50] Andrew explains what Postman is and describes it as an interface for sending API requests. He also talks about the VS extension code, Thunder Client. [00:20:26] Andrew explains the benefits of using curl and jq for API requests and JSON processing. [00:21:14] We hear an example of using curl and jq to retrieve specific data from a GitHub API endpoint. [00:22:15] Julie mentions using ChatGPT as a “rubber duck” to find answers to coding questions and appreciates how it exposes her to new concepts.  [00:22:43] Andrew and Julie discuss the importance of focusing on a way to solve problems, especially for early career developers, rather than getting caught up in finding the “right” way. [00:24:26] Julie brings up Ruby for All Episode 46 that you should check out, where they discussed Single Tab Inheritance (STI).Panelists:Andrew MasonJulie J.Sponsor:GoRailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteBetter CommentsTrixLook up a Rails HTTP Status CodeThunder ClientjqPostmancurl (00:10) - Julie's concentration issues during a migration (01:41) - Andrew's use of "Better Comments" for code (03:15) - The purpose of comments in code (07:08) - Andrew's recent work and Podia launch (08:51) - Discussion of the Trix text editor and CoffeeScript (13:21) - Best practices for API response statuses (15:58) - Importance of choosing correct HTTP status codes (16:44) - Handling different types of bad requests in Rails (18:50) - Explanation of Postman and Thunder Client (20:26) - Benefits of using curl and jq for API requests (21:14) - Example of using curl and jq for GitHub API (22:15) - Using ChatGPT as a "rubber duck" for coding questions (22:43) - Focusing on problem-solving for early career developers (24:26) - Mention of Ruby for All Episode 46

    Welcome back!

    Play Episode Listen Later Oct 5, 2023 29:23


    Welcome back to a brand new season of Ruby for All! After a summer hiatus, Andrew and Julie are back and ready to catch up with each other and you! Julie kicks things off sharing her thrilling road trip up the West Coast, visits to national parks, and even some sandboarding in Oregon. Andrew shares his camping and hiking adventure to the Grand Canyon with his friend Drew Bragg, embarking on some challenging hikes, encounters with wildlife, a night of stargazing, and the importance of respecting park guidelines. Then, the conversation shifts gears with Andrew talking about launching a new email product at Podia during the summer, while Julie dives into her focus on research and architectural decisions in her work.  They discuss the challenges of making architecture decisions in software development, including the debate between Single Table Inheritance (STI) and Polymorphism, and they touch on their notetaking and knowledge retention practices. This is going to be an exciting new season, so go ahead and download this episode now![00:00:32] Julie talks about her three-week road trip up the West Coast, visiting national parks, and sandboarding in Oregon. [00:01:48] Julie's favorite park is Mt. Rainier, she tells us about going into some fun caves, and Andrew and Julie discuss hiking boots vs. hiking shoes. [00:04:15] What did Andrew do this summer besides work? He shares his camping and hiking trip to the Grand Canyon with Drew Bragg. He talks about their camping gear and hiking experience at the Grand Canyon, and some of the challenges and safety aspects of hiking there. [00:12:20] Julie and Andrew tell us some encounters they had with wildlife and locking up their food to prevent animals from getting it to it. Andrew mentions seeing aggressive squirrels and the importance of not feeding them due to disease concerns. [00:14:47] Andrew shares stories about tourists in national parks disregarding warnings about interacting with wild animals, such as petting bison.[00:16:34] Andrew talks about his work on launching a new email product at Podia during the summer and Julie mentions her current focus on research and architectural decisions on her work, regarding handling access lists between repositories.[00:18:00] We hear about some challenges Andrew's been having with architecture decisions, specifically mentioning the debate between Single Table Inheritance (STI) and Polymorphism and how changing requirements can lead to revisiting architectural decisions. [00:19:19] Andrew explains Single Table Inheritance (STI) and Polymorphism and how these concepts relate to their architectural decisions. [00:21:18] He highlights the complexity of making architectural decisions and the need to adapt to changing requirements, acknowledging that there is often no one-size-fits-all solution.[00:23:20] Julie asks about the effort required to backtrack and change architectural decisions when they realize they've made the wrong choice. [00:24:36] Julie explains the concept of backfilling data, which involves filling in missing or incomplete data. She mentions her existing data app for meetings and notes but expresses the need to redesign it for better organization, and Andrew gives her advice. [00:26:02] Julie discusses the challenge of retaining and retrieving knowledge for future reference, and Andrew shares his note-taking workflow using Obsidian and how he organizes his notes hierarchically. [00:28:05] Julie mentions her habit of keeping detailed PR notes for her work. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteObsidianSandboarding

    How We Use ChatGPT

    Play Episode Listen Later Sep 28, 2023 31:11


    Welcome to Ruby for All Season 2! This was the last episode we recorded before the break that we wanted to share.Today's episode of Ruby for All is mix of personal experiences, tech discussions, and the ever-evolving world of artificial intelligence. Andrew and Julie dive deep into their utilization of ChatGPT, an artificial intelligence tool that assists with tasks such as writing performance reviews and explaining code functions, and they envision a future where the integration of AI into workflows becomes a standard.  Andrew, a long-time AI enthusiast, brings up the topic of OpenAI's Whisper, and the exciting possibility of creating AI-driven podcast episodes. They share their experiments with AI personas and how giving a ‘character' to the AI can improve its output. Andrew and Julie also have a conversation sharing their different uses of ChatGPT. Join us as we continue exploring the fascinating world of Ruby and AI. Hit download to hear more! [00:01:18] Julie and Andrew discuss their uses of ChatGPT. Julie uses it for writing performance reviews, while Andrew is a heavy user of the tool and its API.[00:04:00] Andrew mentions the Whisper from OpenAI and the possibility of using it to recreate podcasts episodes purely from AI, using the hosts' past audio data. [00:05:37] Andrew asks Julie about her experience with Copilot, he tells us what it does, and he finds it most helpful for writing tests. [00:09:23] We hear about the use of “brushes” in Copilot labs, a GitHub project. Brushes can explain code, translate it into other languages, generate tests, and more. He also tells us about how he uses Warp.[00:11:19] Julie and Andrew agree that ChatGPT and Copilot are useful for learning and improving code, especially for those early in their careers. However, the AI can sometimes provide inaccurate information. [00:14:42] Andrew thinks using the AI to teach oneself how to code could be effective but cautions against relying solely on copy-pasting generated code. [00:16:07] Julie wonders if ChatGPT or AI is going to replace tech jobs, and Andrew doesn't believe it will.  He does mention new professions like “prompt engineering” have emerged with the arrival of AI, with high earning standards.  [00:17:58] We hear the difference between few-shot prompting and one-shot prompting in ChatGPT. Julie has experimented with asking ChatGPT to act a knowledgeable senior software engineer, and Andrew mentions the new “browsing mode” in GPT-4.[00:22:19] Andrew uses the AI for making chapter notes for the podcast, saving him a lot of time.[00:24:10] Julie uses AI to help her understand complex concepts like Redux, Sagas, and React. Andrew tells us about an app he uses called Writers Brew, which has a feature to convert summaries into bullet points, and Reader from Readwise, to analyze and summarize articles, generate flashcards, and thought-provoking questions.[00:26:11] Andrew goes through some recent questions he's asked ChatGPT recently including explaining complex code functions, creating CSS selectors, and creating titles for code snippets. [00:27:38] Julie shares a shortcut she uses that Andrew wasn't aware of, she asks ChatGPT to explain code an follows up with clarifying questions, and she uses it to develop SMART goals for advancing at work.[00:28:31] Andrew notes that ChatGPT is from OpenAI and utilizes the GPT-4 or GPT-3.5. language models, there's also Google Bard, and other language models such as, Hugging Face and AI Playground that you can explore. Panelists:Andrew MasonJulie J.Sponsors:Avo Admin for RailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteRuby for All TwitterWarpFew-Shot PromptingOpenAI WhisperGitHub CopilotGitHub Copilot LabsSimulated annealingWriters Brew Reader BardHugging FaceAI Playground (01:18) - Julie and Andrew's uses of ChatGPT (04:00) - Whisper and recreating podcasts with AI (05:37) - Julie's experience with Copilot and its helpfulness for tests (09:23) - Copilot labs' brushes and the use of Warp (11:19) - AI's usefulness for learning and improving code (14:42) - Caution against relying solely on generated code (16:07) - AI's impact on tech jobs and new professions (17:58) - Few-shot prompting and one-shot prompting in ChatGPT (22:19) - Using AI for podcast chapter notes (24:10) - Julie and Andrew's use of AI for understanding complex concepts (26:11) - Recent questions Andrew asked ChatGPT (27:38) - Julie's shortcut for utilizing ChatGPT effectively (28:31) - Other language models and resources for exploration

    Summer Vacation

    Play Episode Listen Later Jun 20, 2023 0:51


    Hey Everyone! Ruby for All is taking a summer vacation since it's been hard to juggle vacations, school being out, and other responsibilities we have going on right now. We will be back at the end of summer and can't wait to talk to you all again soon!

    Rubber Duck Dev Show Crossover with Julie J

    Play Episode Listen Later May 25, 2023 33:15


    This week the tables are turned on Ruby for All because this is a crossover episode with the Rubber Duck Dev Show with Chris and Creston, where Julie was a guest recently talking about leveling up for Juniors. Today, they explore Julie's growth as a junior developer, her experiences mentoring others, and the impact of podcasting on her career. They also touch on community building, the value of live shows, effective learning strategies, and the importance of feedback in mentoring relationships. Hit download to hear more! [00:00:34] Julie's talks about her week which consisted of adding Apple SSO at work.[00:01:44] We hear Julie's background story from being a pharmacist to learning programming and enjoying problem-solving in development. [00:03:00] Julie's been doing Ruby for All, has attended some conferences, and has done some talks, and she tells us how she's progressed in her career and if development has been everything she was hoping for in a career.[00:05:26] We hear where Julie's at in her career now, what she's interested in pursuing, and highlights how rewarding it feels being a mentor.  [00:06:59] Chris and Julie discuss the satisfaction of helping others learn and how Ruby for All and speaking at conferences has contributed to her career growth. Although she still feels nervous in from front of a microphone and doing public speaking, she loves the support she receives form collaborators.      [00:10:17] Chris talks about things he appreciates from a senior perspective, when it comes to junior devs. [00:11:45] Julie affirms that doing a podcast has positively impacted her career by allowing her to ask questions, learn from experts, and gain different perspectives.[00:13:52] Chris asks Julie what senior developers can do to help junior developers learn and progress their careers, and Julie suggests that seniors should avoid using language that discourages juniors from asking questions and shares the benefits of seniors asking recap or quiz questions to solidify knowledge. [00:17:18] Chris and Julie discuss the benefits of pairing as a toll for accelerating learning and improving code quality. [00:19:16] Julie highlights using her manager to help her figure out where her gaps are and what it takes to go to the next level, the value of setting clear goals and using smart goals to stay focused and make progress in her career. [00:23:58] Julie talks about her interest in community building and the importance of networking opportunities for early career developers. [00:24:57] If you want to reach out to Julie, she tells us where you can do that. [00:25:44] Chris expresses his interest in encouraging more live shows in the developer community and offers assistance to those interested. Julie and Chris discuss the resistance to live broadcasting in the developer community and potential reasons such as fear of failure and low attendance. [00:28:07] What is the best way to learn Ruby? Creston throws in his two cents and shares some advice. Chris suggests a good book, Why's (Poignant) Guide to Ruby, as a fun and effective resource if you're new to programming, but Ruby in particular. [00:30:42] Julie reflects on the importance of understanding how individuals learn and adapting mentoring approaches accordingly, mentioning the significance of feedback preferences. Panelists:Julie J.Chris BoothCreston JamisonSponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteRuby for All TwitterRubber Duck Dev Show Rubber Duck Dev Show TwitterWhy's (Poignant) Guide to Ruby

    Code and the Coding Coders who Code it Crossover

    Play Episode Listen Later May 18, 2023 40:26


    This week the tables are turned on Ruby for All, as our friend of the show, Drew Bragg, interviews Julie J. This was originally on Code and the Coding Coders Who Code it Podcast. If you haven't checked it out, please go smash the subscribe button. Today, Drew asks Julie J his 3 questions: What are you working on? What's blocking you? What's something cool you want to share? What are Julie's answers? Guess you'll have to listen to find out. Hint, they talk about her cool side project, Ruby for All, Rails upgrades, and some of the confusion that still exists around assets in Rails. Hit download now to find out more! [00:01:21] Julie tells us she's working on a work-related project and a side project. At work, she's been struggling to keep track of her tasks and notes so she decided to build an app called, Today app, which is a Rails/ERB views app that consolidates all her tasks, questions, standup notes, meeting details on one page, and a note section for previous discussions.[00:07:19] She started working on this project for a couple of months and has found Chat GPT helpful for quick syntax references and learning new concepts. She also uses it to quiz herself and simplify complex explanations.[00:13:00] What does Julie work with right now at work? She primarily works with Rails but has a desire to focus more on front-end development to enhance her skills in both areas, and she's been doing some React Typescript and React Native.[00:14:07] Julie tells us Codecademy is set up with a mix of front-end, full stack, and back-end. [00:14:41] Drew explains in his current work, they primarily use ERB templates and some Stimulus for their JavaScript sprinkles. His new project is transitioning to using Turbo and Hotwire for interactivity and reactivity. [00:15:56] Drew's been heavily involved in upgrading their Rails version at his job, starting from v4.1 and currently on v6.1.  He's gained experience and learned through trial and error during these upgrades. [00:18:44] Julie expresses her interest in participating in Rails upgrades at her job, as her team is currently on Rails v6.0 and Ruby v2.7. Drew gained experience and learned through trial and error during these upgrades. [00:22:21] We hear Drew's approach of limiting his to-do list to three tasks, and Julie mentions how she further limits hers to just one task in her Today app. They discuss the value of limiting tasks and the mental health benefits it may provide. [00:24:29] What kind of blockers does Julie run into? She shares how she used ChatGPT to overcome JavaScript related issues in her Today app and get unstuck. She mentions struggling with integrating JavaScript and explains how she received guidance from ChatGPT. [00:28:00] Drew discusses the confusion and complexity surrounding asset management in Rails, particularly with JavaScript. Also, it can be overwhelming for junior or early career developers trying to learn Rails since there are three different ways to manage assets.[00:32:25] RubyConf in San Diego is coming up and Julie and Drew will be attending. [00:34:20] What is something cool Julie's discovered? She tells us she spent two months learning about OAuth and OpenID connect. She also mentions using ngrok to solve the issue of testing Apple SSO locally by redirecting the local host to a ngrok URL. [00:36:41] Drew explains that ngrok is commonly used to tunnel local development environments and allows testing over HTTPS.  [00:37:34] Julie and Drew briefly discuss the deprecated gem, Paperclip, which was used for file uploads before Active Storage became the preferred open in Rails.Panelists:Julie J.Drew BraggSponsors:HoneybadgerAvo Admin for RailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteDrew Bragg TwitterCode and the Coding Coders who Code it Podcast with Drew BraggCode and the Coding Coders who Code it- Episode 17: Joe Masilotti ngrokActive StorageRuby ConferencesRubyConf 2023 (San Diego) 

    RailsConf 2023: Recapping What You Missed

    Play Episode Listen Later May 11, 2023 27:21


    On this episode of Ruby for All, Andrew attended RailsConf 2023 and talks about his experience at it, how he focused on socializing with friends and co-workers, and attended fewer talks than before. There were some great talks he heard and keynotes he really enjoyed, especially Aaron Patterson, who proposed the idea of Rails shipping its own LSP for Ruby and Rails. Also, a highlight was that this conference had a greater focus on early career developers, offering headshots and resume reviews, which was super cool.   Next year's conference will be in Detroit, and RubyConf 2023 is coming up in November in San Diego, so Julie and Andrew are both excited to attend this one and Andrew will have stickers in case you missed out. Hit download to hear more cool stuff!  [00:02:16] Andrew kicks things off telling us about RailsConf and seeing his crew.[00:04:25] Andrew mentions he attended fewer talks than before and focuses on the social aspect of meeting his friends and expresses his interest in learning more about asset management in Rails. [00:05:58] Julie asks Andrew about Sprockets, and he explains. [00:07:54] He talks about the sponsor exhibit hall at RailsConf, and talking to people from Crunchy Data, a Postgres service, and the RubyMine people from Jet Brains, which he wants to start using again. He mentions the RubyMine IDE and its features. [00:11:48] Andrew highlights Eileen Uchitelle and Aaron Patterson's keynotes, with Aaron Patterson proposing the idea of Rails shipping its own Language Server Protocol (LSP) for Ruby and Rails.[00:13:38] Andrew also enjoyed attending talks by his co-worker Vincent and Drew Bragg, which was a ton of fun.[00:15:16] Did Andrew go to any cool events? He hung out with some people for dinner, but was having major social anxiety, which caused him to stick by his friend Jason.[00:19:12] This year's RailsConf had more focus on early career developers, and he spent more time with them.  Also, Andrew met a lot of people who listen to the podcast. [00:23:26] Julie liked that the conference was focused on early career devs and wishes there was a regional conference that was geared solely to early career devs. [00:24:11] Next year RailsConf is in Detroit, and Andrew and Julie are looking forward to going to RubyConf 2023 in San Diego which will be Nov 13-15.[00:24:54] Yes, Andrew did pass out stickers at the conference, and many people asked for more. He also thanks all the sponsors that made it a success. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteSprockets RailsShopify-Ruby LSP RailsCrunchy DataJet Brains-RubyMineRuby Conferences 

    Exploring UX Research with Megan Brown

    Play Episode Listen Later May 4, 2023 32:35


    On this episode of Ruby for All, Andrew and Julie are excited to have as their guest, Megan Brown, who's a Product Manager, UX Researcher, and Julie's mentee.  In today's conversations, we'll cover various topics related to coding and career advice.  Megan tells us what UX research is, how UX Researchers and engineers have a lot in common, and she talks about the importance of user research in product development.  Also, since Megan is now in school for computer science, she shares her journey and how it started when she was working at Microsoft. There's a conversation on the importance of learning different programming languages, and some career advice for someone interested in mobile and web development. Hit download now to hear more![00:01:26] Megan gives us a brief introduction of herself, and she tells us how psychology helps with UX design, and how she met Julie, who ended up being her mentor.  [00:03:09] We hear how Megan's journey happened for her from being a project manager to UX researcher. [00:04:38] Megan explains what UX research is, the difference between UX and UI designers, and the value in having dedicated professionals in both areas.[00:07:02] Find out how you it might be useful for you to learn more about UX research, as Megan suggests that engineers can benefit from learning how to conduct their own research and she outlines some steps for conducting usability studies. [00:11:46] Julie is realizing the value of user research in her work and how it can avoid wasting time on unnecessary features or cluttering pages with links that users may not use. [00:14:18] We hear what Megan would say to the engineer who knows what the users want, doesn't need UX, and is in the early stages of this.[00:15:33] Megan is learning to code, so she shares her journey and how it started. [00:16:43] Julie tells us about the first course she's competed so far and has found that starting with Python has been more fun than starting with Java due to its ease of use.[00:17:56] There's a discussion on the importance of learning different programming languages to understand object-oriented programming and to appreciate the strengths and weaknesses of different languages. [00:21:53] Andrew, Julie and Megan have a conversation about career advice for someone who's interested in both mobile and web development, and they talk about the growing trend of mobile development and the potential for making a living as a solo developer in mobile development. [00:26:02] Even though Andrew and Julie are not mobile developers, they offer some great tips for becoming a mobile developer, such as building projects, getting internships, or apprenticeships. [00:28:09] Megan tells us what she enjoyed about working in Python, Julie gives some encouraging words for Megan, her mentee, and Andrew mentions the importance of understanding one's code. [00:31:54]  Find out where you can follow Megan online. Panelists:Andrew MasonJulie J.Guest:Megan BrownSponsors:Avo Admin for RailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteMegan Brown LinkedInMegan Brown GitHubProgressive web app

    Leveling Up: What Does It Take to Be a Senior?

    Play Episode Listen Later Apr 27, 2023 29:21


    On this episode of Ruby for All, Andrew and Julie have a conversation about being a senior software engineer and mentoring.  Since Andrew is a senior software engineer, he talks about the differences between his current and earlier roles, and what experience you need to become a senior developer.  Andrew has so much passion for mentoring, so we'll find out how he's found a lot of fulfillment, validation, and purpose in mentoring, and what important qualities are needed to be a mentor.  We'll also hear a success story of a Junior Developer that he mentored that eventually got a job as a Ruby developer, and some advice for mid-level engineers who are looking to level up. Hit download to hear more cool stuff!  [00:02:02] Andrew tells us what a typical day looks like for him as a senior software engineer at Podia, and the differences between his current role and his earlier roles.[00:04:59] Does Andrew consider himself a tech lead?[00:05:22] We hear about some challenging aspects of Andrew's role, and he talks about the people component, the planning, and there's a lot more thinking involved. Also, he tells us he's a natural leader, but it's a burden, but if you want to progress to the next step, you have to do it. [00:08:01] Andrew discusses the challenges of balancing technical work and interacting with people since he's struggling with this right now.  [00:09:14] The topic of mentorship is brought up as Andrew elaborates how he's found a lot of fulfillment, validation, and purpose in mentoring. He was assigned a mentor when he was first starting out, and he still meets with this person every week.  [00:11:52] There are some important qualities needed to be a mentor such as patience, understanding, and the ability to listen and guide someone to find their own solutions. Julie tells us about some of her favorite mentors and how they helped her. [00:14:09] Andrew tells us about an interesting part about mentoring and being a mentee, and then Julie and Andrew discuss that mentoring is about more than just technical skills, and involves communication, problem-solving, and interpersonal skills. [00:17:50] What does Andrew find more rewarding about being a mentor? How about finding something that makes you feel like what you're doing is important, and gives you purpose and value. [00:18:48] If you're thinking about becoming a mentor but don't know where to start, Andrew advises to just start, and stop worrying about whether you're going to be a perfect mentor. You don't have to have all the answers! [00:21:38] Andrew shares his story of successfully mentoring a junior developer who eventually got a job as a Ruby developer. [00:22:44] To become a senior developer, Andrew advises gaining experience in architecture, problem-solving, and communication, and being a leader and a team player. He also explains how he learned about architecture.  [00:25:32] Andrew suggests working at different companies can provide exposure to a variety of experiences and opportunities for growth. [00:28:37] We end with Andrew advising mid-level engineers to ask their managers what they can do to level up, and if that option is not available, look for other opportunities elsewhere. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. Website

    Establishing Trust and Improving Communication at Work with Josh Goldberg

    Play Episode Listen Later Apr 20, 2023 29:13


    On this episode of Ruby for All, Andrew and Julie are joined by guest, Josh Goldberg, who's an Open Source Developer and former mentor of Julie. In today's conversation, Andrew, Julie, and Josh discuss the benefits of having a good manager and how to establish trust in a manager-employee relationship. There's also a conversation on the importance of feedback and the different ways people like to receive it, as well as the importance of personal connections in the workplace, and tips for keeping track of people's preferences and goals.  Hit download to learn more now! [00:02:49] We start with Josh telling us a story about a former manager and the importance of a manager helping employees understand their strengths and weaknesses.[00:03:47] We hear some advice that Josh received that benefited him such as focusing on areas of growth that will benefit both the employee and the company. [00:04:28] What is a dependency injection and what are some benefits with it?[00:06:52] Julie, Andrew, Josh have a conversation about establishing trust as a manager with the people that you manage. They mention the value of a manger being authentic, advocating for employees, and adapting their communication style to fit individual employees' preferences. [00:10:01] If you're establishing a new relationship with a new manager, Josh gives us some steps on what to do.  He mentions a great book, Checklist Manifesto, and being a big checklist person. [00:11:58] Andrew discusses the importance of feedback from managers and the different ways people like to receive it. [00:12:32] Are you familiar with the concept of the “double down sandwich” or “feedback sandwich?” Josh explains and there's a conversation on being praised and recognized by managers, and Andrew touches on using Slackbot, and Know Your Team at Podia.[00:16:19] Some other good practices for manager managing relationships are discussed and Josh talks about using a Notion database table of everyone he talks to and to keep track of different things, and Andrew uses Obsidian for his database.[00:20:17] Julie shares that her manager writes notes and keeps track of their conversations for their one-on-ones, and she writes quarterly goals. She also mentions the acronym SMART (specific, measurable, achievable, relevant, and time bound) in relation to setting goals.[00:21:39] The topic of how to handle disagreements or problems with team members and managers in the workplace is discussed. [00:24:49] Julie, Andrew, and Josh talk about the importance of communication and advocating for oneself, and the need for managers to provide resources and support for employees to improve and learn new skills.Panelists:Andrew MasonJulie J.Guest:Josh GoldbergSponsors:HoneybadgerAvo Admin for RailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteJosh Goldberg WebsiteJosh Goldberg TwitterLearning TypeScript: Enhance Your Web Development Skills Using Type-Safe JavaScript by Josh GoldbergDependency injectionThe Checklist Manifesto: How to Get Things Right by Atul GawandeKnow Your TeamNotionObsidian

    Ruby Interviews & Community Building with Adrian Valenzuela

    Play Episode Listen Later Apr 13, 2023 22:17


    On this episode of Ruby for All, Andrew and Julie are excited to have as their guest, Adrian Valenzuela, who's a Ruby Developer, open source contributor, and maintains a tutorial blog called, Mugen Ruby.  Today, Adrian talks about how he got into web development and picking up contract gigs, which he was hired for based on his involvement in the community rather than just his skills.  He also dives into his experience and struggles with various corporate job interviews, and the different type of tests he's taken in interviews. Adrian shares advice how finding a community of people and sharing knowledge is important to overcome struggles, and how he's going to continue to write tutorials, contribute, help others, and build while waiting for a corporate job to arise. Press download to hear more! [00:00:53] Adrian talks about his background as a barber and how he got into full-time web development in 2020 due to the pandemic. [00:04:38] We find out when he started picking up contract gigs but found interviewing for corporate jobs to be a beast, his struggles with the interviews, and how he found it easier to get contract jobs through referrals or another way.[00:07:47] Julie wonders what the process was like for his contract job, how he connected with a person at RailsDevs, and explains he was hired based on his involvement in the community rather than just his skills. [00:11:35] Adrian gives us some details on how interviews are structured currently, including types of questions and assessments that are used.  He tells us about technical tests, some ghosting after taking tests, and how there's a lot of competition out there.[00:15:15] Adrian is currently working on a project implementing an MVP from scratch, and he's planning to continue writing tutorials, contributing, and building while waiting for corporate opportunities to arise.[00:17:36] If you're in the same position as Adrian and experiencing the same kind of struggles, he shares some advice on what's helped him the most.[00:21:03] Find out where you can find Adrian and his blog online. Panelists:Andrew MasonJulie J.Guest:Adrian ValenzuelaSponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteAdrian Valenzuela TwitterAdrian Valenzuela WebsiteMugen Ruby RailsDevs

    The Agency of Learning with Dave Paola

    Play Episode Listen Later Apr 6, 2023 29:54


    On this episode of Ruby for All, Andrew and Julie have joining them, Dave Paola, Founder of Sierra Rails, a Ruby on Rails Software Development Agency. Today, Dave talks about his experience coaching Junior Developers and Early Career Developers.  There's a discussion on the success of Pivotal Labs and the importance of hiring Early Career Developers in pairs.  Dave tells us about his Junior Developer Bootcamp and his aspirations to help Junior Developers kickstart their careers. Andrew, Dave, and Julie discuss the importance of hiring Junior Developers in pairs to improve their onboarding experience, and the value of retro meetings or biweekly team meetings to improve team culture and processes.  We'll also hear about Dave's experimental program, The Agency of Learning, which focuses on helping Early Career Developers prepare for their first job through a volunteer-based pilot. Press download to hear more! [00:00:55] Dave tells us a little bit about himself, why he prefers Early Career Developer versus Junior, and Julie explains why she prefers Early Career Developer.  [00:04:23] We hear a story that Dave shares about the success of Pivotal Labs, which is gone, and their great approach to hiring in pairs, starting a Junior Developer Bootcamp,  and how this evolved into him writing a book.[00:07:17] What made Pivotal Labs so prolific back in the days?[00:11:20] Dave explains why he believes in pairing Juniors together.[00:12:10] Andrew shares his pairing story when he first started out, and Dave shares a story as to why he thinks psychology has a lot to do with hiring in pairs.[00:16:16] We hear some experiences Andrew had in computer science school with people being put in impossible situations and they end up quitting, and then the positive experience he had when he started at Podia. Julie shares her school experience working in groups.[00:20:12] Dave stresses the benefits of holding weekly retro meetings to improve team culture and processes. [00:21:58] Andrew tells us at Podia they do biweekly developer meetings which he finds more helpful than weekly retro meetings. He stresses the importance of getting the team together, especially for the Juniors or Early Career Developers. Dave highlights the benefits of meetings for developers to come together and share challenges and ideas.[00:24:52] Julie tells us about her biweekly engineering meetings, where there's no leadership, but teams, and the engineers get together and just be real.[00:25:57] Dave talks about his experiment, The Agency of Learning, which is a volunteer-based pilot for Early Career Developers who are looking for their first job. He's looking for coaches, so if you're interested, please reach out to him.  [00:29:26] Find out where you can follow Dave online. Panelists:Andrew MasonJulie J.Guest:Dave PaolaSponsors:HoneybadgerAvoLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteDave Paola TwitterDave Paola LinkedInDave Paola Websitedave@sierrarails.comSierra RailsThe Agency of Learning

    We Hired a Junior Dev with Mike Munroe

    Play Episode Listen Later Mar 30, 2023 30:35


    On this episode of Ruby for All, Andrew and Julie welcome Mike Munroe, Co-founder of OBLSK, a Rails consultancy, who's here today to discuss their Junior Developer Apprentice Program. Today, we'll learn all the details about the program, the importance of having a mentor and a framework in place to guide the Junior developer's progress, and how Mike believes with the right mentorship, a Junior developer can become independent and self-sustaining within a year. There's a conversation on how remote mentorship differs from in-person mentorship, and some strategies to help Juniors ask for help. He also talks about the importance of not stressing about time, encourages the exploration of learning, and why Mike believes for Juniors to be successful there has to be passion. Press download the hear much more! [00:01:01] Mike tells us what OBLSK is and his background in programming. [00:03:10] If you want to hear about the Apprentice Program, Mike gives us all the details and how he believes it's important to invest in Junior developers and support them.  [00:08:56] We hear how Mike thinks that a Junior developer, with the right mentorship, can become independent and self-sustaining within a year. [00:12:46] Julie tells us she is good about reaching put for help when she's stuck on something but feels like many people may have a problem with reaching out,  Mike shares some tactics to help Juniors ask for help, such as asking any questions at any time, even if you think it's a “stupid question, and put code into GitHub.[00:18:04] Andrew highlights something Mike said, and he strongly believes in, is that if a Junior has a question, invite that Junior into the room for the meeting to be a part of the team. [00:19:01] Mike stresses the importance of leaders showing vulnerability and humility to make Juniors feel more comfortable.  [00:00:00] A great piece of advice Mike shares for Juniors is not letting time be a stressor, also taking breaks and pursue tangents to keep the process fun and positive.[00:24:14] We learn why Mike believes for Juniors to be successful there has to be passion.[00:26:46] With the current Junior Apprentice who's gone through the program, Julie wonders how the program has been for him, and Mike explains some of the struggles with Git and Front-End Technologies.[00:29:43] Find out where you can follow Mike on the web. Panelists:Andrew MasonJulie J.Guest:Mike MunroeSponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteMike Munroe TwitterMike Munroe LinkedInOBLSKOBLSK 30/60/90 Apprenticeship Program

    Career and ADHD Management with Celso De Sá

    Play Episode Listen Later Mar 23, 2023 28:54


    On this episode of Ruby for All, ChatGPT was down for Julie today which left her frazzled, so she brings up making pancakes, and Andrew shares his love of cooking breakfast food and wrestling with Turbo all morning. Thankfully, they have a great guest with them to brighten their day.  Today, Andrew and Julie are joined by Celso De Sá, who's a Developer for PostPilot. Celso is going to take us through the interviewing processes he's gone through as a Junior, getting his first job, the process of transferring to a new company, challenges he encountered, and tips on how he manages his ADHD. He shares an amazing system he uses for time management, and how using Basecamp Shape Up methodology helps him. We'll also hear some fantastic advice on job hunting, and the importance of networking, putting in hard work, and personal marketing. Hit download now to learn more! [00:01:38] Celso gives us a brief introduction of what he does and where he works.[00:03:21] We hear what tech he mainly works in at PostPilot.[00:04:17] Celso dives into the path of how he got into his first role, the interview process, the process of transferring to his new company, he tells us his ADHD got in the way a little bit, and a suspicious person that contacted him about a job.[00:11:43] Celso gets philosophical here and talks about how explaining his work adds to him being such an excellent candidate.[00:13:22] We hear some of the challenges Celso encountered when interviewing. He mentions having ADHD make him talk more that he should sometimes and time of day. Julie wonders if there were companies that have been more accommodating to his ADHD, and she shares a story when she applied to a job. [00:15:11] Find out the system Celso has for time management that sounds amazing. Also, he mentions discovering Marla Cummins, an ADHD Coach and listening to Dr. Huberman's Podcasts. [00:18:08] Andrew talks about a book he's reading called, Building a Second Brain, and Celso talks about how Basecamp Shape Up helps him a lot.[00:20:56] Julie wonders what helps with the stress of ending a project, and shares her struggles with completing tasks, and Celso and Andrew share their thoughts. [00:22:57] Some specific advice is shared if you're somebody that's interviewing right now, and he starts with a piece of advice he hates, but he thinks will be helpful to people.  Andrew adds to the advice talking about showing up every day, putting the work in, and just grind. [00:26:06] Did Celso ever find enough mentors that he Tweeted about? Also, he's writing an article summarizing things he thinks are helpful for anyone looking for a job or going through the process.[00:28:09] Find out where you can follow Celso on the web.Panelists:Andrew MasonJulie J.Guest:Celso De SáSponsors:HoneybadgerAvoLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteCelso De Sá TwitterCelso De Sá LinkedInPostPilotShape Up: Stop Running in Circles and Ship Work that Matters by Ryan SingerMarla Cummins-ADHD Coach & Productivity ConsultantHuberman Lab Podcast EpisodesBuilding A Second Brain 

    From Bootcamp to Community Advocate and Mentor

    Play Episode Listen Later Mar 16, 2023 27:30


    On this episode of Ruby for All, Julie recently decided to go back to the gym, and Andrew has been chilling and focusing on things in his life that he hasn't taken care of. But today, we're going to have fun, like we do every episode, and Andrew is going to interview Julie and ask her questions about being a Junior Developer and get her honest insight into things Juniors are going through. We'll find out what Julie's job was before she became a coder, her Bootcamp experience, challenges she had at her first job, struggles with programming and how she overcame them, and the importance of networking and asking questions. Hit download to hear more! [00:02:13] How long has Julie been writing Ruby on Rails?[00:03:04] Julie shares her journey from being a Pharmacist to becoming a coder. [00:04:03] What did Bootcamp do well at teaching Julie and what could have been better? [00:06:31] When did Julie start to fall in love with programming? Also, she tells us about Code in Place, and her final project she built, which was Tetris. [00:08:48] Julie tells us she wouldn't change anything about bootcamp, and she explains how her experience with interviewing was like.[00:11:31] We hear some of the challenges Julie had at her first job right out of bootcamp, and one of the high ones was imposter syndrome. [00:13:45] Find out when Julie first started getting into the Ruby community and when she joined WNB.rb.[00:14:34] Andrew explains he had no community when he first started in Ruby, so he got into podcasting and conferences. [00:15:36] Julie and Andrew met ten months ago at RailsComp 2022, and Julie shares how the past year has been, as well as her favorite moments. [00:18:11] We hear some of Julie's struggles with programming over the past year and how she overcame them, and how Andrew became aware of Julie through her Tweets.[00:20:55] Julie has something to say about sharing learnings, and she shares advice to the person out there who's in the same place she was, either right before or right after going to bootcamp, and the first thing out of the box is network.[00:23:24] We end with Julie telling us how people have told her they appreciate her asking questions and why that's so important, and Andrew praises her for her work in the community, mentoring people, and starting a book club. Panelists:Andrew MasonJulie J.Sponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteCode in Place 2023 WNB.rbWNB.rb GitHubWNB.rb TwitterRailsConf 2023100 Days Of Code

    Development Gems

    Play Episode Listen Later Mar 9, 2023 26:43


    On this episode of Ruby for All, Andrew aka the “VS Code Whisperer “ and Julie are excited to start something new and fun! Join Andrew and Julie as they dive into the world of Development Gems that they like to use in development and testing. Some of these gems that you use in development are things that enhance your life and make things easier. Today, they discuss Faker, Annotate, Bullet, letter_opener_web, standard, brakeman, and rails-erd. If you don't know about some of these gems, then this episode is perfect for you. Also, find out why Andrew says to not install a gem unless you need it.  Press download now to hear more! [00:01:08] Let's start things off with a favorite of both Julie and Andrew, and that is the gem Faker, which generates fake data.  We hear how Julie and Andrew use it.[00:03:44] Do you know about the Annotate gem? Annotate Rails classes with schema and routes info.  Andrew loves this one and he explains what it does. Julie can't wait to install this gem now that she knows about it.  [00:06:00] Andrew tells us about rack-mini-profiler which is a profile and toolkit for rack applications with Rails integration.  Julie wonders if it's on every file and if there's files that won't have this, and Andrew explains what he likes to use it for.  [00:11:09] The next development gem is Bullet, which is an N+1 detection gem, and we'll learn what an N+1 problem is, and he explains what :includes is in Rails.[00:14:29] Andrew mentioned there was a Honeybadger adapter and clarifies that you can add notifications to Honeybadger. Julie reveals she never looked at her Rails logs before, and she wants to get better about looking at them since it's so important.[00:17:11] We'll talk about the development gem, letter_opener_web, which gives an interface for browsing sent emails. [00:19:51] The next development gem is standard, which is a linter, and Andrew installs on every single app, gem, or Ruby project. He loves it and uses it for everything! [00:20:53] Julie wonders if standard is different from RuboCop and if you hit save, does it automatically update it for you.[00:22:03] Let's talk about the brakeman gem, which is a security analysis tool. We'll hear why this one is highly recommended by Andrew.[00:23:03] Andrew loves the rails-erd development gem, which is a tool that will generate an entity-relationship diagram (ERD) for your entire application. He doesn't use it every day but installs it when he needs it.[00:25:23] Here's some advice for the day from Andrew: “Don't install a gem unless you need it.”Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerAvoLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteFakerAnnotateRack-mini-profilerBulletA Visual Guide to Using :includes in Rails (Gusto) letter_opener_webstandardbrakemanrails-erd

    Debugging Rails: Essential Tools and Where to Start

    Play Episode Listen Later Mar 2, 2023 26:47


    Ruby For All – Episode 32On this episode of Ruby for All, it's raining a lot by Julie, chilly outside by Andrew, and  Andrew's birthday is this week! Happy Birthday, Andrew!  Since it's a new month, Andrew and Julie decided to talk about debugging. So today, they'll be discussing various debugging tools for troubleshooting Rails applications such as binding.irb, binding.pry, puts debugging, the new debug gem, web console, RubyMine, and VS Code debugger. Also, they talk about when to bring in help when a problem has taken too long, and they share advice on the importance of not assuming the cause of the problem, isolating the issue, and taking breaks. Debugging can be difficult and hard to figure out what happened, but always remember, practice makes perfect! We hope you enjoyed this episode!  Hit the download button now! [00:01:23] Andrew is ready to go and asks Julie what she does when she gets that red Rails error screen, and he tells us he reads in chunks.[00:02:11] What debugging tools does Julie use? She explains using binding.irb or binding.pry. Andrew tells us he uses pry a lot, and some others are puts debugging, a new debug gem that's in Ruby 3, and Web Console.[00:06:15] We hear about the debugger, RubyMine and the new debug gem that Andrew likes. He tells us he's huge binding.pry user since it comes naturally to him, and there's a video by Justin Searls you should check out. [00:07:37] Has Julie ever run into a bug that fixes itself when you restart the server? What did Julie do? Andrew brings up the spring gem that he's used, but it didn't work the way he wanted it to.   [00:09:12] Julie shares an instance where she worked for hours on a bug, finally give up, walked away, went to bed, came back, and it was fixed.  [00:12:32] Andrew has one more thing to tell us relating to doing puts debugging, and he tells us what he likes to do using ActiveSupport Deprecation.[00:14:11] Using Sandbox mode is brought up which is a great way if you're debugging in production, and Andrew tells us one of the hardest parts of debugging is recreating a certain thing and brings up a problem a customer who had with a bug and asked Julie where she would start. Andrew shares a third party service nightmare story with a debugging adventure. [00:17:48] Julie brings up a great question and wonders at what point do you bring another team member on to help you debug. [00:21:20] Julie and Andrew discuss using different browsers to figure out things.[00:24:28] As a junior, Julie doesn't look at the network tab and the log and wonders if Andrew looks at them. He explains he uses the debugging tools in the browser and the network tab all the time. Panelists:Andrew MasonJulie J.Sponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. Websiteputs_debuggerer 0.13.1debug.rbWeb ConsoleRubyMineSetup ruby/debug with VSCode by Stan LoDebugging Ruby on Rails with Visual Studio Code by Justin SearlsSpring 1.7.2ActiveSupport DeprecationRuby for All Podcast-Episode 4: Getting Unblocked

    Favorite Ruby Methods: Part 4 - Enumerables + Bonus Methods

    Play Episode Listen Later Feb 23, 2023 37:58


    On this episode of Ruby for All, Julie tells us she's fostering a seven week old puppy and having lots of fun, and Andrew reveals he would love to get a dog in the future. Also, it's the end of the month and you know what that means?  Andrew and Julie are wrapping up their February series on Ruby Methods, so first up, they'll be discussing the module Enumerable since Andrew learned more about it, we'll find out about polymorphic record, and then on to the object methods tally, partition, sort by, send, is_a, itself, respond_to, .methods, .tap, strftime, and integer.digits. Thanks for joining us on this journey and we hope you enjoyed this series as much as we did! Download this episode now to hear more! [00:01:15] Julie and Andrew share how they both felt about this series, and how they love all the support they've been getting from the listeners. [00:03:10] Andrew kicks things off with explaining module Enumerable since he couldn't explain what it was the other week, he has since learned about it, and now you can too. [00:05:00] Aside from array and hash, Julie wonders if there are other objects that might pull the enumerable in, like set?[00:07:32] Julie explains the object method tally, which returns a hash containing the counts of equal elements, and we hear some examples.[00:08:52] What is a polymorphic record?[00:10:37] Andrew tells us why he likes flat map, and Julie shares it's very readable and when she learned to use it[00:13:01] Our next object method is partition, which Julie explains she hasn't had a chance to use it in practice, and we hear what it does. [00:15:30] The next object method is sort by, with a block given, returns an array of elements of self, sorted according to the value returned by the block for each element. The ordering of equal elements is indeterminate and may be unstable.[00:17:29] Andrew likes the next object method send, which invokes the method identified by symbol, passing it any arguments specified. When the method is identified by a string, the string is converted to a symbol. Andrew explains this one in depth. [00:22:33] The next object method is called is_ a, also an alias for kind of, which returns true if class is the class of object. [00:24:45] Julie put the next object method on the list and Andrew didn't even know about it! The next object method is itself, which returns the receiver. If anyone knows how to use itself in practice, please let Julie and Andrew know. [00:25:52] The next object method is respond_to, and when you should use this.[00:27:43] The next object method is .methods, that returns a list of all the methods that are available to that object, and Andrew uses this for debugging.[00:29:28] Coming up now is the object method .tap, which yields self to the block, and then returns self. The primary purpose of this method is to “tap into” a method chain in order to perform operations on intermediate results within the chain. Julie asks Andrew to explain what strong parameters are and what tap does.[00:33:05] Julie's been using this next object method called strftime, which formats time according to the directives in the given format string. She shares a great resource she used to build, Andrew tells us that Rails has formatted strings, and a website made by Andy Croll. [00:36:45] We made it to the last object method which is integer.digits, and this returns an array of integers representing that number. Panelists:Andrew MasonJulie J.Sponsors:AvoHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. Websitemodule Enumerabletallyflat mappartitionsort bysendis_aitselfrespond to.methods.tapstrftimeinteger digitsFOR A GOOD STRFTIMERails DateTime Formats

    Favorite Ruby Methods: Part 3 - Strings

    Play Episode Listen Later Feb 16, 2023 22:32


    On this episode of Ruby for All, Andrew and Julie are having an ADHD day since Andrew's had a lot going on with work stuff and Julie's been hyperfocused learning about the mobile app. But that won't stop them from discussing their favorite Ruby Methods. Today, they're excited to talk about the basics of Strings in programming because Andrew loves a good string. They'll be discussing the Ruby Methods chomp, strip, split, valid_encoding, sub, gsub, slice, delete_prefix, and swapcase. Although some of these may seem pretty hard to understand, they hope after listening you'll have a little better understanding of the fundamentals of a String. Go ahead and download this episode now! [00:01:50] We start with the String method chomp, which returns a new String with the given record separator removed from the end of string. This is one of the first methods Julie learned when she was learning Ruby. [00:03:37] When does Andrew use chomp? Also, he tells us how strip is different from chomp, and Julie shares an annoying thing about space after the email.[00:06:26] The next method is split, which divides the string into substrings based on a delimiter, returning an array of these substrings. Andrew shares an example.[00:10:21] On to method valid encoding, where Andrew explains why the valid encoding we want in Ruby is UTF-8, and he tells us how they were getting errors in their error monitoring service in Honeybadger. [00:13:21] Moving on to the next method sub, which returns a copy of self with only the first occurrence (not all occurrences) of the given pattern replaced. Julie gives us a great example. [00:14:22] The next method is gsub, which Andrew uses more than sub, and we find out how gsub is different from sub and the main difference being it replaces all occurrences. Andrew mentions a great article to read (link below) that talks about gsub with a block. [00:15:49] Our next method is slice, which returns the substring of self, specified by the arguments, and Julie mentions that string slice is an alias for string brackets and Andrew did not know that! Does Andrew use slice or bracket?[00:18:39] Delete_prefix is the next method and a little easier to understand. It returns a copy of string with leading prefix deleted. Andrew gives an example. [00:20:38] Julie really likes the last method which is swapcase. Why does she like it? Andrew thinks it's one of those fun Ruby methods. Panelists:Andrew MasonJulie J.Sponsors:GoRailsHoneybadgerLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. Websitechompstripsplitvalid_encodingsubgsubUsing Ruby's gsub with a block-Bozhidar Batsovslicedelete_prefixswapcase

    Favorite Ruby Methods: Part 2 - The Hash

    Play Episode Listen Later Feb 9, 2023 30:16


    On this episode of Ruby for All, Julie tells us she's working on a new app and she's calling it “Today,” which is going to help her organize her day-to-day tasks. We're also continuing with our February series talking about different object types in Ruby and our favorite methods with them. Today, we're talking about the Ruby Hashes, such as merge, fetch, dig, .new, values, transform values, reject, key?, and compact. Hash is so important for Ruby developers, because the more you know, the better you can write. Julie tells us how she couldn't grasp the Hash object when she first was learning Ruby, and Andrew shares his journey of learning other programming languages before learning Ruby and how it helped him appreciate Ruby. After today, he's happy to know when to use dig now! Julie and Andrew hope this episode helps you like it's helped them! Download this episode now find out more!   [00:01:13] Since Julie's been building a new app for herself to stay organized daily, she tells us about playing around with ChatGPT, and Andrew explains ChatGPT is trained better on source code and other things.[00:03:10] Andrew talks about GitHub's Copilot and what it does.[00:03:55] Our February series is continuing with talking about different object types in Ruby and we're starting with a Hash, which is a dictionary light collection of unique keys and their values. Also called Associative Arrays, they're similar to Array, but where an array uses integers its index, a hash allows you to use an object type. Julie wonders if the key can be any object.[00:10:29] Andrew goes into Hash merge, which returns a new Hash formed by merging each of the other hashes into a copy of self, and he explains why you would merge.[00:12:26] Andrew uses this next one constantly, Hash fetch, and this one returns the value for a given key if found. Julie seems to like this one, and if you're building a lot of components, you should check this out. [00:15:13] Julie brings up Hash dig, which extracts the nested values. We also learn Andrew doesn't use Dig a lot because he can never remember when he's supposed to use it! [00:16:45] The next one is Hash.new, which returns a new empty hash object. Julie and Andrew tell us more about this one. If anyone has a use case for Hash.new and passing in, please let us know. [00:20:20] Hash values at is the next one, and this returns a new array containing the values for the given keys. Andrew thinks he could use this more than he does. [00:22:34] Julie explains Hash transform values, which returns a new hash object, and each entry has a key from self, a value provided by the block. How can you use this?[00:24:28] Next one is Hash reject, which returns a new hash object whose entries are all of those from self for which the block returns false or nil. Julie asks Andrew if we're rejecting the keys, values, or either.[00:26:14] We made it to the last two for today! Andrew and Julie discuss Hash key? and Hash compact. Julie likes compact because it's nice to be able to remove anything with no values.Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerAvoLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteGitHub CopilotHash mergeHash fetchHash digHash newHash values atHash transform valuesHash rejectHash key?Hash compact

    Favorite Ruby Methods: Part 1

    Play Episode Listen Later Feb 2, 2023 31:01


    On this episode of Ruby for All, Andrew and Julie discuss the cold temps where they live, their preferences for warmer temps, using layers to cope with the changing temperatures, and their experiences with snow sports.  For the month of February, get ready because Andrew and Julie are doing something fun! They'll be going through some of their favorite Ruby methods all month on every episode, focusing on a different type of object type.  Today's methods they discuss are map, flatten, uniq, shuffle, sample, count, any, and all. And, if that's not enough, they also talk about Spaceship Operator and enumerator. If they missed your favorite array or they didn't explain something well, let them know on Twitter. Download this episode now! [00:05:11] Andrew and Julie want to make February fun, so they tell us what they're doing and how Julie came across this idea. [00:06:32] Let's start with Andrew's favorite method, the array object, which is map.[00:08:46] Array flatten is another one Andrew likes and he explains what it does, as well as flat map. Does flatten work on nested arrays?[00:11:20] Julie tells us flatten passing in zero just returns the same way and explains what she noticed when using methods, and Andrew had no idea that you could pass level to flatten until now. [00:12:15] The next method is uniq, which returns a new array, but only the ones that are not duplicated. Julie wonders if you can pass in a parameter or a block with this.[00:15:54] Andrew doesn't use this next method a lot which is shuffle, and this returns a new array with the elements of self-shuffled, self being the array this is called on. Did you know you can pass random to it? [00:16:40] Julie brings up the next method which is sample on an array. Sample returns a random element from the array, and we hear she used shuffle and sample in practice.[00:18:20] The last method is count, which returns the count of specified elements, and if you don't pass it a block or an argument, it will return the count of all elements. [00:20:55] When would you want to use a SQL count query versus not? Andrew talks about a great article you can check out on ActiveRecord, and to clarify, dot length is something you would NOT want to use with ActiveRecord, use size. [00:22:02] Julie tells us she will use size and not worry if it's loaded or not and Andrew reads something from an article Nate Berkopec wrote. [00:22:46] The next method is min/max which returns a two-element array containing the minimum and the maximum value, and Andrew does his best to explain what Spaceship Operator and enumerator are.[00:28:17] Julie touches on some other methods, these aliases for example, maps alias is collect, and filter select, inject, reject, detect, and inspect.  There is one more array that Julie brings up which is any, all, none where you can pass the any method and a block, and it will return true if any one of the elements met that criteria.Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerGoRailsLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. Website3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present-by Nate Berkopec of speedshopRuby's Spaceship Operator-Tech Talent South

    Common Pitfalls for Junior Ruby on Rails Developers

    Play Episode Listen Later Jan 26, 2023 30:22


    [00:01:29] Julie and Andrew tell us what the hardest part of learning Rails was for them. [00:02:03] Andrew explains what to test and not to test, provides examples, and mentions the Shoulda gem.[00:04:48] Julie wonders if there's a way create data in your tests without adding to the database and Andrew explains using Factory Bot's build_stubbed.[00:07:54] Fabricate gem is brought up since Julie uses that and she wonders how to name the variables for the stubs and mocks.[00:11:11] Have you ever modified data in production, and do you know about Sandbox command? Julie has used it and Andrew tells us why you should use it. [00:13:32] Julie wonders if there's anything she needs to be concerned or careful with using that Sandbox flag. [00:14:40] Andrew “the cowboy coder” shares what he did with modified data in production. [00:16:21] Impersonation is explained as Andrew shares his tip to have a different colored nav bar, Julie explains how she added colors on each Chrome bar for her kid's accounts, and there's a new color thing in Safari where it modifies the appearance. [00:18:17] The topic of using a ton of instance variables and not using enough objects is discussed, and if you're using current users instance variables, check out CurrentAttributes.[00:21:39] What is a Decorator and how do you wrap a post in it? Andrew talks about a Decorator gem called Draper, explains what a service object does, and where he puts it in his directory. [00:27:19] We hear some other examples of a Service Object, and one is using it to create a Zoom session. [00:28:21] Julie wonders what happens if you're working with someone who is strongly passionate against what you are strongly passionate about, and code keeps getting moved around or shifted because of that. Panelists:Andrew MasonJulie J.Sponsors:HoneybadgerAvoLinks:Andrew Mason TwitterAndrew Mason WebsiteJulie J. TwitterJulie J. WebsiteChatGPTShouldaUse Factory Bot's build_stubbed for a Faster Test Suite-thoughtbotHow to use Fabricate-gem to generate objects? -Stack OverflowUser ImpersonateSafari Menu Bar Theme Color MatchActiveSupport::CurrentAttributesDraper: View Models for Rails

    The Database Wizard with Andrew Atkinson

    Play Episode Listen Later Jan 19, 2023 28:38


    Timestamps[01:19] Andy tells us a bit about himself, and how his journey led him to becoming a database specialist.[03:17] How do you pronounce SQL? Andy explains why he pronounces it the way he does and what SQL actually stands for.[04:38] Have you ever wondered if PostgreSQL is faster than MySQL? What goes into measuring database performance?[10:19] Andrew asks Andy to dive deeper into transactions and locking in Rails which leads into a longer discussion around what locks are.[17:08] Julie asks Andy why he prefers PostgreSQL over MySQL and how he arrived at that position.[20:46] Andrew asks Andy what pgbouncer is and why you may want to add it to your application and when.[22:51] Julie asks Andy a database archictecture question about when you should use join tables instead of Array or JSON columns.[27:18] As the show winds down, Andrew asks Andy to come back on the show soon so they can keep discussing this topic. SponsorGoRailsHoneybadgerLinks- Andy on Twitter- Andy's Website- MariaDB- PostgreSQL- MySql- Rails Pessimistic Locking- Rails Optimistic Locking- Heroku- Capistrano- Fly.io- Kubernetes- Amazon RDS- pgbouncer

    Integrations with Brittany Martin

    Play Episode Listen Later Jan 12, 2023 28:17


    Timestamps[00:45] Brittany Martin, co-host of the Ruby on Rails Podcast and engineering manager, joins the show and introduces herself to folks that may not know her yet.[02:00] Brittany asks Julie what her experience with integrations has been so far in her career and explains what integrations in software are.[08:15] Brittany explains what webhooks are and ties it to Julie's integration example and why they are beneficial for your customers.[11:40] Julie asks Brittany about websockets.[16:30] Julie and Brittany discuss a presentation she recently gave and how Brittany feels about slide decks. [18:40] Brittany talks about retrying webhooks and why they are important for your customers.[20:00] Julie asks about how Brittany deals with questions that may come in after presentations and they also talk about wikis.[22:40] Brittany talks about how she gets started with creating integrations and what you should look for from existing gem integrations. Do you like writing gems or Rails code better?[26:45] Brittany explains why it's beneficial for juniors to learn more about integrations early in their career.SponsorHoneybadgerLinks- Brittany on Twitter- The Ruby on Rails Podcast- CircleCI- googlepay gem

    What's Going on in 2023?

    Play Episode Listen Later Jan 5, 2023 22:11


    Timestamps[00:30] Do you set New Years resolutions? Andrew and Julie talk about whether they set them for themselves and the problems they have had with them in the past.[03:27] Julie asks Andrew if he is a proactive or reactive person and how she wants to be more proactive in 2023 and the pair talk about deadlines.[07:00] Julie and Andrew share their goals for 2023. What are your goals?[13:10] Andrew is learning Swift and Vim and Julie is trying to increase her React skills.[19:30] Julie shares a sneak peak at some upcoming episodes you can look forward to in 2023.SponsorGoRailsLinks- Ruby 3.2.0 Released- The Well Grounded Rubyist- Swift Playgrounds

    Work Processes

    Play Episode Listen Later Dec 29, 2022 27:37


    Timestamps[2:04] Julie begins to explain her work process to Andrew before the pair tear off into a tangent on Agile vs Watefall methodology[07:15] Julie talks about she points stories and Andrew reveals he doesn't use a point system currently, but has in the past. What are your thoughts on changing story points?[13:02] Retros anyone? Andrew and Julie talk about project meetings and how to make sure everyone is able to contribute and the tools they use for them.[16:39] Andrew talks about the way he is currently working at Podia and how it's a bit different from how he's worked in the past.[19:30] Do product managers need to be technical? Who should assign points to projects?[23:30] Standups! Andrew doesn't have a lot of meetings and Julie details the types of meetings she usually has. Andrew also reveals why he wakes up at 4:30am each morning.[26:49] Andrew knows this wasn't the greatest explanations of Agile and opens the door to any guests interested in coming on the show to do a deep dive on Agile.SponsorGoRailsLinksWhat is Agile?Waterfall MethodologyFigJamparabolPodia's product process by Spencery FryArt of Product Podcast #161: The Podia Operating System

    Reading Source Code with Daniel Colson

    Play Episode Listen Later Dec 22, 2022 31:48


    Timestamps[00:45] Daniel Colson is our guest today and gives a brief introduction. He is also a FactoryBot maintainer and explains what it is.[02:40] Andrew is curious about the relation to Music majors and programming and Daniel has some ideas on it.[03:20] How much of your time is spent reading code? Daniel talks about the different types of code programmers often have to read and the benefits that come along with it. Andrew explains why he reads a lot of source code and how it made him better at code review.[06:30] Do you copy and paste code without always understanding it fully? You aren't alone! Daniel has some suggestions for trusting your curiosity and how he likes to read gem source code and how the tests can provide lots of clues. [13:38] Daniel has been reading the Ruby source code and dives into the why and his journey into learning C.[20:20] How do we test the performance of code? Daniel suggests using benchmark-ips for Ruby code and why evaluating performance is important. [23:10] Julie asks if Ruby Under a Microscope would be a good book for juniors to read. [25:40] Daniel believes in a concept called "flipped classroom", which he explains and how it applies to learning programming. He also explains how he would prefer to give more interactive conference talks, which Julie and Andrew both encourage.[29:20] Daniel has a new library for profiling FactoryBot that you will definitely want to check out!SponsorSpecial thanks to Andy Croll for personally sponsoring this episode. Be sure to check out firstrubyfriend.org and onerubything.com for nice, free community resources for newer devs!LinksDaniel on GitHubRuby Under a Microscopebenchmark-ipsTestProffactory_bot_profile

    The Holidays - Unleash Your Empathy and Spread Good Cheer

    Play Episode Listen Later Dec 15, 2022 31:31


    Timestamps[00:38] Julie and Andrew talk about exercising, home workouts, and video games[06:15] The holidays are approaching and we are a little SAD. Can your GitHub commit graph be used to notice changes in mood?[07:40] Andrew brings up the how the weather affects his mood.[08:55] Julie finds it harder to focus when it's rainy and cold[09:45] Find out what "Tech the Halls" is and why Andrew is really excited for December and what he will be doing at Podia this month[11:15] Julie participated in a hackathon recently and really enjoyed it[12:00] Do you control what you focus on at work? Andrew really likes companies that give their developers time to work on personal itches, open source, and increase their learning.[13:30] Curious what Andrew is building for "Tech the Halls"? He describes the problem and solution to Julie.[18:20] Julie asks about serverless functions and Andrew claims he doesn't want to talk about them before proceeding to try and explain what they are from a high level.[20:50] We are back to talking about the holidays and how to make it more fun for your team. Small gestures can go a small way![23:45] It's a stressful time of year so empathy and grace are the messages that Andrew and Julie want you to spread.[28:45] Julie asks one last question before they sign off about discussing allocating time for these types of projects with your managerSponsorGoRailsLinksHeroku Docs: App WebhooksAWS LambdaServerless Functions on Vercel[YouTube] Kids Crash Live TV Interview

    GitHub Codespaces & Julie's RubyConf Mini Recap

    Play Episode Listen Later Dec 8, 2022 25:44


    Timestamps[00:45] Andrew recaps pairing with Collin and some other folks over the weekend on an open source PR[2:40] Andrew launches a discussion around GitHub Codespace configs for open source projects and how that would have made his life easier. Julie also brings up Tuple as another great tool for pairing[5:15] Julie brings up trying to use Codespaces to pair on Rails, which does have a configuration file [6:00] Andrew gives a basic explanation of what Codespaces, why it's helpful, and some of the struggles he's had with it[10:45] Julie gives Andrew a recap of RubyConf Mini[11:40] Andrew and Julie talk about feeling down after conferences[14:00] Julie talks about why flying is stressful for her and how she got a lucky break on her flight home from the conference[17:00] Julie talks about the speaker dinner prior to the conference and some of the other events she attended[18:30] Julie talks about giving her talk. And don't worry! She had a nodder![20:00] Julie talks about being on the conference panel that you all heard last week[22:00] Andrew wants to hear about the food and Julie delivers![23:30] Julie gives her final thoughts on the conference and Andrew advocates for doing more local conferencesSponsorSpecial thanks to Andy Croll for personally sponsoring this episode. Be sure to check out firstrubyfriend.org and onerubything.com for nice, free community resources for newer devs!LinksTupleGitHub CodespacesUsing Codespaces with VS Code

    BONUS! The Rubyconf Mini Podcast Panel

    Play Episode Listen Later Dec 1, 2022 40:37


    About this EpisodeLive from Providence, RI, it is the Rubyconf Mini Podcast Panel! Panelists from different community podcasts come together to discuss their experiences at the conference, field questions from the audience attendees and of course, mention their upcoming talks they were giving at the conference. Moderated By:Brittany Martin, The Ruby on Rails Podcast Panelists: Andy Croll, Chats in the Cupboard Drew Bragg, Code and the Coding Coders who Code it Joël Quenneville, The Bikeshed Julie J, Ruby for All A special thanks to the organizers of Rubyconf Mini for making this panel happen: Jemma Issroff, Emily Samp and Andy Croll.

    Claim Ruby for All

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel