Podcast cover

Brains & Beards Show

Wojciech Ogrodowczyk, Brains & Beards, Patryk Peszko
20 episodes Β  Last Updated: Dec 15, 23
Patryk and Wojciech from Brains & Beards use their combined 25+ years of professional experience to discuss programming, building teams, workflows and everything else that it takes to deliver great mobile applications (in React Native, or otherwise).

Episodes

https://brainsandbeards.com/Key Moments:Documentation comes in different forms like code comments, README files, external documentation in Confluence, and architectural decision records (ADRs).Code comments can become outdated over time as the code changes, so it's better to rely on clear naming, TypeScript types, and unit tests to document code.README files should focus on project-specific setup instructions rather than general language/framework documentation, and link to external docs when possible.External documentation is better suited for business context, team decisions, and diagrams that involve multiple teams. It's easier for others to contribute to compared to code docs.Using a shared terminology ("domain language") is important for communication between teams working on the same codebase or product. This vocabulary should be documented.ADRs are useful for documenting past architecture and design decisions in case they need to be revisited. They improve decision making and prevent rehashing the same discussions.Writing documentation forces one to better understand a topic. Developers should practice writing to improve their communication and learning.Tests can double as a form of documentation, like regular expressions explained through example test cases.Commit messages should be concise and avoid too many changes in one commit to allow for informative messages.TypeScript's "expect error" is better than "ignore" for documenting expected errors in code. πŸ‘‹ Visit us on https://brainsandbeards.com/ 
https://brainsandbeards.com/Key Moments:Mobile development teams have responsibilities beyond just writing code, such as providing guidance on design, UX, platform best practices, and APIs.Mobile developers should proactively communicate with other teams like design, product, and backend to ensure mobile needs are met.Designers may not be aware of mobile constraints, so developers should point out issues and suggest better solutions.Developers add value by understanding business needs and constraints around payments, analytics, and security rules.Developers should help educate other teams on the latest mobile changes to avoid outdated approaches.APIs need to consider mobile use cases around battery life and offline usage.Versioning, deprecation, and error handling are especially important for mobile APIs.Automating workflows can save significant time spent on manual tasks.Mobile teams can build internal tools and services to streamline their work.Change logs and release notes should have useful information for users, not just be technical. πŸ‘‹ Visit us on https://brainsandbeards.com/ 
Find us on https://brainsandbeards.com/The hosts discuss their daily work setups and what equipment they use, including standing desks, laptops, external monitors, headphones, microphones, and other accessories.One host uses a standing desk to avoid sitting for long periods and stays engaged by walking while in meetings or working.Their laptops of choice are MacBooks for iOS development. One also uses an iMac Pro but it has started freezing.Other items mentioned include pens, a Rubik's cube for focusing, an external SSD for extra storage space due to limited internal storage, and a cloudlifter microphone amplifier to reduce noise.A mechanical keyboard is used for programming tasks, with custom key mappings for shortcuts.An external hard drive is used for video editing projects and backups due to large file sizes.A multi-channel audio interface and microphone setup provides easy, high-quality and noise-free podcast recording.A separate webcam is used for higher quality video calls compared to laptop cameras.Photos and decorations on the desk provide smiles and breaks from work.The hosts discuss focusing on technical development tips or sharing more of their work environments and setups in future episodes based on listener feedback. πŸ‘‹ Visit us on https://brainsandbeards.com/ 
You can find us on https://brainsandbeards.com/You can find our course on https://brainsandbeards.com/mrnKey MomentsThe podcast discusses a new online course called "Maintainable React Native" which teaches developers how to build maintainable architecture for mobile apps through practical examples and techniques delivered via weekly emails.The course covers major topics like handling remote data, state management, design systems, and mobile DevOps from the perspective of ensuring long*term productivity and software maintainability.The course is aimed at experienced React Native developers but does not require expertise in specific tools or libraries.Symptoms that the course may benefit a developer or team include productivity declining as codebase grows, difficulty understanding data flow, and lack of architectural vocabulary.Completing the course will teach developers how to structure codebases that can be modified without slowing down, avoid unnecessary complexity, and explain architecture clearly.The instructors have extensive experience with over 20 React Native projects and have seen how codebases and teams evolve, providing valuable lessons.The course considers both technical and non*technical aspects like communication, project structure, and handling changing requirements.For now, the course is free to join and provide feedback to help shape its content as it is still in development.The instructors have experience not just with frontend development but also backend development, providing a full-stack perspective.While the technical content is a focus, architectural decisions also require considering flexibility, trade-offs, and how choices may limit future options. πŸ‘‹ Visit us on https://brainsandbeards.com/ 
You can find us on https://brainsandbeards.com/Key Moments:React Native allows separating native app skeletons from JavaScript business logic bundles, providing opportunities for faster updates without app store reviews. Code pushing allows remotely delivering JavaScript bundle updates to users without app store reviews.Bundles can be replaced on the fly to test features before merging code.Developers can validate work locally before merging to avoid broken builds.Multiple bundles can be hosted for different teams to test features independently.Bundles are detected and restricted to avoid crashes from incompatible native changes.Build times increase significantly with large apps, slowing down testing.Automation saves developer frustration from manual tasks and support burdens.Infrastructure costs for hosting bundles can be reduced by building custom solutions.Remote bundle loading allows selecting different bundles from an in-app menu for testing. πŸ‘‹ Visit us on https://brainsandbeards.com/ 
Wojciech and Patryk are talking about recent quirks of the Internet. In this episode, we focused mostly on the infosec news, as there were plenty of disturbing discoveries in this space.Links from the show:https://downfall.page/https://www.righto.com/2013/09/intel-x86-documentation-has-more-pages.htmlhttps://robins.one/notes/uninstall-the-nightowl-app-now.htmlStealing Keystrokes Through Sound - https://www.youtube.com/watch?v=-gDrgj7AOQgMost promoted and blocked domains among Kagi Search user - https://kagi.com/stats πŸ‘‹ Visit us on https://brainsandbeards.com/ 
In this solo episode Wojciech discusses a pet peeve of his - separating styles from JSX in React Native components. Too long, didn't listen? Read the blog post instead: https://brainsandbeards.com/blog/2022-locating-styles-in-react-nativeThis podcast is sponsored by Brains & Beards, a development studio dedicated to helping companies create better mobile applications faster. If you want to support us, there are two things you can do:If you have a colleague or a friend that needs help on mobile app dev side, send them to brainsandbeards.com to check if we can help and get in touchIf you, or a friend, is looking for a new job, why don't you reach out. We're always looking for engineers interested in working on cross-platform mobile apps (usually in React Native)You can send us feedback or new episode suggestions via email: podcast@brainsandbeards.comPeace α••(ᐛ)α•— πŸ‘‹ Visit us on https://brainsandbeards.com/ 
Wojciech & Łukasz discuss the benefits, implementation tips, and potential pitfalls of normalising app state in your React Native mobile app α••(ᐛ)α•—This podcast is sponsored by Brains & Beards, a development studio dedicated to helping companies create better mobile applications faster. If you want to support us, there are two things you can do:If you have a colleague or a friend that needs help on mobile app dev side, send them to brainsandbeards.com to check if we can help and get in touchIf you, or a friend, is looking for a new job, why don't you reach out. We're looking for engineers interested in working on cross-platform mobile apps (usually in React Native or Flutter) who are also comfortable with native mobile app developmentYou can send us feedback or new episode suggestions via email: podcast@brainsandbeards.comPeace α••(ᐛ)α•—  πŸ‘‹ Visit us on https://brainsandbeards.com/ 
This podcast is sponsored by Brains & Beards, a development studio dedicated to helping companies create better mobile applications faster. If you want to support us, there are two things you can do:If you have a colleague or a friend that needs help on mobile app dev side, send them to brainsandbeards.com to check if we can help and get in touchIf you, or a friend, is looking for a new job, why don't you reach out. We're looking for engineers interested in working on cross-platform mobile apps (usually in React Native or Flutter) who are also comfortable with native mobile app developmentYou can send us feedback or new episode suggestions via email: podcast@brainsandbeards.comPeace α••(ᐛ)α•— πŸ‘‹ Visit us on https://brainsandbeards.com/ 
This podcast is sponsored by Brains & Beards, a development studio dedicated to helping companies create better mobile applications faster. If you want to support us, there are two things you can do:If you have a colleague or a friend that needs help on mobile app dev side, send them to brainsandbeards.com to check if we can help and get in touchIf you, or a friend, is looking for a new job, why don't you reach out. We're looking for engineers interested in working on cross-platform mobile apps (usually in React Native or Flutter) who are also comfortable with native mobile app developmentYou can send us feedback or new episode suggestions via email: podcast@brainsandbeards.comPeace α••(ᐛ)α•— πŸ‘‹ Visit us on https://brainsandbeards.com/