
Author:
Subscribed: 0Played: 0Subscribe
Share
Description
Episodes
Reverse
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
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
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
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
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
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
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
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 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
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
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!
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
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)
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
(02:16) - RailsConf highlights and socializing with friends
(04:25) - Interest in learning about asset management in Rails
(05:58) - Andrew explains Sprockets
(07:54) - Visiting sponsor exhibit hall and highlights of Jet Brains
(11:48) - Keynote highlights from Eileen Uchitelle and Aaron Patterson
(13:38) - Enjoying talks by co-worker Vincent and Drew Bragg
(15:16) - Dealing with social anxiety at the conference
(19:12) - More focus on early career developers at RailsConf
(23:26) - Andrew met listeners of the podcast at the conference
(24:11) - Upcoming RailsConf and RubyConf dates
(24:54) - Stickers and sponsor thanks at RailsConf
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
(01:26) - Introduction and psychology's role in UX design
(03:09) - From project manager to UX researcher
(04:38) - Understanding UX research and its value
(07:02) - Benefits of engineers learning UX research
(11:46) - Value of user research in product development
(14:18) - Convincing an engineer of the importance of UX
(15:33) - Megan's journey into learning to code
(16:43) - Julie's experience with learning Python
(17:56) - Importance of learning different programming languages
(21:53) - Career advice for mobile and web development
(26:02) - Tips for becoming a mobile developer
(28:09) - Enjoyment of working in Python
(31:54) - Where to follow Megan online.
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
(02:02) - Typical day for a senior software engineer
(04:59) - Is Andrew a tech lead?
(05:22) - Challenging aspects of Andrew’s role
(08:01) - Balancing technical work and people interactions
(09:14) - The importance of mentorship
(11:52) - Qualities needed to be a mentor
(14:09) - Mentoring beyond technical skills
(17:50) - Rewards of being a mentor
(18:48) - Advice for becoming a mentor
(21:38) - Successfully mentoring a junior developer
(22:44) - Becoming a senior developer
(25:32) - Exposing yourself to different opportunities
(28:37) - Leveling up as a mid-level engineer
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
(00:00) - Intro
(02:49) - The importance of understanding strengths and weaknesses
(03:47) - Focusing on areas of growth that benefit both employee and company
(04:28) - Benefits of dependency injection
(06:52) - Establishing trust as a manager
(10:01) - Steps to establishing a new relationship with a new manager
(11:58) - The importance of feedback and different ways people like to receive it
(12:32) - The "double down sandwich" or "feedback sandwich"
(16:19) - Good practices for manager-managing relationships
(20:17) - Setting goals and keeping track of conversations
(21:39) - Handling disagreements or problems with team members and managers
(24:49) - Communication and advocating for oneself
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
(00:00) - Background as a barber turned developer
(04:38) - Struggles with corporate job interviews
(07:47) - Hired based on community involvement
(11:35) - Interviews structure and types of tests
(15:15) - Building and contributing while waiting for corporate opportunities
(17:36) - Advice for overcoming job search struggles
(21:03) - Where to find Adrian and Mugen Ruby online
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
(00:00) - Introduction
(00:55) - Early Career Developers versus Junior Developers
(04:23) - The Success of Pivotal Labs
(07:17) - Hiring in Pairs
(11:20) - Pairing Junior Developers
(12:10) - The Psychology of Pairing
(16:16) - Challenges Faced by Early Career Developers
(20:12) - Improving Team Culture and Processes
(21:58) - Biweekly Developer Meetings
(24:52) - The Agency of Learning
(29:26) - Conclusion
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