POPULARITY
Scott and Wes are here to guide you through the world of React Server Components, shedding light on the intricacies of Form Actions and Server Actions. Get ready to level up your React skills as they discuss the ins and outs of these powerful features and share their expert advice on optimizing your applications. Show Notes 00:00 Welcome to Syntax! Show 718 React Server Components. 02:04 Brought to you by Sentry.io. 03:04 What are form actions? GitHub Add React.useActionState PR 04:05 Almost entirely React. 04:31 What is the ‘server' in Vanilla React? 06:10 Would React ever ship their own server? 07:29 What are actions? 08:34 Two huge benefits to actions. 08:45 Avoid custom useEffects or third party libraries. 09:17 Calling server code from the client without any APIS. 11:31 Some examples of actions. 12:54 Can these actions be done in a client component? 13:40 Where to use actions. 13:49 On a form submit. 15:30 In an event handler. 15:57 In a useEffect(). 17:13 How to actually use an action. React Hooks 17:30 useActionState() hook. 18:49 The state of the action. 19:35 The bound action. 19:46 The pending state. 23:16 useFormStatus() hook. 24:38 Action inputs. 26:13 Server vs client. 28:30 This is not PHP. 30:31 What is optimistic UI? 33:26 useOptimistic() hook. 37:02 Some final thoughts. 40:18 Sick Picks + Shameless Plugs. Sick Picks Good Follows: Alex Katt. Scott: Tiny Portable Ultra-Mini Air Pump. Wes: AVerMedia 4k Capture Card. Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott:X Instagram Tiktok LinkedIn Threads Randy: X Instagram YouTube Threads
React a 10 ans. 10 Ans de Révolution dans le Développement Web avec Amélie Benoît (@AmelieBenoit33) et Manuel Cartier (@neolectron). Enregistré le 04 mars 2024 Téléchargement de l'épisode LesCastCodeurs-Episode-309.mp3 React a 10 ans, longue vie à React ! Dans cet épisode, nous avons comme invités Amelie Benoît et Manuel Cartier. Les deux explorent l'évolution de React au cours de la dernière décennie, mettant en lumière ses principaux principes et son impact sur le développement web. Amélie et Manuel discutent des caractéristiques fondamentales de React, comme la composition des composants et l'utilisation de la virtual DOM, ainsi que des tendances émergentes telles que l'adoption de React Hooks, et les React Server Components. Enfin, nous avons ses conclusions sur l'avenir de React et son rôle continu dans le paysage du développement web. Amélie Benoît Amélie Benoit est une développeuse web avec une expérience d'environ 10 ans dans le domaine. Son expertise se concentre principalement sur React et React Native, qu'elle maîtrise tant en JavaScript qu'en TypeScript. En plus de son travail de développement, Amélie est une entrepreneuse communautaire active. Elle a fondé deux Meetups, dont l'un est dédié à React & React Native, démontrant ainsi son engagement envers la diffusion des connaissances et le développement de la communauté. Elle a également organisé des conférences, notamment lors de l'événement BDX I/O. Elle a aussi été oratrice a Devoxx France parmi d'autres conférences. Actuellement, Amélie occupe le poste de tech lead manager chez Busbud, une scale-up canadienne spécialisée dans la comparaison et la vente de billets de bus inter-cités en ligne. Son rôle en tant que leader technique et manager la place au cœur des opérations de développement et de gestion de projet au sein de l'entreprise. Grâce à son expertise technique, son engagement communautaire et son leadership, Amélie Benoit apporte une contribution significative au monde du développement web et de la technologie. Manuel Cartier Manuel est un développeur passionné, initié à l'art du code dès l'âge de 13 ans. Animé par cette passion précoce, il entreprend des études en développement de logiciels et gestion de projets, couronnées par l'obtention d'un BTS. Son parcours exceptionnel le conduit à se distinguer dès 2015 à l'école “42” de Paris, où il se classe premier parmi tous les candidats. Avec une solide expertise en C++, Manuel s'investit dans l'encodage vidéo et audio chez Ateme, contribuant ainsi à un transcodeur utilisant des bibliothèques faites maison, équivalentes à x264. Passionné par la diffusion en direct, il partage régulièrement ses connaissances en informatique et donne des cours de développement web sur Twitch et YouTube. Toujours avide d'apprendre et de repousser ses limites, Manuel se lance actuellement dans l'exploration de Rust, encouragé par la migration des projets C++ vers Rust chez Facebook. Parallèlement, il explore le développement d'applications mobiles avec Ionic Framework et AngularJS, expérience acquise lors de la création d'une start-up en 2015. Son dernier rôle en tant que développeur Fullstack chez SigFox lui permet d'approfondir sa compréhension des mécanismes de l'IoT. Aujourd'hui, son attention se porte sur l'écosystème JavaScript et l'amélioration de l'expérience utilisateur, ainsi que sur le rendu 3D sur le web avec des technologies innovantes telles que Three.js et React-Three-Fiber. Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
David Khourshid, founder of Stately, talks about the “weird stuff” in React and how developers can better utilize the framework and understand its quirks. Links https://twitter.com/DavidKPiano https://github.com/davidkpiano https://www.linkedin.com/in/davidkpiano https://codepen.io/davidkpiano We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: David Khourshid.
In this episode we cover the newest core web vital, "Interaction to Next Paint". This is a full introduction to web vitals in general, what Interaction to Next Paint is, what it's replacing, how it's measured and more. This is a big shakeup to performance measurement so listen up! Joe's learning is somehow related to GeoGuesser again, Evan says "Falcon" way too many times and also randomly complains about React Hooks.
Richard talks to Scott Trinh about the design of the React Hooks API - what motivated it, what tradeoffs it introduced, and what design priorities it reveals about React as a whole.
I just went through react hooks workshop and I don't know weather I understood concepts well or I just went through material. I want a general approach to similar situations.EpicReact.dev learning club schedule templateHow to approach imposter syndrome
React Hooks can seem great, but when it comes time for testing, they can point out issues. Daniel Afonso, Dev Advocate at OLX, teaches us how to reconfigure how to test React applications to work better with React Hooks. Links https://twitter.com/danieljcafonso https://www.danieljcafonso.com https://github.com/danieljcafonso https://www.linkedin.com/in/daniel-afonso-523a13155 https://danieljcafonso.medium.com Tell us what you think of PodRocket We want to hear from you! We want to know what you love and hate about the podcast. What do you want to hear more about? Who do you want to see on the show? Our producers want to know, and if you talk with us, we'll send you a $25 gift card! If you're interested, schedule a call with us (https://podrocket.logrocket.com/contact-us) or you can email producer Kate Trahan at kate@logrocket.com (mailto:kate@logrocket.com) Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket combines frontend monitoring, product analytics, and session replay to help software teams deliver the ideal product experience. Try LogRocket for free today. (https://logrocket.com/signup/?pdr) Special Guest: Daniel Afonso.
Sam and Ryan chat about how to avoid a flicker of content on initial render due to mismatched server/client rendering. They also chat about the pros and cons of React Hooks, and using StackBlitz containers to debug OSS issues.Topics include:0:00 – Intro1:46 – Ryan Florence's tweets about Hooks, useEffect and refs18:12 – How to avoid SSR/CSR rendering mismatches when your initial render depends on client-side APIs37:40 – Using StackBlitz for reproduction in open source45:17 – Isolated app development environments with JavaScript containersLinks:Ryan Florence's tweets on HooksDan Abramov's replyReact beta docs on bugs found from double renderingReact beta docs on bugs found from re-running EffectsStackBlitzChangelog episode with Ryan Dahl about Deno Deploy as a platform
In this Hasty Treat, Scott and Wes talk about the past 499 episodes of Syntax, what have been the most downloaded episodes, their favorite episodes, and the sickest of sick pics. Sentry - Sponsor Attend Dex If you want to know what's happening with your code, track errors and monitor performance with Sentry. Sentry's Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up. Payments Hub - Sponsor There are hundreds of payments processing companies out there. Hit up developer.paymentshub.com/syntax to learn more about how Payments Hub Developers not only processes ecommerce and in-person payments, but also boards and underwrites your merchants in as little as 90 minutes. We are currently offering Syntax listeners who become new partners 6 months free data through our Business Reporting API! Show Notes 00:28 Welcome 01:44 Sponsor: Sentry 03:28 Sponsor: Payments Hub 04:36 20 million! 05:57 Our current recording process Libsyn 09:09 Top 10 episodes 162 - The Fundementals JS 92 - React Hooks 158 - The Fundamentals HTML + CSS 66 - The React Episode 44 - How to Learn New Things Quickly 198 - How to Get Better at Problem Solving 20 JavaScript Array and Object Methods to make you a better developer 188 - The Fundamentals - Server Side 174 - How to Build an API 120 - Gatsby vs Next 18:00 Our favorite episodes 193 - Spooky Stories 400 - Horror Stories 2021 250 - Scott Teaches Wes Svelte and Sapper 60 - Undocumented Web 23:00 Questions from Twitter Twitter questions Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets
2022年のモダンウェブフロントエンドまでに至る歴史、SPA、CSR、SSR、SSR Streaming、React Server Component などについて語っていただいたエピソードです。 話したネタ モダンウェブフロントエンド勉強会を開催しました そもそもWebページのダウンロードって、どう始まった? JavaScriptがマウスカーソルをキラキラさせていた時代 Ajaxの登場や、jQuery フロントエンドMVC、Backbone.js、Knockout.js Reactは何が革命的だったのか? 手続き型の実装は何が辛かったのか? SPA(Single Page Application) MPA(Multi Page Application) CSR(Client Side Rendering) サーバーサイドがJSONを返す時代へ History API SPAが抱える課題は? レシピページのOGP画像を動的に生成する SSR(Server Side Rendering) と Next.js Hydrate は何を意味する? SSG(Static Site Generation) とは? Jekyll と Hugo ISR(Incremental Static Regeneration) とは? Vercel へのデプロイ SSR が抱える課題は? SSR Streaming とは? Streaming HTML と Selective Hydration Suspense Component algebraic effects とは React Hooks とは? Class Component の課題は何だったのか? React Hooks のモチベーション React Server Component とは何か? 今Webアプリを作るならどんな構成にするか? Meety
In this episode I have a very interesting conversation with Tapas Adhikary about React Hooks. What they are, why you'd want to create custom ones and what are the best practices around doing that.Contact TapasTwitter: https://twitter.com/tapasadhikaryYouTube: https://www.youtube.com/tapasadhikaryGitHub: https://github.com/atapasLinkedIn: https://www.linkedin.com/in/tapasadhikary/Some interesting linksShowcase: https://www.showwcase.com/atapas398React Play: https://reactplay.io/Review Us!Don't forget to leave a review of the episode or the entire podcast on Podchasers!Meet our host, OpenReplay:OpenReplay is an open-source session replay suite, built for developers and self-hosted for full control over your customer data. If you're looking for a way to understand how your users interact with your application, check out OpenReplay.
An airhacks.fm conversation with Jack Franklin (@Jack_Franklin) about: A thick, chunky Dell Laptop, Playing Tycoon, creating a soccer website with DreamWeaver, learning PHP and CSS, learning python, Java and prolog at the university, writing Rails code, the popularity of Ruby on Rails, Python vs. Ruby, switching from Angular to React, Angular 1 vs. Angular 2, backward compatibility and React, React Hooks, hooks vs. lifecycle methods, starting at Google Chrome Dev Tools Team, working on Chrome Performance Insights, Chrome Dev Tools is a Web Application, from custom framework to Web Components and lit-html, Chrome SDK manages state, Polymer was chatty, lit-html is a tagged template literal, lit-html performs partial updates, the bar for using frameworks gets higher, lit-html optimises the rendering, console.begin and console.end for better developer experience, lit-html is used in Chrome, what happens if FaceBook looses interests on React, what is the worst case scenario for loosing a dependency, using Chrome's ninja and rollup.js for bunding, Chrome supports import maps, chrome -custom-devtools-frontend storybook for WebComponents, adding JS-comments with JSDoc for type annotations for better refactoring in plain ES 6, any and unkonwn in typescript, Performance Insights panel lowers the bar for website optimizations, the Chrome Recorder generates pupeteer script, the Recorder panel is also implemented with Web Components, big UI features are implemented as Web Components, Jack's post: "Why I don't miss React: a story about using the platform", Jack Franklin on twitter: @Jack_Franklin, Jack's blog jackfranklin.co.uk
Questions? Comments? Find out more on our site podcast.unrulysoftware.com (https://podcast.unrulysoftware.com). You can join our discord (https://discord.gg/NGP2nWtFJb) to chat about tech anytime directly with the hosts.
Property-based testing is for people who do not like to write unit tests. Instead of providing examples, you provide a fact that should hold true for any possible input, and let the test framework, fast-check in this case, generate random inputs for you. In this live demo session, Jan shows how to use this for even more complex UI testing with a TodoMVC that uses React Hooks. Presenter: Jan van Brügge
Property-based testing is for people who do not like to write unit tests. Instead of providing examples, you provide a fact that should hold true for any possible input, and let the test framework, fast-check in this case, generate random inputs for you. In this live demo session, Jan shows how to use this for even more complex UI testing with a TodoMVC that uses React Hooks. Presenter: Jan van Brügge
タイムライン 00:47 DateRangePickerコンポーネントでイケてる日付選択体験の実現 10:02 React Hooksでstateとdataの処理を一元化: 再利用可能なコンポーネントへの道 関連リンク (AlgoliaのWebサイト) Code Exchange (日本語ブログ) DateRangePickerコンポーネントでイケてる日付選択体験の実現 (英語ブログ) Creating a better date-picking experience with the DateRangePicker component (GitHubリポジトリ) Duet Date Picker (日本語ブログ) React Hooksでstateとdataの処理を一元化: 再利用可能なコンポーネントへの道 (英語ブログ) Centralizing state and data handling with React Hooks: on the road to reusable components
Let's help you invest in your new CSS Property. (Get it?) In this episode, Jack and Paige sit down with CSS property extraordinaire, Colby Faycock, for React Roundup Round 2! They all discuss how to make CSS get along with React and others, what awesome things Cloudinary does, and how to properly enter the CSS world if you're a React user. “React and CSS are two different concepts, but they can definitely play nicely.” - Colby Fayock In This Episode 1) How to make CSS properties play nice with JavaScript and React 2) The BEST way for React users to enter the CSS world in 2022 3) Why companies like Cloudinary are showcasing THIS awesome part of CSS properties Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links How to Create CSS Custom Properties That Dynamically Update with React & JavaScript - Space Jelly (https://spacejelly.dev/posts/how-to-create-css-custom-properties-that-dynamically-update-with-react-javascript/) 1-Line Layouts (https://1linelayouts.glitch.me/) Picks Colby- Ozark (https://www.imdb.com/title/tt5071412/) Jack- Micro State Management with React Hooks (https://amzn.to/33JQtYX) Paige- Watch 1883 Season 1 | Prime Video - Amazon.com (https://amzn.to/3JIgxCQ) Special Guest: Colby Fayock.
Could a flight attendant or lawyer become a developer? You bet! In this episode, the React Roundup team talks with Mikael (Mickey) Petersen, a flight attendant turned lawyer turned developer who believes your background doesn't define you. They all discuss what you NEED to know about WebGL and canvasses, the pros and cons of Svelte vs. React, and the biggest developments that you should already be following. “I realized my passion is between problem solving and creativity. Coding is a creative outlet, and I always love learning new stuff.” - Mikael (Mickey) Petersen In This Episode 1) Why Mickey believes ANYONE can become a developer regardless of their background 2) What you NEED to know about working with WebGL and canvasses in React this year 3) How Svelte is an EXCELLENT choice for starting out (but why React is better at higher levels) 4) The BIGGEST developments in 2022 that you oughta be following by now Links Three.js with React Hooks (https://javascript.plainenglish.io/three-js-with-react-functional-component-9e66e08dbeac) Sponsors Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/?utm_medium=podcast&utm_source=reactroundup&utm_campaign=devchat&utm_content=homepage) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Jack- Plastic bags to organize your house Mikael- Wheel of Time (14 book series) (https://amzn.to/3JqcFGG) Paige- Watch Don't Look Up | Netflix Official Site (https://www.netflix.com/title/81252357) TJ- Pokémon Legends: Arceus (https://legends.pokemon.com/en-us/) Special Guest: Mikael Petersen.
This episode is all about hooks within React: useState, useEffect, useReducer, useContext, useRef, useMemo, and useCallback.SponsorsVercelVercel combines the best developer experience with an obsessive focus on end-user performance. Their platform enables frontend teams to do their best work. It is the best place to deploy any frontend app. Start by deploying with zero configuration to their global edge network. Scale dynamically to millions of pages without breaking a sweat.For more information, visit Vercel.comZEAL is hiring!ZEAL is a computer software agency that delivers “the world's most zealous” and custom solutions. The company plans and develops web and mobile applications that consistently help clients draw in customers, foster engagement, scale technologies, and ensure delivery.ZEAL believes that a business is “only as strong as” its team and cares about culture, values, a transparent process, leveling up, giving back, and providing excellent equipment. The company has staffers distributed throughout the United States, and as it continues to grow, ZEAL looks for collaborative, object-oriented, and organized individuals to apply for open roles.For more information visit softwareresidency.com/careersDatoCMSDatoCMS is a complete and performant headless CMS built to offer the best developer experience and user-friendliness in the market. It features a rich, CDN-powered GraphQL API (with realtime updates!), a super-flexible way to handle dynamic layouts and structured content, and best-in-class image/video support, with progressive/LQIP image loading out-of-the-box."For more information, visit datocms.comShow Notes0:00 Introduction4:55 What was before React Hooks5:14 Class Based Components5:28 Functional Components6:19 Experience with Classes9:14 Benefits of React Hooks11:31 useState16:17 Sponsor: DatoCMS17:11 useEffect22:37 useReducer29:22 useContext32:42 Sponsor: ZEAL33:34 useRef35:42 useMemoWeb Dev Simplified, useMemo in 10 MinutesBen Awad39:08 useCallbackWeb Dev Simplified, useCallback in 8 MinutesBen Awad41:15 Sponsor: Vercel42:08 Grab Bag Questions42:27 Question #1: useState vs useContext44:28 Question #2: How can we pause rendering?46:51 Question #3: useRef vs. useState and in what condition will useState cause an infinite loop?48:19 Question #4: Do you actually use useCallback and useMemo?49:44 Question #5: What are some powerful ways you guys have used custom hooks within React?Custom Audio Player on YouTube51:44 Question #5: Forms with mobX, useState, mvvm, and Validation52:50 Picks and Plugs53:01 Amy's Pick: Paper Like Screen Protector53:26 Amy's Plug: SelfTeach.me YouTube Channel53:37 James's Pick: iPad Keyboard Case54:52 James's Plug: James Q Quick on YouTube
SponsorThis week's episode is sponsored by ExtraStatic. ExtraStatic is a hosting service for Svekyll blogs. Svekyll blogs combine the simple conventions of Jekyll with the incredible power of Svelte. Check it out at ExtraStatic.com.DescriptionWe talk with Chris Toomey of the Bike Shed podcast about him and is teams bet on Svelte at Sagewell FinancialMusicIntro music by Braden Wiggins a.k.a. Fractal (braden@fractal-hq.com)Notes Sagewell Financial Style Directive Const Block Shawns IE11 Article Inertiajs Temporal and Sidekiq Unpopular Opinions Antony: Wordle can either use a .co.uk domain or use us-english words, not both! Kev: SQLite is amazing Scaling SQLite to 4m QPS on a Single Server A future for SQL on the web Hosting SQLite databases on Github Pages Ansiwave BBS Swyx: Brian Holt's unpopular opinion - React Hooks don't scale Chris: Developers shouldn't call themselves “Framework X developer” but rather “Web Developer” Picks Kev: Camo - using your iPhone as a webcam Antony: Stath lets flats Swyx: Obsidian and swyx's second brain Chris: Cleanshot X
In this Hasty Treat, Wes and Scott talk about how to do things in Svelte. Sponsor - Freshbooks Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the "How did you hear about us?" section. Sponsor - LogRocket LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It's an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax. Show Notes 00:28 Welcome 02:18 Lead pipe talk 04:33 Sponsor: Freshbooks 05:05 Sponsor: Logrocket 06:34 Intro to Svelte 07:44 Get Local State running Writable-stores 10:47 Arrow functions 11:53 Functions that update state React Hooks in Svelte React Use Svelte Store 14:36 Live / Reactive Variables 17:03 Context 20:45 Conditional rendering 24:57 Input binding 28:02 Should Wes rewrite his video player in Svelte? 30:07 Child elements 32:10 Vercel hires Rich Harris Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets
In this episode we discuss everything you need to know about react hooks in ReactJS. Host: Heshan Jayasinghe, Associate Technical Lead @ 99x Speakers: Gangesh Rajkumar, Software Engineer @ 99x Thank you for tuning in. Follow our channel for new tech-related podcasts every Thursday!
React is a JavaScript library for building user interfaces and is one of the most widely used libraries to date. Last season we discussed the basics of React and today we’re going to dive into the more advanced aspects of the library. Let’s get started. Episode Notes [04:16] React Hooks [22:28] State Management [26:43] Design Patterns [40:39] Performance [49:33] Testing [51:15] Prop types and TypeScript [55:21] Shoutouts Resources Getting Hooked On React - https://www.ladybug.dev/episodes/getting-hooked-on-react?rq=react React patterns - https://reactpatterns.com/ React Chrome Developer Tools - https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi react-window - https://react-window.now.sh/#/examples/list/fixed-size react-virtualized - https://bvaughn.github.io/react-virtualized/#/components/List Methods of Improving & Optimizing Performance In React Apps - https://www.smashingmagazine.com/2020/07/methods-performance-react-apps/ React Testing Library - https://testing-library.com/docs/react-testing-library/intro/ Enzyme - https://enzymejs.github.io/enzyme/ Jest - https://jestjs.io/docs/en/getting-started A Complete Guide to useEffect - https://overreacted.io/a-complete-guide-to-useeffect/ Use Refs Sparingly - https://blog.logrocket.com/why-you-should-use-refs-sparingly-in-production/ Presentational and Stateful components thoughts - https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0 Episode with Angie - https://www.ladybug.dev/episodes/teaching-code Kent C. Dodd’s Testing React - https://testingjavascript.com/ TypeScript book Stefan Baumgartner - https://typescript-book.com/ Playground Inspector Tik Tok - https://www.tiktok.com/@lukedonkin/video/6898240190133980418?lang=en Transcript https://github.com/ladybug-podcast/ladybug-website/blob/master/transcripts/69-intermediate-react.md
After this podcast recording, I wrote Technical Community Builder is the Hottest New Job in Tech which went into further detail on my thoughts on Community! Audio source: https://www.heavybit.com/library/podcasts/developer-love/ep-15-learning-in-public-with-shawn-swyx-wangSHOW NOTES Geoffrey Moore's Crossing the Chasm /r/ReactJS Taming the Meta Language by Cheng Lou Avis is No. 2. We Try Harder Metcalfe's Law Reed's Law Clubhouse CMX Udemy The Community Fund Working in Public by Nadia Eghbal Hacking Communities by Laís de Oliveira Prettier Transistor.fm Stripe TRANSCRIPTPatrick Woods: Awesome. Swyx, thanks so much for coming on the show today.I'm really excited to have this conversation.I'm sure lots of folks are aware of who you are and probably follow you on Twitter, but for those that don't, would you mind giving us a little bit of an overview about who you are and what you're working on?Shawn "Swyx" Wang: Sure. Thanks for having me on.Been enjoying the podcast, and this is my second Heavybit podcast alongside JAMstack radio.So I'm Shawn, I also go by Swyx, that's my English and Chinese initials.It's a complicated history, but I was at Netlify, passed through AWS and most recently just left AWS to join Temporal.And have been primarily active in the front-end/ serverless space.And I've been very interested in this whole idea of developer experience.I did not know to call it developer love until I came across Orbit.And I think Orbit's model is fascinating and really nails it.But to me, the way I've been breaking down developer experience is developer tooling and developer communities.So kind of straddling both.I was a moderator of r/ReactJS subreddit, going from about 40,000 members to over 200,000.Recently stepped down from that to help run the Svelte society, which is the community organization for the Svelte framework. And I think it's just a magical thing to be able to enable a community around a certain technical topic. Patrick: Yeah. Thanks for the overview.So you mentioned developer experience as a concept and a practice that you're very interested in.What do you think led to that point for you?Swyx: Honestly, it was Netlify branding their developer relations people as developer experience engineers, which I was pretty skeptical about, because if you are devrel, just say your devrel, don't try to put some unique spin on it.But then I think they really envisioned something bigger than traditional devrel, which was building our integrations and also working on community building, which is not like me talking to everyone, but also enabling others to talk to everyone else.And so I think many to many is a really noble goal.It's very challenging obviously, because you have to influence without any formal authority, but it's also a very appealing goal economically, because then you don't have to scale their number of employees linearly with your number of users, which I think makes a lot of sense.Patrick: So you mentioned developer experience for you is really comprised of tooling and communities.Can you talk a little bit about the relationship between those two pillars?Swyx: I don't know if I have a formal relationship in my head.The framework that I come from is actually from Cheng Lou, who used to be on the React Core team.I think he's on the Reason or ReScript core team now. And he gave a talk at Facebook's internal conference called Taming The Meta Language, and the argument of that--And it's a very good talk. I recommend people check it out.The argument on that talk was essentially that every programming language or every framework has a core and a periphery, and the more developed it gets, the core which is kind of like the code that runs, is a smaller and smaller part of it.And really the middle language starts to go around it, which involves tutorials, docs, workshops, community, jobs, third party libraries, yada yada.And so in his original slides, he had a long list of these things that are wrapping around a very popular framework, which for him was reacts, but you can extend this to basically anything.But for me, I think it essentially just breaks down to, okay, the code that is not core but makes all the developer experience much better, so that's the developer tooling, and then developer communities, which is all the people around the code, which isn't core to the code, but makes using that code a lot better.So it's just code and people.Patrick: Yeah. I love that.So as a project or a framework grows the core, maybe it becomes smaller as a percentage of the overall footprint with the periphery, the middle language increasing.What's that tipping point look like, do you think, when it switches from code to community being the bigger part?Swyx: Yeah. This is something you can tie in to Geoffrey Moore's idea of Crossing the Chasm.So for people who haven't heard about this, it's like a five stage adoption process going from 0% of the total population to 100% of the total population.And then it's a bell curve from 0% to a 100%.So the early stage is kind of the hobbyists, like super early adopter types.The only thing that they care about is this is cool.I can hack on this in the weekends, and this is technically better on some basis, right?Like in theory, I really want this thing to exist. I look at all the existing solutions out there and none of them fit me, because I have very specific needs.And they don't need a lot of documentation.They don't look for other people like, is this used in production by some big company that I recognize.They don't think about stuff like that. They're just like, does this fit a very specific need that I have?That's it. If it does, good. That's enough for them.But the majority of people don't work like that. Right?They do want to see documentation. They want to see a thriving job market.They want to see that like whatever, Netflix has used this in production.All that stuff that's not core to the code, but does provide some measure of faith that this is tested at scale, that this is reliable and dependable and a good technical bet. As you go from early adopters, you cross the chasm into the early majority and the late majority. The requirements of the early adopters versus the majority are very different. The earlier adopters require a lot less essentially handholding. I'm not trying to demean the people in the majority.They just have different needs for that specific domain.And the people in the majority are more conservative, probably as a good measure of technological conservatism.You don't bet early on everything because you're going to get burned.So I think it just makes sense to bet early on some things where it really, really counts, and then just be conservative, use boring technology on everything else.But it does make a lot of sense that the crossover is a very challenging thing.Because when you start a framework, when you start a programming language, you're just like one person or like a small team just hacking away, right?You just care about the code and making it run fast or more securely, or have special features that nothing else in the world has.That's great. And then suddenly a community grows around you and then they're asking for things like, "Can you make better docs? Can you integrate with my thing? This doesn't work well with my existing worlds."And you're like, "Okay, sure. I want you to be happy."But that takes you further and further away from just working on the thing itself.So I think as a project grows in importance and adoption by the majority of the community, you start to embrace different parts of the population with different needs.And I think that that's the crossover point. I don't have a number for you, but people typically peg it at--I don't know, 5% or 10% of the population where it really starts just crossing over already.Because there are a lot of people in the middle.Patrick: Thinking about your experience with the React subreddit, what were some of the learnings or observations you had as that community scaled through those different phases?Swyx: It's a challenging one because Reddit is a constraint format.It's essentially a link aggregator with a voting and some comments.So, JavaScript is the largest programming language and React is the largest framework within JavaScript.Arguably there's some other measures.But when you have such a large community like this in a constraint format where basically only one link or one question can be in the top position when you sort by up votes, then there's a matter of what target audience do we want to target?Because there are a lot more beginners than there are advanced people, but people come for engaging events, knowledgeable conversations.So there's always this tension between, there's a lot of beginners who don't know any better and we should be welcoming to them, of course.But at the same time, if we make it too beginner-focus, the events will go away, and it will lose its quality.So there's a very challenging tension.One of the ways in which we solve that is to basically contain the beginning of questions to a dedicated thread.And that's something that I did when I was starting out.Basically the promise you make is that you will answer every single question that goes in there, which is a step up from stack overflow, where you can ask a question and it just gets crickets.Patrick: All right.Swyx: And so that contains the beginner questions and allows other types of contents to come up, which can be more advanced.And you try to make the two extremes happy, even though you can never really do a fantastic job.So there are other ways, for example, you can forge the community and create as specifically beginner focused one.But then you get what you get, which is that there won't be that many experienced people frequenting that subreddit, therefore the answers may not be as good, or you just have a glut of people asking questions and nobody's around to answer them.Patrick: Yeah. In terms of tactics, were you the one answering the questions in the beginner thread or were there other moderators that jumped in or did the community help out?Swyx: I started doing that. So there were some months where it was like 500 pushes and answers, and the vast majority of them were me.Patrick: Wow.Swyx: And it's not so bad, once you find repeats, then you can just copy and paste.But I think when you're leading the community, you do have to lead by example, and then people who see what you're doing in the service of the community, start to jump in and help out.That's where I recruited a couple of my other fellow moderators, because I saw that they took the initiative and joined in with no expectation of any personal benefit.They're just serving the community.I think there is some personal benefit in the sense of, you get to answer all these questions and you strengthen your own knowledge, which is really good.And you also understand the pain points.So you can go write blog posts and articles and even libraries to solve those pain points.So having a very close ear to the ground for what people are facing helps you just be relevant to everyone else.So I think there's a lot of benefits for doing that.But yeah, it's actually a pretty good recruiting ground.Basically, if you want to be a leader of the community, just act like it and people will see what you're doing, and then they'll formally give you that position.Patrick: You mentioned that by being heavily involved with these beginner questions, things like that, it leads to inspiration for blog posts, tutorials code, things like that.We think a lot about the second order of effects of an active community.And one of those is content like that, where if you have a thriving community, one second order effect is you probably have ideas for blog posts, guides, tutorials, things like that.And I'm not sure everyone realizes the sort of power of that type of output.Swyx: Oh yeah. We have people who teach React for a living.They actually go through the Reddit to browse for people's pain points so that they can write articles. It's pretty effective.Patrick: Yeah. That's awesome. So you're working today with Svelte Society.Can you tell us a little bit about what you're working on there, and the nature of the community that's around that?Swyx: Yeah. So, Svelte Society started off as a meetup in New York, because I was friends with Rich Harris, who created Svelte.And I had basically ignored him for a full year because I was so deep into React, that I was just like, I don't need a new framework in my life.And I think we were both speaking at a conference and he gave a really convincing talk where I reached a point where I was just like, "Okay, I got to try this thing out."And of course I was impressed.Of course it solves major pain points that I had with React.And I just ignored him for a year, because I'm one of those not early adopter types.So there was a meetup that was going to happen in London, which is going to be this first Svelte meetup in the world.And I was like, "We can't have that. We're in New York. We have Rich Harris in New York. We need to meet up as well."So I just decided to tweet that. I wanted to launch a meetup. I had no speakers, no guest list, no venue. I just set a date, that was it. And then people got together and within a week we actually organized a met up with 50 people, someone from Microsoft stepped up and offered their location.And we did the very first Svelte meet up just scooping London, and eventually Stockholm also did one.So eventually the three of us got together when COVID hit.The three organizers from New York, London and Stockholm got together, and then we created Svelte Society as a global online community. We've done two conferences, we're about to have our third in April. And a few thousand developers, I think we're at 7,000 and something. And it's a small, tiny community, but it's actually a lot of fun growing something from scratch, rather than taking over something halfway and growing into something already huge. So I'm enjoying that difference in vibe. I think that developer communities where you are not the default, so everyone comes to you as the second framework or the second tooling, is a very nice position to be in because you get people who know what they're coming to you for.For example, when people choose React, they just choose React because they're told to do it, right?They don't actually know the difference between JavaScript and React, or they don't know anything else apart from React.And so some of their questions might be very off topic or just kind of not discerning.They don't actually know what they want.I kind of call this second framework syndrome, which is just actually like a positive.So I need a different word than syndrome.But essentially, once you've picked one tool in some domain, and you've gone onto the second tool, you're much more discerning and you're less likely to identify so strongly with one tool, because if you've left a tool before, you're never going to say like, "Okay, this is the solution for everything."Because you might leave the tool for something else again.Whereas I think people who are first time to a framework or to a tool might be too loyal to it and try to solve everything with it. And that's a recipe for pain.Patrick: It reminds me of the classic advertising campaign from Avis.They were number two in the market.And so this is like 1950s, 1960s mad men era, and their whole campaign was, "Hey, we're number two. So we'll try harder for your business."Swyx: Yeah. This is great. Acknowledge that you don't have the top spot, but there are things that you can still bring that people still really value.And if you just say that, I think people recognize it and respect that.I do a lot of marketing types in my line of work, and I don't like marketing that just denies reality.I think it's way better to just accept it head on, call it out.The other famous example is Domino's, right?They're just like, "Hey everyone, we know our pizza sucks. We revamped it. Come try us out." And it worked.Patrick: Big time. Yeah. Well this reminds me of a tweet you shared recently of talking about the advice, to talk about benefits versus features, but your view is that the opposite is true for developers.Swyx: For developers.Patrick: Yeah. Can you talk a little bit about features and benefits when it comes to communicating with developers?Swyx: Yeah.This is one they struggle with back and forth, and specifically the tweet is about me relearning it.So the advice in traditional marketing is to sell benefits over features, right?Sell people on the vision of what they will be with you rather than without you.Instead of, you're specific how you get there.And that's why, I guess when people sell perfume or clothes or whatever they show you someone in a fancy dress or some dude with a fancy watch on a yard or something.It's association and that's how you do marketing in a traditional sense.But I think developers have been lied to too much, where we just stopped believing in people in marketing.So if you tell me your library's blazing fast, I don't know what that means.So tell me why it's fast, show me why it's fast, don't just tell me that it's fast. Because, sure, that's a benefit.Obviously that's an improvement to my workflow.But if I don't know why it's fast, then I'm not going to accept it on faith, because I've been burned too much or I'm not going to be able to explain it to the rest of my team or my boss when I try to adopt it at work.You have to have a logical reason, because there's also going to be a trade-off right?There are some free lunches, but usually there's no free lunch.You have to be able to answer the question of like, "What am I giving up in order to get this benefit?"And usually, marketing you only talk about the benefits, and you don't talk about the sacrifices.And I think that the most concise way to do all of that is to tell you how it works.Show you under hood and give you the logical explanation for, okay, all these alternative solutions that you're used to, they all use this legacy format, and we use a different format that is just way optimized without those legacy assumptions.In exchange for all these benefits, it will not be compatible with some legacy features that you now no longer care about.And you're like, "Ah, okay, that is me and I'm sold."But if you skip all of that and just go like, "This will be faster." I can't get behind that.So I think that's my insight on developer marketing that we want to know how it works.And I think that's which is partially why open source is something that's so appealing as well. We are able to see the code.Patrick: Yeah. Do you think that the continuum from features to benefits, do you think where the messaging lands at the timeline maps to where a potential user is on the chasm?Maybe early adopters care more about how it works and late majority we're about?Swyx: Exactly.Patrick: Yeah.Swyx: Yeah. So I got some pushback on my tweet saying people don't understand how React works, and it's a black box to most people.And that's true, but because React has already crossed the chasm, it doesn't have to.So I definitely am focused more towards early adopters, because I guess I work on earlier stage companies.If you're IBM, nobody knows how Watson fricking-- What is Watson?I don't know, but it does Jeopardy.I don't talk to the type of developers that buy IBM.And no shade on them, it's just really, I think when you're dealing on cutting edge stuff you really have to open the hood.Patrick: Yeah. Agreed. Shifting gears a bit, you champion the idea of learning in public.And you described your writing on this topic as your most impactful essay.So I'm really curious, how did the concept of learning in public become so central for you and your work?Swyx: I think that it was a reflection of when you look back on your work for the past year, for me, it was like the past six months, and try to understand what parts of my work was the most impactful, and what parts of my work didn't matter at all.I realized that it was the stuff that I did in public.And sometimes got wrong in public that contributed most to my learning.And I think this idea, there's a name for it. I actually got from Kelsey Hightower, who is sort of Mr. Kubernetes now.But he's very much someone who learns in public.Something that he just learned, he'll share it because it's was valuable to him from three to six months ago.Therefore it will probably be valuable to a lot of other people. It may not be the most insightful thing in the world.He's not presenting himself as the expert in something, but that's not going to stop him from sharing something fundamental that he learned, which is useful.And if you do that, you'll not only learn faster, because you get feedback from other people.Both from people who know more than you, and also people who are with you in your journey.But also you get to demonstrate your interests, which is very good for your career. It's a two-way street.It turns your network from outbound network, you reach out whenever you need a job, to an inbound network, people understand what you're into and they reach out to you for stuff that you are interested in.And I think that's a fundamentally different way mode of operation that most developers are used to.And they don't even realize that this is possible.They're like, "Oh, you got to be internet famous to do this."And surely you can get internet famous by doing this.But to me, that's not the goal. The goal is to just have a record of what you learned.Because when we do interviews, for example, we try to have this really lossy compression algorithm.We compress all that we are, all that we can do and that we've done, into one piece of paper and hope that the other side has the right decompression algorithm to unpack that.And then we complain about how broken the hiring processes, because we stick to this completely useless thing.It's much better to have a, let's say like a site or a GitHub that just shows that I've been interested in this.I've been hacking on this for three years and here's all the things I've done. It's instantly verifiable.It's like a cryptographic proof of work. And you don't need some massive following for that.All you need to do is actually do good work.Patrick: What's a tangible example of learning in public?What does that look like in practice?Swyx: So one of my talks was about how React Hooks work under the hood, because Hooks were a major feature of React that were launched.And those launched in 2018, and a lot of people were talking about it and not trusting it, because it was a little bit magical.So I thought about this question and then I tried to make a small clone of it.And it was just a very simple, like 29 line proof of concept. And I tweeted it out. This is a career hack as well. Whenever you tweet about a company's products or a framework's features, probably the people who wrote that feature will see it. Especially if there's a company involved, they will have a Slack channel hooked up to their company's Twitter account. That's how it works, right? And so, Dan Abramov and the React core team actually saw it.And it was like almost there. There's some flaws.So he actually gave me suggestions to correct it, and I just went and did it.And then that actually got a lot of traction.So that actually led to a blog post, then actually led to a workshop that was conducted with egghead.io.And then eventually a conference talk at GS conf, that was my biggest talk to date.And all that just because I tweeted out a tiny thing that I was trying to work on myself.And I could not have got there without help, without feedback from other people.And the other thing is I would never have thought that this was something that I could do, like do a completely live coded presentation on stage without all this validation and support and help.And it's one of those things where you don't know what you have until people sometimes pull it out of you when you share it.It just wouldn't have happened if I didn't share it.Patrick: Have you seen this concept work for non-technical people as well?Swyx: I think so. So I used to be in finance and I still follow a lot of investing people in the investing sphere.So, Patrick O'Shaughnessy is, I guess, a well-known investor by now.His approach is very much in the learning public phrase as well.So he also uses that term. But he uses it to just talk about the industries that he invest in, right?He can be much more in-depth in, let's say, minerals or energy, but let's say if he wants to learn about tech or consumer retail or shipping, he can just invite a guest to go on his podcast and he'll talk about it.And that's a form of learning in public as well.You're putting a beacon out there and having real conversations.You're never presenting yourself as an expert, but you become an expert if you do it this enough.And the rate of learning is way faster than if you just did everything in private.So the argument is very much like you're not putting everything in public, but if you put it just a little bit, you actually get a lot of benefits, because there's such a great network effect to learning in public.Patrick: Yeah. It's interesting to think about the gradient of self editing that has to happen when you're deciding what to put in public versus what not to share.Swyx: Yeah. And some people, especially women, have to do more editing, just because they get attacked more.And that's really unfortunate, but it happens.And I think you have to have a thick skin, actually my preferred way of saying that you should have a thick skin is that you should divorce your identity from your work. When people criticize your work, they're not criticizing you, they're criticizing the work that was produced by some past version of you. And if you're growing at all, you should look back on your work like a year from now, and just say, that was totally horrible.So you should agree with the people who are criticizing you.And in fact, if you build a reputation of someone who takes criticism well, then they'll criticize you more and you'll learn more.And if you just don't take it personally, and as long as they don't make personal attacks at you, of course that's not acceptable, but if you don't take it personally, then yeah, you're totally fine. So the way I phrased it is that you can learn so much on the internet for the low, low price of your ego, and just get you out of the way. Are you here to be good or are you here to feel good?Patrick: That's a pretty fundamental distinction that not many people may draw.So you've mentioned before the idea of learning in public and the phrase you use is building a habit of critical learning exhaust, which I think is very poetic.What do you think the relationship is between learning in public and the communities you're a part of?How do those two aspects interplay for you, do you think?Swyx: So there's a selfish reason. And then there's a selfless reason.The selfless reason is that I think we need to make it easier for people to learn in public, to create receptive and welcoming communities that recognize that you're just trying to improve yourself just like everyone else is improving themselves.And sometimes we don't have a space for that. And when we don't have a space for that we just clam up and just not try.So if we just foster a community of people who are all improving and working on things, I think that's just a better net positive for the world and net positive for everyone in that community.The selfish reason for that is that there's a scaling law that scales beyond me.So the way I think about this is that, there are few scaling laws.Some people are very familiar with Metcalfe's law in tech, which is that, the value of a network scales according to a square of its number of nodes.And that's analogous to me having a very big "Rolodex" which is like, my friend's list is very long, then I can call upon these as experts or friends or mentors whenever I want.That's really good. But it could be better, which is what's better than Metcalfe's law?Metcalfe's law is great. But what's really explosive is Reed's law.So Reed's law is sort of an exponential growth of the number of nodes.Because each of the number of nodes can form subgroups independently of the central node, which is the reason why Facebook, when it grows, the value of Facebook grows not as number of the members, it also grows by the number of interest groups within Facebook, right?That's why Facebook groups is so powerful as a value added to Facebook, to the point where most people would just use Facebook today for Facebook groups.And Facebook just doesn't care. Doesn't have to know.And you can be in a thousand different groups and it doesn't matter.But they're all valuable to you. Okay. How does that tie back to the community?A community is a many to many ongoing sustaining relationship between all of them, and me being able to grow them.I grow at that accelerated pace faster than Metcalfe's law, because Metcalfe's law is limited by Dunbar's number like--Sorry, I'm pulling in so many concepts, but there's a limit to the number of people that I could possibly know.But if I enable each of them to talk to each other and collaborate with each other, then I benefit as well, partially because I help to be a central member of that community.But then also when I find them, they will be innovating without me there.And that's a benefit to me as well, whether I've realized it or not.Patrick: Yeah. The distinction between Reed's and Metcalfe's law is really quite fascinating.Swyx: That's community. It really is, Metcalfe's law scales, but it's so much effort to add each node, because you have this central dependency, right?Which is, let's say the company or the core team of a framework, but once you have a community, then they're just all interacting on their own basis.And you don't really have a say, which is a little bit worrying, because it's out of your control.It's adding value to your network, whether you've realized it or not.Patrick: So a lot of Orbit's customers and folks in our own community have this question where they're early on their journey.Many of their early community members are just users of their product--t he early adopters, we would call that, or the Orbit one.And they're starting to ask this question of, what's the tipping point when a community goes from mostly people talking to the company about the product or the project to talking to each other about the project, about ideas and their job and broader concepts.Can you talk a little bit about when you've seen that occur, and if there are any tools or tactics or frameworks that the project maintainers or the company founders can implement to accelerate that tipping point.Swyx: Yeah. I think I definitely am not the authority on this, because I haven't seen this occur too much.I've seen instances of it. And I just don't know if I have the authoritative story.If said like, this is the general theory of how to make networks, I think I'd be a millionaire.That's a very valuable information. But I'm actively researching this.So with all that said, I think that what can be very helpful is that you make the identities and the interest graphs of your members of your network discoverable to each other.So a lot of the times when you hire a community manager, their job is to know the community members very well, and they typically store it in their heads.But if you have a listing of them, where people can actually independently search and discover, then you really find that independent connections start taking shape.But you as someone who manages that community needs to make that happen.Because that's not going to happen in any organized fashion on its own.So one of the ways in which I do see it happening very effectively for a company or a framework is sort of an official partner designation.So you do have the ability to bless some people as the recognized experts.So at AWS, we have AWS Heroes, like we'll anoint like external parties as serverless heroes or data heroes or machine learning heroes.These will be recognized experts. I just saw that Webflow actually, and Vercel have Webflow experts or like a Vercel partners program, where these are sort of the key system integrators, I think they're called, or like agencies or whatever you call it, that are very keen on working with Webflow.So then they get a lot of benefit from associating themselves with you as experts, or just as long as they derive significant value from hiring or finding business off of you, then they're a very engaged community members, and they're very incentivized to contribute to the value of your community.And it's just like a reinforcing loop, because as you build that then more people know to come to your community to find these people.And because more people come to find these people then more people on the supply side sign up and it's like a demand and supply side marketplace type of thing. So I do think that a marketplace is like the ultimate business model. I am a huge fan of marketplaces, but it can be hard to start. And sometimes you have to bootstrap one side versus the other. But essentially what you're doing is a marketplace, where you set the rules, you make it easy for people to transact and you establish reputation systems, you establish trust, you establish like this conflict or dispute resolution mechanisms.These are all traditional forms of a marketplace, but you can actually bring all those lessons, all of it, to communities.Patrick: I love marketplace as a metaphor for community.Swyx: The other thing that you can do as well is to organize events.Because I think we as humans, we like-- Okay, most of the time we like async, we like to do things on our own.We like to build our own networks independently, but every few months we love special occasions to announce some things and to gather to celebrate something you, like a woodstock, or I don't know, basically a conference.But the definition of a conference is changing in the COVID world.And another thing that you can do is definitely organize events where people would just get together.And sometimes it can just be a small dinner, let's say we can all meet up again in person.You can just have a day when everyone just gets together and just talks, and you as a community organizer, that's a minimum viable market place, which is just like, "Hey everyone, we're all going to get to get together in this room at this time and day."Which is what I did for my meetup, right?There's no economic transaction, you're not taking a fee or anything, but you're just making it possible for people to find each other.That's a marketplace.Patrick: Thinking more broadly about communities in general.What are some trends that you've been seeing in the way communities are being built or platforms are using or methods you're seeing as we go into 2021, and what are some of the community building concepts that you're excited about?Swyx: Oh, I'm so into this. Yeah.To a point where I do have an ongoing research collection about dev communities and people who are innovating in community space.I always thought that things were sort of going online, things are going asynchronous, and then Clubhouse changed everything for me.I realized that people actually like real-time connection and the ability to ask questions and participate in chat, and sometimes video and anti-feature, which is another interesting concept, right?Because Zoom was the darling, and now Clubhouse is. A nd Clubhouse is like Zoom, but worse.So yeah. I think people are realizing that connection is real.Having events like a clear before and after is a real thing, which I think is a reversal of some of the trends that we were seeing.We were moving towards more async online chat-based communities.And I think now we're seeing some revival in live events and live ongoing discussions in spontaneity and imperfection.Beyond that, I'm not really sure I have-- Okay, so the other thing that's also happening is cohorts, right?Which Wes Kao and Gagan Biyani from Udemy are championing.Which is basically communities gated by when people join. So most communities they're just open at all times.So you just come on in whenever, and whenever someone says hi, they're just like, "Okay, it's another person it's not something special."But when you make something into a cohort, suddenly groups have identities like, Oh, I'm sort of class of spring 2019.That's Y Combinator, right? But that's also college, and that's also a cohort of communities.And those cohorts are prebuilt, it's an event.Everyone is new and everyone knows that there's a group that's going through the same experience as they are.But then there's also broader group with more experience than they are. And they can access that as well.I think cohorts are an interesting twist on how people run communities.None of this is new, right? But we're just taking lessons from maybe other domains and applying it to online communities that may not have been applied before.And I wish I could go back in time and tell myself from three years ago all this stuff, because I didn't know any of this, but now it's obvious.It's obvious to me because I watch all these people closely, maybe people who are listening, if it's not obvious to you sit up and listen, because this is real.This is very valuable. And this is happening at a very, very fast pace.Patrick: Where would you suggest people tune in or the resources or people that you follow that are particularly insightful when it comes to these topics?Swyx: Yeah. Wes Kao is pretty much leading the core based course league.Rosie Sherry, from Indie Hackers is definitely collating a lot of community news.There's also Greg Eisenberg, he runs a consultancy that starts communities for people.The only problem I have with him is that he thinks of himself very highly.So he rubs people the wrong way, I think. But he does have valuable insights, which is very frustrating.Sometimes arrogant people are worth it.Patrick: Yeah. I think it's complete opposite of someone like Rosie, who is such an intellectual heavy hitter, but also so humble.Swyx: Yeah. I got more resources for you.So by the way I collect all this in my circle community.So, codingcareer.circle.so is where I collect all this information.So there's Get Together, which is a book and podcast for people who form communities.There is CMX Hub, which is, David Spinks, who has been doing this awhile as well.There's a bunch of people in this community space.Oh, Lolita Taub is a VC who just launched the community fund.So they're specifically a venture capital firm that is focused on companies building communities and companies building tools for companies building communities there's a whole circle of that.Patrick: Yeah.Swyx: There's a lot of stuff. And then there's also a couple of books that people really like.So Nadia Eghbal, Working in Public has some sense of community building in her stadiums and whatever and village metaphors.And Laís de Oliveira, has a book on hacking communities, which I haven't read, but I've definitely singled that out for reading up.Anyway that's just my resource dump.And I'm keeping this list because I think it's a growing knowledge base of what it means to run a community, and what are all the different ideas that people are bringing to their communities.Patrick: Awesome. Thanks for sharing that.So zooming out a bit to a question that I ask pretty much every guest on the show, what do you think is the secret to building things developers love?Swyx: So in that tweet about development marketing, I actually also mentioned another concept, which is a wow moment, right?And I actually expanded upon that by saying a wow moment should be something that inspires you to talk to your friends, tell your friends about it.It makes your jaw literally dropped. And it makes you never want to go back to the old way of doing things again.It creates a clear before and after. There was you before seeing this demo or seeing this tool, and then there's you after. And it creates a gap, because it makes everything that you used to do before the old way, you didn't even use to call it the old way. It just became the old way once you saw this new thing. And I think developers love something that takes away some pain that they might feel at their core, but maybe sometimes they don't even know that they have it.So I'll give you one example, which is Prettier in the JavaScript ecosystem.Anyone could have built Prettier in any of JavaScript's 25 years of existence, but nobody did.Until it was some-- It's Christopher Chedeau, but someone just went like, "Hey, Go has this really nice formatting tool. What if we just had that in JavaScript? And what if it was just standard."And he built it, and now it is standard in the span of two to three years in JavaScript, which is massive.And people love Prettier for what it does. Which is pretty funny.The thing is you'll never make everyone happy.There's a very strong band of people in JavaScript who don't like Prettier for their own reasons.But you make a lot of people happy and they do say that they love Prettier.So I think that's one of those examples where, there was an old way, which is you manually formatted your code and you had code review stand up meetings, where you argued over the spacing.I've been in those meetings, okay?And then there's an after, with this tool, where you no longer spend any time on that, because you just have a standardized tool that just does all that for you.So I like that. And I think that's one example of making things that developers love.Patrick: Aside from beautiful code.I always ask people, what's one thing you're loving right now?Swyx: I'm loving Transistor.fm for hosting my podcasts.I do run a couple of small podcasts, nothing like yours.But it makes it very easy to host stuff and generates a website for you.And it just takes away all the pain for me that I don't want to do.So I will pick Transistor.I guess I also pick Stripe, because it's such an easy--I wrote a book and I run the entire fulfillment from beginning to end, and Stripe checkout was so such an easy thing to integrate that I happily paid them their 3% or whatever it is.Patrick: Yeah.Swyx: Not a very non-consensus pick. I have to pick Stripe. But I do have to give them credit.Patrick: Well, you've been super generous with your time today.We've covered a lot of really fascinating topics.If people want to learn more about you and what you're working on, where online would you send them to go do that?Swyx: Yeah. Thanks for having me. My Twitter is where I'm most active.So twitter.com/swyx. And you can find my blog at swyx.io to get all my talks and book and whatever else you want to find out about these ideas.Patrick: Awesome. Well, thanks so much for coming on the show.Swyx: Thanks for having me.
Returning guest Mark Erikson joins the React Round Up team to discuss how he found himself in the position of being an open source maintainer for Redux, how he's helped shepherd/author future versions of Redux (and the complete overhauls that happened when React Hooks were introcuded), and the new examples he's written for Redux Toolkit to make Redux easier for devs to get started with. Mark also addresses some commons misconceptions around React and Redux, such as: is React Context a perfect substitute for Redux (spoiler: it's not), and is Redux still relevant today (it is). Take a listen to hear about getting into open source, where Redux is headed and Mark's broader thoughts on helping the React community document and standardize all the options out there so developers have an easier time choosing the tools needed to solve their particular problems. Panel Carl Mungazi Paige Niedringhaus TJ VanToll Zain Sajjad Guest Mark Erikson Sponsors This Dot Labs Dev Heroes Accelerator Links Cheng Lou - On the Spectrum of Abstraction at react-europe 2016 Blogged Answers: Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux) Coding Career Advice GitHub | markerikson/react-community-tools-practices-cheatsheet GitHub | markerikson/react-community-tools-practices-cheatsheet - Initial RFC: Scope and Goals #1 Comparison with Other Frameworks Redux Style Guide# Redux Essentials, Part 1: Redux Overview and Concepts# Redux Fundamentals, Part 1: Redux Overview# Redux Toolkit RTK Query JavaScript for Java-ish Developers Mark's Dev Blog Twitter: Mark Erikson ( @acemarke ) GitHub | Mark Erikson Picks Carl- Writing for Software Developers by Philip Kiely Mark- Josh Comeau Paige- Open source password manager - Bitwarden TJ- Bowflex SelectTech Dumbbells Zain- GitHub | zalmoxisus/redux-devtools-extension
Returning guest Mark Erikson joins the React Round Up team to discuss how he found himself in the position of being an open source maintainer for Redux, how he's helped shepherd/author future versions of Redux (and the complete overhauls that happened when React Hooks were introcuded), and the new examples he's written for Redux Toolkit to make Redux easier for devs to get started with. Mark also addresses some commons misconceptions around React and Redux, such as: is React Context a perfect substitute for Redux (spoiler: it's not), and is Redux still relevant today (it is). Take a listen to hear about getting into open source, where Redux is headed and Mark's broader thoughts on helping the React community document and standardize all the options out there so developers have an easier time choosing the tools needed to solve their particular problems. Panel Carl Mungazi Paige Niedringhaus TJ VanToll Zain Sajjad Guest Mark Erikson Sponsors This Dot Labs Dev Heroes Accelerator Links Cheng Lou - On the Spectrum of Abstraction at react-europe 2016 Blogged Answers: Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux) Coding Career Advice GitHub | markerikson/react-community-tools-practices-cheatsheet GitHub | markerikson/react-community-tools-practices-cheatsheet - Initial RFC: Scope and Goals #1 Comparison with Other Frameworks Redux Style Guide# Redux Essentials, Part 1: Redux Overview and Concepts# Redux Fundamentals, Part 1: Redux Overview# Redux Toolkit RTK Query JavaScript for Java-ish Developers Mark's Dev Blog Twitter: Mark Erikson ( @acemarke ) GitHub | Mark Erikson Picks Carl- Writing for Software Developers by Philip Kiely Mark- Josh Comeau Paige- Open source password manager - Bitwarden TJ- Bowflex SelectTech Dumbbells Zain- GitHub | zalmoxisus/redux-devtools-extension
Witam w dziewięćdziesiątym ósmym odcinku podcastu „Porozmawiajmy o IT”. Tematem dzisiejszej rozmowy jest React.Dziś moim gościem jest Patryk Omiotek – programista z ponad 12 letnim doświadczeniem. Specjalista takich technologii jak Python, JavaScript, PHP i NoSQL. Współzałożyciel Lublin IT. Założyciel i nauczyciel w Szkole Reacta. Wykładowca w Wyższej Szkole Przedsiębiorczości i Administracji w Lublinie. Prelegent na konferencjach branżowych.W tym odcinku o React rozmawiamy w następujących kontekstach:jakie były okoliczności powstania React.js?na czym polega programowania reaktywne?czy jest to framework czy biblioteka?jak wygląda jego popularność i miejsce na rynku pracy?jak może wyglądać przykładowa architektura aplikacji stworzonej z wykorzystaniem React’a?czym są i w czym pomagają React Hooks?do czego wykorzystywany jest Redux?jakie wzorce projektowe sprawdzają się w przypadku React?na ile umiejętności z React.js można wykorzystywać w React Native?jakie są najczęstsze błędy początkujących w React?jak React współpracuje z TypeScript?jaka będzie przyszłość React’a?Zyro.com – do 81% rabatuZyro to intuicyjne narzędzie do tworzenia stron i sklepów internetowych. Dla słuchaczy podcastu na stronie https://zyro.tech/poit znajdziesz specjalną, limitowaną ofertę dzięki której zaczniesz korzystać z tego narzędzia o nawet 81% taniej w planach cenowych powyżej roku! Wykorzystaj kod rabatowy POROZMAWIAJMYOIT!Subskrypcja podcastu:zasubskrybuj w Apple Podcasts, Google Podcasts, Spreaker, Sticher, Spotify, przez RSS, lub Twoją ulubioną aplikację do podcastów na smartphonie (wyszukaj frazę „Porozmawiajmy o IT”)poproszę Cię też o polubienie fanpage na FacebookuLinki:Profil Patryka na LinkedIn – https://www.linkedin.com/in/patrykomiotek/Szkoła Reacta – https://szkolareacta.pl/Kanał Patryka na YouTube – https://www.youtube.com/channel/UCSYWHzGSL3nRJEkBMIfIEmAWsparcie:Wesprzyj podcast na platformie Patronite - https://patronite.pl/porozmawiajmyoit/Jeśli masz jakieś pytania lub komentarze, pisz do mnie śmiało na krzysztof@porozmawiajmyoit.pl https://porozmawiajmyoit.pl/98
In this Hasty Treat, Scott and Wes talk about React Hooks and why you might want to use them instead of class components. Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 03:54 - Decouple the UI from the logic This wasn’t impossible with class-based components, but we started using HOC to do this. With hooks, it makes you decouple what it does and how it looks. Makes things like GraphQL code gen possible Multiple pieces of state or functionality Share commonly used functionality among projects and components 10:31 - Reduction in code Lifecycle methods were often redundant. useEffect offers a way to prevent the duplication that can happen with component did update and did mount. This gives you a way to say, “Hey, run this code when these things change.” 13:30 - useEffect’s dependencies These give you access to targeted control over side effects rather than just something changed. 14:15 - Easier to grok What happens? When? Where? It’s mostly in the hook. 16:09 - Simplicity in usage Thing, updateThing is more targeted than set state Ref makes way more sense with useRef String refs weren’t great, the function ref thing was obnoxious 21:07 - Gripes about Hooks Naming is kind of odd Vue did a better job with the names Links https://github.com/pmndrs/jotai https://github.com/rehooks https://twitter.com/youyuxi/status/1327328144525848577/photo/1 Tweet us your tasty treats! Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets
Alex Merced talks about his new React Hooks library, merced-react-hooks. Unfortunately I had the wrong mic settings so the audio…
Ionic’s own Ely Lucas joins the React Round Up panel to discuss building the Ionic framework to work with React under the hood. Ely talks through how the team’s been hard at work making Ionic easy to pick up for any JavaScript developer with experience in React, as well as some of the benefits it can provide over straight React or React Native. Some of the biggest benefits are having just one shared codebase to power iOS, Android, Electron and PWAs, access to React Hooks and over 100 ready-to-use, easy to customize UI components on install. If you’ve heard about Ionic but want to learn more about it, and it’s newest offering Ionic React, this is the episode for you. Panel Paige Niedringhaus Charles Max Wood Guest Ely Lucas Sponsors Audible.com Raygun | Click here to get started on your free 14-day trial CacheFly Links ionicframework.com https://stenciljs.com/ Ionic React documentation Web animations API documentation Ionic’s Capacitor.js project codecanyon.net https://ionicframework.com/docs/react/your-first-app https://ionicframework.com/docs/react/your-first-app https://ionicframework.com/blog/testing-ionic-react-apps-with-jest-and-react-testing-library/ Picks Ely Lucas: Tiny Habits Charles Max Wood: Legendary High Performance Habits Paige Niedringhaus: Traeger Grills Follow React Round Up on Twitter > @reactroundup
Ionic’s own Ely Lucas joins the React Round Up panel to discuss building the Ionic framework to work with React under the hood. Ely talks through how the team’s been hard at work making Ionic easy to pick up for any JavaScript developer with experience in React, as well as some of the benefits it can provide over straight React or React Native. Some of the biggest benefits are having just one shared codebase to power iOS, Android, Electron and PWAs, access to React Hooks and over 100 ready-to-use, easy to customize UI components on install. If you’ve heard about Ionic but want to learn more about it, and it’s newest offering Ionic React, this is the episode for you. Panel Paige Niedringhaus Charles Max Wood Guest Ely Lucas Sponsors Audible.com Raygun | Click here to get started on your free 14-day trial CacheFly Links ionicframework.com https://stenciljs.com/ Ionic React documentation Web animations API documentation Ionic’s Capacitor.js project codecanyon.net https://ionicframework.com/docs/react/your-first-app https://ionicframework.com/docs/react/your-first-app https://ionicframework.com/blog/testing-ionic-react-apps-with-jest-and-react-testing-library/ Picks Ely Lucas: Tiny Habits Charles Max Wood: Legendary High Performance Habits Paige Niedringhaus: Traeger Grills Follow React Round Up on Twitter > @reactroundup
Добрый день уважаемые слушатели. Представляем новый выпуск подкаста RWpod. В этом выпуске: Ruby Rails 5.2.4.4 and 6.0.3.3 have been released Sinatra v2.1.0 Ruby adds ‘Symbol#name’ to return frozen string corresponding to the symbol name Writing a Ractor-based web server Continuous Blue-Green Deployments With Kubernetes These Rails apps are overpacking their JavaScript bundles RubyJard - Just Another Ruby Debugger N + 1 Control - RSpec and Minitest matchers to prevent N+1 queries problem Web A New Proposal for Decorators for JavaScript Classes AVIF has landed Frustrations with React Hooks 5 most annoying website features I face as a blind person every single day Designing With Reduced Motion For Motion Sensitivities Front-end JavaScript performance Rewriting Facebook’s “Recoil” React library from scratch in 100 lines Jotai - a primitive, flexible state management for React React-chrono - a timeline component for React JavaScript for Data Science (book)
React Hooks have been out for a while already and they have quickly become the new recommended way of handling component local state and side effects in React function components. Getting started with React hooks is quite straightforward, but the more you use them, the more you need to change the way you think about your components, especially when it comes to the useEffect hook. There are certain rules that you have to follow and certain pitfalls to avoid. This presentation assumes you know the basics of React hooks and we will dive a bit deeper into how they can be used and how they should be used. In this presentation, I will explain the rules of hooks and how we messed up with those and I ended up wasting almost a month of my work time fixing the mess. Presenter: Olavi Haapala
React Hooks have been out for a while already and they have quickly become the new recommended way of handling component local state and side effects in React function components. Getting started with React hooks is quite straightforward, but the more you use them, the more you need to change the way you think about your components, especially when it comes to the useEffect hook. There are certain rules that you have to follow and certain pitfalls to avoid. This presentation assumes you know the basics of React hooks and we will dive a bit deeper into how they can be used and how they should be used. In this presentation, I will explain the rules of hooks and how we messed up with those and I ended up wasting almost a month of my work time fixing the mess. Presenter: Olavi Haapala
En este episodio seguimos hablando sobre React Hooks. En esta ocasión revisamos algunos de los errores o problemas comunes a la hora de escribir tu aplicación utilizando esta API.LinksHooks FAQ AHA ProgrammingMusic CreditsOpening and Outro Musicby DanoSongshttps://danosongs.com/Background Music:by Bensound https://bensound.comWhiskey on the Mississippi by Kevin MacLeodLink: https://incompetech.filmmusic.io/song/4624-whiskey-on-the-mississippiLicense: http://creativecommons.org/licenses/by/4.0/Support the show (https://www.buymeacoffee.com/matiasfha)
En este episodio hago una breve revisión sobre que es React hooks y por qué llegaron para cambiarlo todo en la escena del desarrollo web con React.Introducing Hooks (motivation)Hooks at a Glance (walkthrough)Building Your Own Hooks (that's the fun part)Hooks FAQ (it's likely your question is answered there!)Presentación de Hooks en React ConfMusic CreditsOpening and Outro Musicby DanoSongshttps://danosongs.com/Background Music:by Bensound https://bensound.comWhiskey on the Mississippi by Kevin MacLeodLink: https://incompetech.filmmusic.io/song/4624-whiskey-on-the-mississippiLicense: http://creativecommons.org/licenses/by/4.0/Support the show (https://www.buymeacoffee.com/matiasfha)
Recording date: 2020-04-28John Papa @John_PapaWard Bell @WardBellDan Wahlin @DanWahlinCraig Shoemaker @craigshoemakerGustavo Miranda LinkedInBrought to you byag-Grid Narwhal Visit nx.dev to get the preeminent open-source toolkit for monorepo development, today.Resources:UseHooks.comAtomic Web DesignHooks StateRedux ToolkitWriting custom hooksNOT reactive-react-reduxOfficial react-redux + hooksReact is becoming a black boxKent C. Dodds on testing custom hooksReact-QueryTimejumps01:58 Guest introduction03:05 What are React hooks and why are they important?10:16 Sponsor: Ag-Grid11:21 How do Hooks tie into moments in React?12:43 What kind of application did you switch to use Hooks?14:21 What is Atomic Design?18:52 Did you have to change the way you think about React?21:41 What was the learning curve like?27:21 Sponsor: Nrwl28:02 How do you use Hooks to manage state?34:22 How do folks new to Hooks get started?38:02 Final thoughts
Cassidy (@cassidoo) has been building but also educating developers on how to build apps on React, JavaScript, JAMStack and many other technologies over the past years. We got her on our podcast where she gave us insights into React Hooks, how WPO (Web Performance Optimization) plays out in the React world, why it is important to think about state from the start and that its important to always have your end user in mind before even writing your first line of JavaScript.In the podcast she references additional resources which here are the links for: The performance benefits of Variable Fonts, Mandy Michael (@Mandy_Kerr), Isabela Moreira (@isabelacmor) and A/B Testing with React (YouTube).https://twitter.com/cassidoohttps://reactjs.org/https://jamstack.org/https://uxdesign.cc/the-performance-benefits-of-variable-fonts-79af8c4ff56chttps://twitter.com/Mandy_Kerrhttps://twitter.com/isabelacmorhttps://www.youtube.com/watch?v=xpfR0rRfcNk
Cassidy (@cassidoo) has been building but also educating developers on how to build apps on React, JavaScript, JAMStack and many other technologies over the past years. We got her on our podcast where she gave us insights into React Hooks, how WPO (Web Performance Optimization) plays out in the React world, why it is important to think about state from the start and that its important to always have your end user in mind before even writing your first line of JavaScript.In the podcast she references additional resources which here are the links for: The performance benefits of Variable Fonts, Mandy Michael (@Mandy_Kerr), Isabela Moreira (@isabelacmor) and A/B Testing with React (YouTube).https://twitter.com/cassidoohttps://reactjs.org/https://jamstack.org/https://uxdesign.cc/the-performance-benefits-of-variable-fonts-79af8c4ff56chttps://twitter.com/Mandy_Kerrhttps://twitter.com/isabelacmorhttps://www.youtube.com/watch?v=xpfR0rRfcNk
Introducing a new season of our Modern Web podcast with a special episode featuring Evan You (@youyuxi), creator & project lead of Vue! Evan discusses why he is so excited about Vue 3, and the differences between how the architecture of Vue 3 differs from other frameworks such as Svelte, Ivy, Ember, and React. He also explains the difference between React Hooks and the Vue Composition API and how the Vue Composition API tries to solve some ergonomic issues that React Hooks has. If you use a bundler like webpack and you’re looking for more speed, you’ll love Evan’s new project, Vite. Evan explains the problems that Vite is trying to solve for all developers, regardless of if you use Vue, React, Svelte, or Angular. Vite also supports hot module replacement and has a lot of goodies up its sleeve Evan talks about that you should watch out for. Ben and Evan discuss the differences between Snowpack 2 and Vite. This episode is sponsored by This Dot Labs.
Jeremy is joined by Juan Balmori to talk about Outlook add-ins. Links from the episode March Office add-ins community call Outlook api public preview GitHub Issues UserVoice Microsoft News Introducing Visual Studio Codespaces: cloud-hosted development for wherever you’re working Announcing “A Lap Around Microsoft Graph Toolkit” Blog Series Microsoft Graph tutorial and quick start updates – April 2020 Build 2020 Community News Microsoft Graph Open Extensions Github Actions — Create an Event Using Microsoft Graph From Office 365 to my living room! Creating an SPFx Web Part using React Hooks
In this episode of Syntax, Scott and Wes talk about React Hooks, one year later — what’s changed, how to use them, and more! Sanity - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax. Sentry - Sponsor If you want to know what’s happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code “tastytreat”. Show Notes 1:26 - Hooks vs Render Props Hooks win hands down useState useReducer useRef useContext useEffect Custom hooks to hide and encapsulate functionality 35:06 - How we use them Scott Index that imports all custom hooks Babel alias to hooks folder Import { useHook } from ‘hooks’ useContextState Wes useResizeObserver useForm useGridRower useWickedFavIcon 45:54 - Which built-in hooks do we not use? useImperativeHandle useCallback useDebugValue 48:22 - Are hooks harder to learn? Wes: Yes — but easier to maintain after the fact Scott: Yes — harder conceptually and initially but easier after concepts are understood 50:29 - Are classes going away? Wes: I say yes Scott: Double yes Links Syntax Ep 092: React Hooks Making setInterval Declarative with React Hooks - Dan Abramov babel-plugin-module-resolver awesome-uses uses.tech ××× SIIIIICK ××× PIIIICKS ××× Scott: Ars Technica War Stories Wes: Mpow CH1 Kids Headphones Shameless Plugs Scott: All Courses - Sign up for the year and save 25%! Wes: All Courses - Use the coupon code ‘Syntax’ for $10 off! Tweet us your tasty treats! Scott’s Instagram LevelUpTutorials Instagram Wes’ Instagram Wes’ Twitter Wes’ Facebook Scott’s Twitter Make sure to include @SyntaxFM in your tweets
My JavaScript Story this week welcomes Paul Cowan. Paul works as a consultant in front end development. He learned how to program at a really early age but didn't own an email address until he was 30 years old. When he was 30 years old he wanted to change his lifestyle and attended a course in London and took a job as a software developer. Paul was interested in React because, for him, much of programming didn’t make a whole lot of sense until he read about the flux model and React Redux was one of the few frameworks that followed the flux model. Spending most of his life outside of the programming world has granted him a unique perspective framework like React. Host: Charles Max Wood Joined By Special Guest: Paul Cowan Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links RRU 088: Frustrations with React Hooks with Paul Cowan Paul's Twitter Paul's Blog Picks Paul Cowan: https://blog.logrocket.com/ Fitness and MMA Fight Charles Max Wood: "#100daysofvue" Vue Learning Challenge @ Devchat.tv YouTube Channel https://www.youtube.com/channel/UCABJEQ57MIn6X3TIHIebJUw/videos Devchat.tv Upcoming Workshops: "How To Stay Current" "How to Find Your Dream Developer Job" "How to Start a Podcast" Sign up for the newsletter @ https://devchat.tv/subscribe/ to receive information about our upcoming workshops
My JavaScript Story this week welcomes Paul Cowan. Paul works as a consultant in front end development. He learned how to program at a really early age but didn't own an email address until he was 30 years old. When he was 30 years old he wanted to change his lifestyle and attended a course in London and took a job as a software developer. Paul was interested in React because, for him, much of programming didn’t make a whole lot of sense until he read about the flux model and React Redux was one of the few frameworks that followed the flux model. Spending most of his life outside of the programming world has granted him a unique perspective framework like React. Host: Charles Max Wood Joined By Special Guest: Paul Cowan Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links RRU 088: Frustrations with React Hooks with Paul Cowan Paul's Twitter Paul's Blog Picks Paul Cowan: https://blog.logrocket.com/ Fitness and MMA Fight Charles Max Wood: "#100daysofvue" Vue Learning Challenge @ Devchat.tv YouTube Channel https://www.youtube.com/channel/UCABJEQ57MIn6X3TIHIebJUw/videos Devchat.tv Upcoming Workshops: "How To Stay Current" "How to Find Your Dream Developer Job" "How to Start a Podcast" Sign up for the newsletter @ https://devchat.tv/subscribe/ to receive information about our upcoming workshops
My JavaScript Story this week welcomes Paul Cowan. Paul works as a consultant in front end development. He learned how to program at a really early age but didn't own an email address until he was 30 years old. When he was 30 years old he wanted to change his lifestyle and attended a course in London and took a job as a software developer. Paul was interested in React because, for him, much of programming didn’t make a whole lot of sense until he read about the flux model and React Redux was one of the few frameworks that followed the flux model. Spending most of his life outside of the programming world has granted him a unique perspective framework like React. Host: Charles Max Wood Joined By Special Guest: Paul Cowan Sponsors G2i CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links RRU 088: Frustrations with React Hooks with Paul Cowan Paul's Twitter Paul's Blog Picks Paul Cowan: https://blog.logrocket.com/ Fitness and MMA Fight Charles Max Wood: "#100daysofvue" Vue Learning Challenge @ Devchat.tv YouTube Channel https://www.youtube.com/channel/UCABJEQ57MIn6X3TIHIebJUw/videos Devchat.tv Upcoming Workshops: "How To Stay Current" "How to Find Your Dream Developer Job" "How to Start a Podcast" Sign up for the newsletter @ https://devchat.tv/subscribe/ to receive information about our upcoming workshops
Season 3 officially kicks off with a special premiere episode! Our incredible hosts Zach and Ade spend some time catching up and talking about what they did over the holidays, and they also chat about a few things to get excited for in the upcoming season. More features, more profiles, more highlights - there's a lot to look forward to in the future! This show's a two-in-one, so be sure to listen to the whole episode. Ade graciously shares some very impactful content that she recorded themed around her career journey and eventual job offer, so you don't want to miss it.Click here to read the piece Zach mentioned titled "Democracy Grief is Real."TRANSCRIPTZach: Yearrrrrp. What's going on, everybody? It's Season--oh, my gosh. 1, 2... Season 3.A ghost: Sure is.Zach: More fire for your head top, and welcome back. Is that a ghost? Is that--A ghost: [whispering] "From the past, from the past, from the past..."Zach: From the past? Oh, my gosh. Y'all, welcome back Ade.[kids applause, then our hosts imitate air horns]Zach: Man, wow. Listen, it is 2020. It's 2020. Isn't that nuts? It's 2020. You know, I definitely want to say though, you know, I've missed you. Y'all know. Y'all have probably noticed that Ade has not been in the podcast regularly, hasn't been around, you know. Breaking my heart quite frankly, you know what I'm saying? I cried. You know? I was sad.Ade: [laughing] Like... okay. All right, sir. Zach: I'm just thankful. I'm happy that you're here, you know? Season 3 is gonna be crazy, right? We have a lot of stuff going on. We have, you know, More profiles and highlights from, you know, different companies. You know, we've had Accenture on, we've had the Coalition of Black Excellence on. We got some other conversations and things that we're cooking up, but nothing to share just yet, you know? We are working on a book. That's right, that's right. More to come on that later, but I'm just kind of throwing some teasers out there. We've got some other media that we're gonna be experimenting with this year. I'm really excited about that. And then, you know, we've got--what else, man? We've got, you know, Ade's--I'm not gonna step on Ade. So she has some content that we're gonna get into that she recorded as she gets into the next stage of her professional career and journey, but I'ma give her space to talk about that in a second. Before we go there though, let's talk about the holiday season. What did you do?Ade: Oh, God. What did I do? I--uh, I slept.Zach: Turn up.Ade: I ate.Zach: Yeah.Ade: And I twisted my ankle.Zach: How?Ade: I don't even want to get into it. [both laugh]Zach: Oh, no. [laughing] Okay. Um...Ade: The point remains. I survived. I survived the holiday season. I spent some time with my loved ones. I don't know if I've mentioned my nephews on here before, but I have two nephews, one who loves me and one [who] hates me. But, you know, thanks be to God. The one who hates me now loves me and he wants to spend time with me on a regular basis now. Zach: Children are a fickle beast, man.Ade: They are so terrible. They are unruly, and they are tyrants. [both laughing] But we love them anyway.Zach: Man, we do. I have a nephew. He is adorable. Goodness, gracious. He's adorable, but it's like--and I just realized I guess I should go ahead and drop the news. Sheesh, I'm talking about kids. Well, first of all, let me say this first. So I have a nephew. He is adorable. But he's a boy, right? And if I just--he's just gonna get away with everything if I babysit him 'cause he's just too cute, but he's mischievious. Like, he's a cute little mischievious kid, but I'm just not--and I'm just not tough enough, 'cause he's too cute. He's too cute, you know? Now, if y'all have ugly kids, like, bring 'em over. I'll be a great disciplinarian. But if your kid's cute--Ade: What?![record scratch sfx]Zach: [laughing] Nah, ain't no such thing as ugly kids. Children are a blessing, and it's awesome, and actually it's with that in mind, you know, I actually have some news, you know what I'm saying, I'd like to share. You know, if anybody follows me on Instagram--which y'all don't, 'cause my follower count is not that booming like that and I haven't posted on Living Corporate, but my wife and I are expecting our first child.Ade: Ayeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.Zach: A little girl. Very excited, you know what I'm saying? [ow sfx]Ade: You know, I just wanted to say that Ade makes a really great first name for baby girls. I'm just saying. Putting it out there.Zach: [inhales, then plays a laughing sound effect]Ade: Whoa! [both laughing] Whoa, what's with the personal attacks? Like...Zach: Oh, my gosh. Shout-out to my wife, my spouse, my queen, my rib, you know what I'm saying, Candis. Doing all the hard work, you know? I--you know, listen... I put in the work, you know what I mean, but I'm not really carrying the load, you know what I'm saying? So air horns for her. [air horns sfx] You know what I'm saying? Just really appreciate her. You said you ate, but you talked about some food--so what did you eat? Like, what was your favorite thing?Ade: God, that's a good question. I absolutely could go back in, like, my memory bank and take a look at these photos that I took of my [?] plates.Zach: All right. Pull those up, 'cause I know for me--like, and shout-out to my grandmother-in-law. She made all types of vittles. They were delicious. [Ade laughs, making Zach laugh] And shout-out to my wife--Ade: Did you just say vittles?Zach: I did say vittles. I'm trying to bring vittles back in 2020. Ade: Why are you so old?Zach: Think about the last time--like, we have not, our parents have not, perhaps our grandparents are the last generation that use the word vittles casually.Ade: Right, and I think that's for good reason and we should leave that term there.Zach: It's SO old. Vittles, dawg? It's so, so, so, SO old. Ade: Kind of like you. We know.Zach: Kind of like me, that's right. I'm a whole 30 out here.Ade: That's wild.Zach: I know, right? 'Cause you just turned, like, 19.Ade: ...Um, first of all, 16, thank you very much.Zach: [laughs] No, not 16. Nope, nope, nope. There's no creep life around here. Nope, you are 24, right? Or 25?Ade: I am 25.Zach: Congratulations on turning 25.Ade: 25.Zach: I was gonna say--I was in the middle of my shout-outs and my thanks before you rudely called me old. So my grandmother-in-law and then my wife made some incredible bread pudding. She made bread pudding with crossiants and then didn't use buttermilk for the cream, instead used--what'd she use? Egg nog just because she ran out of butter and was like, "Eh, it's kind of the same." That egg nog was HITTING. I said, "Yo, what is this?" I mean, it got ate up. Shout-out to my sister-in-law Holly. She made some incredible mac 'n cheese. And Holly--listen, man, shout-out to Holly, man. She is cool people. Sister-in-law, you know? I definitely consider her a Bucky, you know what I'm saying, in this space of allyship and war and fighting for equity and justice for underrepresented people. And you know how I know Holly is an ally? And I haven't told her this, so if she listens to this podcast it'll be her first time hearing this. [Ade laughs] I knew that she was an ally--first of all she's an ally off top, 'cause, I mean, come on. She's been down. She's been doing this. But a reminder of her allyship--'cause this is not the determinant, 'cause she's be an ally off of a bunch of other stuff--a reminder of her allyship, she was making macaroni and cheese, and she baked the macaroni and cheese, and I said, "I knew it, dawg. I knew it." Ade: [laughs] I...Zach: No, let me tell you something. She has never--she has yet to let me down. She holds it down, bro. She holds it down. Ade: You are so incredibly canceled. I can't.Zach: [laughing] Shout-out to Holly, my sister-in-law. Shout-out to all of my allies out there. And if you call yourself an ally and you're not baking your macaroni and cheese, you are not an ally, dawg.Ade: We don't know you in these streets.Zach: We do not know you in these streets if you do not bake your macaroni and cheese. Bake it. It is not done until it's baked.Ade: Because I don't--what are you doing? You are serving undercooked food.Zach: What are you doing here? What are you doing here? You're giving me these wet, hot noodles? Bake it.Ade: That don't even sound right.Zach: It don't. How something wet hot--come on, relax. So anyway, but man, let me tell you something. The highlight, from a cuisine perspective, was when my uncle Marvin brought in these pecan candies. My goodness. Listen, I said [blessings come in sfx]. Boy, the bless--boy, ooh. Too good.Ade: [laughing] What is your problem? Man.Zach: Bro. Man, let me tell you something. And everybody got their own little bag. Handed me that bag, I said [Kawhi what it do baby sfx, laughing]Ade: All right. So you are just starting 2020 off on all types of foolishness. All right, heard you.Zach: Listen, man, I'm over here--I'm so excited, 'cause you ain't been around for a while, but see, since you've been gone, we've been using this soundboard. And I'ma share the soundboard--Ade: I can tell.Zach: Oh, listen. The soundboard is heat rock. [owww sfx] You know? I just really enjoy it quite a bit. So let me think about this. You still haven't talked about the food that you ate.Ade: Oh, yeah. I have been really on, like, a smoky kick lately, so I had, like--I made macaroni and cheese but with all smoked cheeses, and it was just--Zach: 'Cause you like cheese like that. We talked about this. Like, were you just introduced to cheese recently?Ade: Yes, I was very, very recently, like a year ago, introduced to cheese. I have discovered that I'm still quite lactose intolerant. Like, my ancestors were not with the lactose tip, but you know what? I'ma take my chances. I had my smoked mac 'n cheese, and I had it with the best collard greens I've ever made in all of my life. When I drizzled that little bit of just maple syrup right on it with that smoked turkey stock, I was just kind of like...Zach: Goodness, gracious!Ade: God loves me.Zach: Oh, He does. That's true.Ade: Like, this is--this is proof of the existence of the divine, and that dude loves me--or dudette, you know? Non-binary--Zach: Yes. You know, it's funny because, you know, you and I are sitting here, right? It was a crazy year. A lot of stuff going on. You know, things that we can share in time throughout Season 3. We're talking about physical health, mental health, emotional health, financial health, right? Career personal or professional development. It's interesting because, like--I don't know, man, and I'm kind of jumping all around 'cause I'm so excited. I'm excited for you to be here, but I'm excited just to, like, kick off this season, and so, like, this is, like, a loosey--like, we don't have a formatted, you know, interview or anything like that. We're just chopping it up, welcoming Ade back all the way, but I don't know, man. It's just been a lot, and it's just interesting because we were creating content for Living Corporate, and at the same time we were--you know, it was helping us while we were helping other people, you know what I'm saying? So let's do this. Like we said before, you have something that you already had, like, created and recorded that I think would be really helpful for us to put in on this episode, so why don't we talk a little bit about that and then we'll transition to that?Ade: Awesome.Zach: So talk to me about, like, what was it? Like, I know we talked about--like, your journey, you've had some updates in your life and what you've been doing professionally and personally. Like, what was it that we're gonna be listening to in a minute?Ade: Yep. I'm just gonna take a sip of my mimosa, because I just feel really good about where I am right now spiritually, so...Zach: There you go.Ade: [clears throat] La la la la. All right, y'all. So your girl is officially a junior software engineer. [champagne popping sfx] Pop! [laughs] Yeah, no. I started my new position as a junior software engineer, and it's honestly been surreal, my entire experience. I applied for a job, got a call back almost instantaneously. So I made it through the first call, the phone screening with the recruiter, and then I had a technical interview, and then I had an in-person interview that was also sort of technical, and then I had a job offer. And all of that took the span of a week and a half. I literally applied to the job on a Wednesday. The Friday after that--like, the week after that, on Friday, I had the job offer in my hand, and I actually had a competing job offer to move to Boston at the time. So it was--it honestly was an incredibly surreal experience. I went from there were days I would literally wake up to, like, five, six, seven, eight letters of rejection in my email first thing in the morning, and I would like to kind of explore a little bit further the toll that job searching takes on your mental health, because there's--there were certainly days when I would literally just feel dejected. In a society where you are kind of graded--not just graded, your worth is judged off of, you know, in relation to you and relation to your humanity, how much are you worth within a capitalistic system? And my job at the time was incredibly toxic. I felt dejected pretty much every single day waking up, but that wasn't the end of it, and I am so glad it wasn't. And it was, you know, thanks to people like you, people like my best friend Kendall, people like Liz, who really, like, affirmed me, because I have a tendency to internalize situations and, you know, look for ways in which these things were my fault. And I remember even having a conversation with Liz where she literally said, "These are all symptoms of an emotionally abusive relationship," and I'm like, "How do you have an emotionally abusive relationship with your job?" [laughs] But that's entirely real. It's a real thing, and just being able to step back from all of that and literally, like, wash my hands off at the end of the year and never have to speak to those people again or never have to be in a situation in which I feel as though I'm compromising my mental health for the sake of I have to take care of my family and I have to protect what's mine... yeah, you guys are gonna hear a whole lot more of that as the episode continues, but I'm nothing short of eternally grateful for the fact that 2019 is over, but it's over and I took it like a G. Zach: Yo, and shout-out to you for that. [both laugh] Yo, 2019 was hard.Ade: 2019 whooped my ass, okay? But you know what? I whooped it back.Zach: Listen, 2019 was--2019 was coming from your boy's neck, okay? It was like, "We're coming for you, sucka." It's like, "My gosh, leave me alone, 2019. What y'all doing?" But you're right though, and you know what? Look, it's a new year.Ade: Yep. New me.Zach: Yeah, it's a new year. New spaces, new mindsets. You know, new opportunities and just space to reset and really get bcak on it, right? Like, I'm hoping that most of us were able to take some time away for the holidays so we could come back at least somewhat refreshed for a new year, a new decade. You know, a lot of people have been saying new decade and stuff, but let's just take every day as a blessing that it's a new day, right? Like, you may not see 2030, right? But you have--if you're listening to this right now, you have this day today. And so just being excited about that. Let's see here. We're gonna transition over there. Before we do that, Ade, is there anything else that we need to talk about?Ade: I do want to make a quick note about--so we're currently in a time of upheaval. I'm not gonna make too much reference to that, I just want to kind of make the point--well, two points, one that we don't lose sight of humanity as a whole in trying to protect our daily reality, and two that you don't let whatever's happening in the news cycle sway you off of the intentions that you've set for this year. You set those intentions for a reason. You set those goals, whatever that you did, for a reason, and hopefully you are recognizing all the ways in which the news cycle could be causing any number of anxious or negative thoughts or anything like that, but I do want you to be able to step back, and by you I mean the entire Living Corporate family. Be able to recognize when you are stuck in a feedback loop of negative thoughts, negative news, negative content, and kind of find your way back to your center, because as long as there is a world out there, there is always going to be negativity to feed into, but don't let your 2020 start off with that. We literally just kicked 2019's butt. 2020, let's focus more on our communities. Let's focus on our mental health and smashing our goals.Zach: Yo, amen to that, you know what I'm saying? Like, I super agree. [Ade snapping in the background, laughing] And, you know, I think what you're speaking to also is, like--so you talked about upheaval. That reminds me of two things. One, I just read this article--and I'll put it in the show notes--called Democracy Grief is Real, and it's an opinion piece from the New York Times, which is, like--we can talk about the New York Times at a separate time, but this particular piece was very good, and just talking about the toll, the mental and emotional toll, that the world's events has taken on you. Like, just being more and more aware of, like, systemic injustices, oppression and, like, blatant unethical behaviors, like, just the impact that it has on you just living, right? Just you seeing that, what does it do to you? And I think, you know, to that point, like, I'm really excited because this season, we're gonna be talking about real structural inequity. We're gonna be talking about--like, we're really gonna be calling out white supremacy and patriarchy and privilege and access and holding people, institutions of power, to account when it comes to how they can better support and create more equitable places for black and brown folks, for underrrepresented folks, for non- straight white able-bodied men to work and to exist and to live, you know? I think 2020 is gonna be a really interesting decade in that you have, like--I think that there's a certain level of consciousness that, like, people are waking up to. I don't think there's gonna be some great revival or anything like that, so don't misquote me, but I do think that, like, certain things are coming to a head. I do think that, like, when you talk about diversity, equity and inclusion work, there just is gonna be less and less space for, like, the corporatized, white-washed talk tracks that we typically hear. I think that--I just don't see those things surviving. I think that, like, technology and just access is changing for black and brown folks to the point where--and this generation, like, they're just not gonna stay. Like, they're just not gonna stay and put up with being mistreated. And we've seen it already. Like, we've seen it. First of all, this is not a new phenomenon. We've seen this since--we've seen this from the jump, for black folks at least, but just for all oppressed groups in America, eventually there's going to be resistance, and I just think that that's bubbling up into these very, like, corporate spaces too, and so I'm excited because some of the guests that we have this season are really gonna be getting into that, really giving, like, really honest and approachable at the same time advice on what leaders can be doing to either disrupt or dismantle systems that have historically disadvantaged black and brown folks, underrepresented folks, and I'm just really excited about that. Like, we had a few people hit me up last season, Ade, like, kind of salty about, like, the content.Ade: Really?Zach: Yeah, just a little bit. Like, just a little.Ade: Why though?Zach: Why? Well, they were like--they just felt like some of it was a little too--a little too honest, a little too black, you know what I'm saying? But--Ade: May I address that real quick?Zach: Go ahead. [laughing] Ade: Ah, let me lubricate my throat. [clears throat] ~Kick rocks.~Zach: [laughs] There are folks who want to do diversity, equity and inclusion, but they're trying to figure out a way to do it without, like, offending white folks or offending the people in the majority, so--Ade: Which I don't understand. I don't believe your sincerity as someone who professes that--and I recently saw a tweet, and I wish I could quote my source, but I saw someone say "Switch the D in DE&I from Diversity to Decolonization."Zach: Oooooooh! Ade: Fire.Zach: That--wait, hold--what? Yo, that is--Ade: Fire. Fire.Zach: No, that is--[Flex bomb sfx] That is fiiiiiiiireeeee. Are you kidding me? [air horns sfx] Switch the D from diversity to decolonization?Ade: Bro, it literally changed for me the entire framework of DE&I, because if you were taking a liberation stance within the context of what a workplace environment needs to be, you are approaching that from the context of not only do we not care about your discomfort, we're actually actively pursuing your discomfort because your discomfort is where your decolonization lies. Like, that's where you're going to address all of the biases you have that you've had the privilege thus far of not having to confront. And not even your biases, but we're, like, actively taking back space from you and giving voice to the people that have been deliberately silenced in these spaces. So again, the reason I say kick rocks is because, I mean, we're decolonizing this space. This is a decolonized space, my accent aside, so we're really not--[both laughing] Inside joke. So as far as I'm concerned, like, there's no such thing as prioritizing the feelings of the oppressor over the oppressed. And yes, by default, if you are not the oppressed, you are the oppressor. That's--Zach: And this is a binary that we actually accept on Living Corporate, you know what I'm saying? You know, we affirm LGBTQIA+ identity, right? You know what I'm saying? We had content last season about being non-binary. Yo, that's great though. I'm trying to find this tweet that you said. If you just made that up it's still fire, but--Ade: I swear I saw it on Twitter.Zach: It's just a great quote. I love that. I love that. But no, you're absolutely right, and I think it's interesting because when you hear some of the episodes--when y'all hear some of the episodes that, like, we have this upcoming season, it's all about, like--like, these are people who are CEOs of, like, diversity, equity and inclusion firms. Like, they're consultants. They're executives. And I'm noticing there are certain, like, benchmarks around, like--you can kind of tell, like, kind of just where people are, but most people tie the diversity--they tie equity to justice, right? Like, when you talk about the true DE&I work in this space, it's all about justice, and it's interesting because I've seen, like, executives of, like, major corporations talk about--there was a recent article from Harvard Business Review about creating, like, black equity at work, and I was like, "Look, y'all are retweeting that. Consider what this means before y'all start saying you want equity at work." Equity at work means, like, a certain level of, like, right-sizing (?) and really, like, restorative behaviors that, like, America hasn't even, like, grasped onto yet. So, like, the concept of equity when it's truly driven to, like, its--like, when it's really grasped is, like, radical. Like, that's a radical thing to propose, and it would disrupt and disassemble so many things that have been longstanding, that have been comforting, to those in the majority, and so anyway... my whole point is that, like, I'm looking forward to, like, scaring myself with the content that we're putting out this season. I don't want to make--I don't want to pull any punches. I'm just excited about this season. So if you're listening to this and you're passionate about being seen, being heard, you're underrepresented, or you're an advocate, an ally of the underrepresented at work, and you'd like to journey with us, you'd like to be on the show with us, just contact us through the website. I guess that's it, you know? What we're gonna do now is we'll pivot over to Ade's recording that she had, and this was last year, so if you hear any references that's what that's about, but we're really excited for y'all to check that out. Ade, any parting words before we transition up out of here?Ade: No, let's just, in 2020, resolve to live our best lives, and I mean that in, like, the healthiest way possible. I've been guilty of using that phrase to justify the worst of my excesses [?] in the past, and no promises that I won't do so again in 2020, but let's resolve to, you know, prioritize our health, and our mental health in particular, and, you know, check in on your friends, because many, many, many of your friends are having a difficult time and don't know how to say it, but I believe in the power of community, and I believe that we as a whole are capable of holding each other accountable, yes, but also really uplifting each other in ways that are awesome to behold. And I do mean that in the old school awesome--shout-out to Zach, you know, reviving the meanings of old words, but... [both laughing] Old school awesome in that, like, awe-inspiring [way]. But yeah, you're listening to Living Corporate, y'all. [both laughing] Peace.Zach: All right, y'all. Welcome to Season 3. Hope y'all stay around. Excited for y'all to come on this audio adventure with us this year, and we'll catch y'all, shoot, next week. Peace.Ade: What's up, y'all? This is Ade. I just wanted to pop my head back in. It's been a very, very long time since I've been around, and it's been intentional. It was an intentional break. I had to--this has been a very difficult year for me, but also one of the best years of my life. I had to take a step back from a lot of things and really reassess, you know, my journey, my progress, and really where I'm trying to go with my life. That sounds like a lot. Good news, bad news. Bad news is, you know, I turned 25 and I still don't know what I'm doing. [laughs] I still don't truly know the meaning of life, my life, but, you know, it's cool. I'm still defining that, building my parachute on the way down. Good news. Remember when I said I wanted to be an engineer? I did it! I got an official offer, and I will be starting in my role very, very soon. Your girl is officially a full stock software engineer - junior software engineer, but a software engineer nonetheless, and I just kind of wanted to share what went into all of this. It's been nearly two years. Actually, it's been two years since I decided that I was gonna do this, and it's been I think the hardest thing I've ever done, and this episode is all about telling you how and why. This is Ade, and you're listening to Living Corporate. In order to be successful, I have distilled all of the things that I've learned down to three key ingredients - grit, faith, and humor. So many of you have been following this podcast for a while, and you might not know, me, since I've been gone for such a long time, you may not know why I am where I am and what led me to deciding that I was gonna become a software engineer, and the story I always tell is that, you know, on the eve of my 23rd birthday I wrote 23 promises to myself, and the very first one was that I was gonna learn a new skill and I'd learn how to code. What a lot of you don't know is that the reason I even got there in the first place is because I went through a really, really bad break-up--and this is gonna be, like, super vulnerable, and I am not gonna make eye contact with anybody who listens to this for, like, a solid year, because I don't bare my soul this often. [laughs] Yeah, so I went through a really bad break-up, and it had me questioning, you know, myself, my self-worth, whether I was a good person, and it really, like, shook me to my core, and in the midst of this break-up, right before my birthday, I had gone to a workshop called Hear Me Code. It's an organization now semi-defunct, but it's led by a lady named Shannon Turner, who takes an afternoon and just teaches a whole bunch of women the basics of Python. And there are three levels. There's Level 1, which is what I found myself in, and then you have Level 2, who are people who have already been to Level 1 who have the fundamentals and are trying to get a little bit better, and then you have Level 3, which is people who have been to both Level 1 and 2 or are more intermediate programmers and are, like, [?] projects and all of that, all of the other fun stuff. Now, into this little story is where I find myself. I went to this thing. I had dropped out of grad school. I was, again, in the middle of this, like, super toxic break-up, and I just needed to feel good about myself, and so I decided, "You know what? I'm gonna be spontaneous and I'm gonna do this thing." And I had this old rinky-dink laptop. It took, like, 15 minutes to get started. And I didn't know a thing about anything. My whole life up until this point had been political science and sociology and philosophy, and I consider myself a relatively cerebral person, but, like, not smart. Like, I was not--I didn't consider myself in any way technical. I avoided math like my life depended on not knowing what, like, algebra was. It really--I defined myself as a person who was incapable of doing certain things, and programming would be one of those things, and so in this time when I found myself and my definition of myself unraveling, I needed to know that I was still capable of finding joy in the little things. So I went to this workshop, and I loved it. Like, my computer couldn't, like, do anything, so I actually found myself on a website called Repl.it, and it's basically, like, an online environment where you can write code and run it and see it work, and you don't necessarily need to have, like, mastery over your terminal, you don't need to concern yourself with anything that's going on on the backend. You can literally just, like, print "hello world," and it'll print hello world, and it is a magical, magical place. And this was important because first it showed me the value of creating. Never considered myself a creative, but being able to be in a space where I was literally, like, forming whole things and commanding the computer to do something and it did it, I felt powerful. I felt like a magician. I thought, "You know what? I'm gonna learn how to code," but then my computer died and I packed that up, and I didn't really pick up programming again for several months after and then came the end of October. I had, you know, moved out of my apartment at the time. Again, this, like, really, really scary thing had happened to me with my ex, and I had moved home, and I felt like a failure, and I was, like, laying in a sleeping bag next to my mom's bed, and I was up all night just, like, writing these promises to myself. I had sourced promises from other people, but the very first thing I could recall thinking was, like, "I want to be better. I want to be a better version of myself, and the gap between who I am now and the best version of myself can be bridged. I know it." So I thought "You know what? I'm gonna challenge myself. I'm gonna make these promises, and I'm going to keep t hem, and I'm going to find 24-year-old Ade to be a better version than 23-year-old Ade, period. No questions about it. I'm not doing this again." So I wrote those promises and I asked the people I love to hold me to them, and in the next year I moved out--like, I think three weeks after that I found another apartment, moved out to Alexandria, found a job that I really liked, and it all seemed to be coming together, but then my computer, the old rinky-dink computer, just died, and I didn't have a whole lot of, like, personal time, so programming just kind of went by the wayside. Like, I would pick it up every once in a while, and I would complete a couple of sessions or a couple of lessons, and that'd be that, but then I applied for this Udacity scholership and I got it, which, if you know anything about me it's that, like, I really don't win things very often, which goes into the narrative that you tell yourself about yourself, right? About whether or not you're a winner or whether or not you're deserving, whether or not, like, this life thing is a thing that you can succeed at. And, like, as a side-bar, negative self-talk has been a thing for me as long as I can remember. I have never been the sort of person who wakes up in the morning and is like, "You can do this. You're amazing. You're awesome. You can take anything that life throws at you," etc. A. I'm not a morning person, so, like, don't talk to me until 11:00 a.m., and B. I just never had the voices in my head that were, like, super positive. Like, all the voices in my head were kind of assholes. Sorry to whoever's listening to this and doesn't like bad words, but they were, and so throughout this process I've actually learned that, like, affirmations are a huge, huge, huge thing for your mental health, and it's something that I incorporate now into, like, my life. Like, affirmations. You need to hear yourself speaking well of yourself to yourself, and if you take nothing else from this podcast, take that. So we're back in, what is this, 2018? Yeah. Is it 2018? I don't think it's 2018. What is this, 2019? The years melt together. Yeah, it is 2018 actually. So in 2018 I have this fantastic job, friends, and I meet somebody new, and everything is going swimmingly, but I'm not truly, like, learning at the pace that I should be, so I'm going to tell you about the very first mistake that I think I made out of--the biggest mistake I made, not the very first one, because whoo, there were many. There were many, they were varied, and they were huge. Now the very first mistake I made was that I let myself get distracted. Life is not a distraction. Joy is not a distraction. Being social, letting yourself love and be love is not a distraction. What is a distraction is when you create a goal for yourself and you do not take the necessary steps in order to get there. Now, there were times throughout this journey--and anybody who knows me can attest to this--where I'd work a full work day and I'd come home and work until 2, 3, 4, 5:00 a.m. in the morning even studying, or I'd wake up at 2:00 a.m. and study all the way through, get dressed, go to work, come back home, continue studying. And I'm not saying that that's something that you have to do, I'm just saying that it's what I did. Then there were days where for, like, weeks at a time, I would not pick up a book. I would not open my Udacity course. None of those things. And allowing yourself to be distracted in that way is doing yourself a disservice, not only because your brain relies on consistency--like, you literally need consistency in order to get anywhere, right? Like, sometimes we have this fantasy in our heads that, like, we're smart, so all it'll take is, like, the movie montage of, like, a week of studying something, then you'll be perfect at it. But if you've ever heard of the tale of 10,000 hours, like... Lebron James and Gordon Ramsey and Insert Person Who Has A Mastery Of Their Art Here didn't get where they got because they put in a week of work. It required constant effort and practice to attain perfection, and allowing myself to get distracted was so much more detrimental than the times in which I would go at something for hours at a time, simply because during the distractions are where your negative self-talk becomes the loudest, right? Like, when the voices in your head that are telling you you're not capable of doing it, in that lull, that's when they seem right, right? Like, you don't do something correctly and you say, "Oh, my God. I'm never gonna amount to this lofty goal that I set for myself," right? Then you procrastinate and then you walk away, and now you have one more goal unfulfilled. So if you take, yet again, nothing else from this podcast, consistency is key. So if you remember at the beginning of this conversation I said "grit, faith, and humor." So grit is the concept that you are persistent, that you allow yourself to fail and you pick yourself up and you keep going. Actually, over the course of my studies I developed a mantra for myself because it got to be almost crippling, this fear that I had of failing, so I'm gonna read it to you guys. I hope it's helpful. I hope you guys like it. So here's my mantra: "This is why I'm here. I like succeeding at the difficult things. I like the win. I like the burning in my lungs and the adrenaline in my veins. I like the view from the top of the mountain and knowing I conquered. I am not a quitter. I do not lose. I will not be defeated by the gaps in my knowledge. I will not be defined by what I cannot do. I believe in my ability to make sense and wholeness out of the things that are new and scary. I will not be ruled by fear. Ever." There were days where I would write that mantra out to myself over and over and over again on a pen and a pad of paper. I would type that out before I got started sometimes on my lessons. I would read it over and over and over at myself in the mirror. Because fundamentally, this thing that I'm doing where I'm trying to, like, shift the course of my life--and it felt like the weight of my whole family was on my shoulders--that's scary. It's intimidating. If you don't have grit, it might crush you. And that goes for literally anything. For those of us who are underrepresented minorities, who are first-gen, who are the first in our families to attain a certain level of success, you know how scary that success is and the bare-knuckled grit that you have on everything to make sure that nothing falls and nothing fails. You have to let go of that. That fear is only keeping you from being the best version of yourself. By the way, this whole process didn't turn me into, like, a motivational speaker either. So [laughs] if you want to, like, skip through half of this, that's totally okay. I'm not taking offense. All right, so I told you why you need grit. Now why do you need faith? Faith got me through the worst of what grit couldn't. After I got to a place where, you know, I had done all of the things that people say that you need to do--you learn the fundamentals, and then you learn the framework, then you build projects, build more projects, build a portfolio, build more projects--after I did all that I started applying. I applied to internships. I applied to externships. I applied to jobs in Poland. I applied to jobs in Iceland. I applied to jobs that would require me to live in places where it's -20 degrees on a regular-degular-schmegular day, and I don't know if you know me, but I'm African, and we don't do that. [laughs] And every single time I got, like, a "No, thank you. Sorry, but no thank you. We have decided to move on to other candidates at this time. Best of luck." One that actually really shattered me--I got all the way through a lot of the screening questions, and this company that shall not be named sent me a link to a personality quiz. And I took it. I was like, "Okay, cool. Whatever." And then they sent me an email back like, "Sorry, your personality is not best-suited for my company." I'm like, "Wow. My whole personality, fam? My whole personality is not best-suited to be a software engineer? Bet." But I had faith, right? Like, you reach a plateau once you have done the work and you've put in the effort and you've put in your blood, sweat, and tears--I actually bled once. Long story. Don't want to talk about it. [laughs]--and yes, there were lots and lots of tears, but once you get there there's a certain faith that you have, right? And it helps when you have people around you who keep you keeping the faith. For me, I had my best friend. My best friend is also a self-taught developer, and it's really uncanny, but we're the same person. He has, like, 8 years on me, but we are genuinely, like, the same person. It is so odd. We have the exact same reactions to things, the same mentality, but he's a better version, right? Like, he's had 8 years to hone his craft. And the level of dedication and will that he showed, I had to level up. I had to match that level of intensity, and when I ever felt like I couldn't do it, he always came through with a pep talk. Before my very last interview where I got this position, I will never forget. I was on my way to my interview, and he literally said, "You're not looking for a job to be a developer. You are a developer. You're just looking for a chance to prove it." And that confidence I think showed up in my interview, because I have never spoken so confidently about MPC controllers. [laughs] I've never spoken so confidently about use-state hooks in my life. And that faith that I had that everything was gonna work out, I keep that still, right? Like, ever since I got the position, I've had the recurring thoughts of "What if I get there and I flame out? What if they rescind their offer three days before I get there?" You know, any number of, like, worst-case scenarios, and I now have this new voice--super quiet, but it's there--that's saying, "Bro, you'll be okay. The same way you got that job is the same way that if anything happens to that job you'll get another, because you've done the work. You've done the work and you've gotten this far. Doesn't matter what anybody else says now." So last thing you'll need is a sense of humor. You may have heard me chuckling a few times, and that's because I remember the number of days where I literally would have to get up in the middle of my studies and have a dance break. I would reward myself with dance breaks, whether or not my code was actually working, because I felt that because all of this was so heavy and because I needed to tap into my, like, inner wells of grit and strength that I did not have before I started this process--trust me, I was a wilting flower in the sun before any of this got started, and I'm still a wilting flower in the sun in a lot of ways, but--levity and humor are so underrated, because it literally lightens your spirit, right? Like, finding a way to find a way to laugh will take you far, not only because it shows that, like, you're still here, like, the core of your personality has not changed, it also shows that, like, there's a light at the end of the tunnel. You might feel like you're going through the crucible of your life at this point, but at the end of it life is still what you make it, right? And I just laugh through things. I choose to find the levity and find the joy and find the light and hold onto it, and that's all I'm gonna say about that. In whatever ways you find humor and find joy, I encourage you to hold onto that. So now some actionable tips, because I've just been giving you the feels. [laughs] Some real things that you can actually do if you want to be a developer. #1: Set a goal. That was the very first mistake that I made. I said, "I want to learn how to code." I didn't say, "I want to learn how to be a front-end developer or a back-end developer or a full-stack developer or a DevOps engineer." If you don't know what any of those things are, good. Go look them up. Anybody these days who asks me how they can break into tech, how they can learn how to code, how any of those things, the very first thing you need to do is define your goal, set it, and then develop your roadmap, because otherwise you are literally going to be twisting in the wind because you have no idea where you're going. There's nothing worse than a nebulous understanding of what you want. If you start a journey, you have to know where you're going. I mean, sure, you can do what I did and, like, get in the car and say, "I want to go somewhere," and, like, find yourself stranded in the middle of Oklahoma... but, like, I wouldn't advise that. Don't do that. Do it the smart way. Define what you actually want to do. Sometimes you might, like, look up what front-end developers do and be like, "Yeaaaaaaaah, no. How about I go into cybersecurity?" Like, it's an entire about-face, which is why you need to--it's a good thing to do to define the parameters. It also helps you know when you have succeeded, right? A lot of the fear that I had when I first started to apply to positions was that, like, I don't know that I'm a developer yet, right? I don't know that I'm good enough to apply to places, and that's because I never defined for myself what it means to be good enough to apply to places, right? There are places that will take you when you are, like, an unformed ball of Play-Do and fashion a developer out of you, and then there are places that want you to show up as Michelangelo's David and then, and only then, will they give you a position in the company, and then there are places that are vastly varied in-between and you have to figure out what it means to, like, throw your dart at one of those places in-between or, you know, whatever end of the spectrum you want to live in, and know that you're able to get into those doors. Set a goal. #2: It is okay to reassess or change your mind. When I first got started, I said, "I'm gonna be a front-end developer." Actually, no, I said, "I'm gonna be a full-stack developer," and then I said, "I want to be a blockchain engineer." And then I said, "I don't want to do this at all actually. Never mind. I change my mind." And then I said, "You know what? Being a full-stack engineer sounds good. How about I do that?" You can do that, just make sure it all goes back to #1. Make sure that once you've changed your mind, once you've reassessed, once you've course-corrected, you still set a goal and define for yourself what it means to have reached it. Cool. #3: Learn from others. I cannot stress this enough. Learn from others. Learn. Learn from others. Quick ASMR for your head top. Learn from others. It's important. A. This is an industry, tech in general, that is far more collaborative than you might think it is. If the idea you have of hackers in your head is the person who's, like, in a basement somewhere and frantically, like, typing on their keyboard and I don't understand how they haven't broken their keyboard, but they're frantically typing and you see a whole bunch of, like, green letters and numbers on their screen, and it's great, and then, like, five seconds after they stop typing--[Ade types frantically]--"Got it! I'm in." Yeah, no. That's... no. If I'm typing that furiously, it's because I'm looking around on StackOverflow trying to figure out where I went wrong. There are whole communities on Reddit, StackOverflow, Free Code Camp, which are geared towards helping you not sit and look for six hours for an answer to a question that 100 million people have also spent six hours searching for an answer to. Like, you literally can go to StackOverflow or, like, type out whatever your error is, and then at the end of your error type "StackOverflow," and I can almost guarantee you--like, you're not the first person to break whatever it is that you broke. There is nothing new under the sun. Maybe a new language, maybe a new framework, maybe a new whatever, but there is something that is so new that somebody else hasn't thought about it, asked that question and probably solved it. So yeah, allow the successes and failures of others to help inform you. Learning from others is not just about being online. Part of the thing that helped me, I went to meet-ups. I actually briefly served as an organizer for Black Code Collective, which, like, will forever have my heart. Women Who Code, [?]. There's so many different meet-ups. And, you know, D.C.'s not unique in having those organizations. They're all over. Go to meetup.com, as long as it exists, and look for those communities near you, and be intentional about the workshops that you go to, the people that you meet, because those networks are also important. You do not have the luxury, if you're a self-taught developer, of sitting back and waiting for the universe to, like, drop knowledge or networks or contacts or jobs into your lap. You have to do the legwork of developing and building those communities for yourself, which brings me to my final point. Standing on the shoulders of giants still requires you to do the work. I'm gonna repeat that because I kind of said it fast. Standing on the shoulders of giants still requires you to do the work. One more time for those in the back. Standing on the shoulders of giants still requires you to do the work. You have to do the work. There are no shortcuts through it. I'm not one of those people that, like, tells you, "You have to work 50, 60 hour weeks in order to get where I am." I'm telling you what I did. But there's something universal about what anybody else has done. You have to do the work. We all have done the work. We're going to continue doing the work, because this is not an industry that stagnates. I'm sure whatever I learned back in 2018--I mean, literally, what I learned in 2018 about React has changed because of React Hooks. So I don't know what to tell you. You have to do the work. There's nobody who's gonna, like, come and crack your skull open and dump all that there is to know about programming in your head or whatever it is that you want to study, whether you want to be, like, in cybersecurity, you want to be a PIN tester, you want to be a cloud engineer, cloud architect. None of those things are going to happen unless you do the work. You have to do the work, and for those of us--this is a part that I hate having to say, but for those of us who are underrepresented minorities, you will hear people say "Take shots that mediocre white men will take," because, you know, "They're a mediocre white man and they'll take it, so why can't you?" I'm not saying you can't. I'm saying that you have to pull up to those rooms as the person that you are because they will check you in ways that they won't check the mediocre white man. If there are gaps in your knowledge, that's something that a weekend of studying can fix. You cannot allow there to be gaps in your will. You cannot allow there to be gaps in your faith in yourself. Well, yeah, that comes right back to the very first thing that I mentioned - grit, faith, and humor. You cannot allow there to be gaps in any of those things. I hope this helped. I am also gonna be writing a thread about this later on. There's a thread out there, it's called #30DaysOfThreads, and I'm probably gonna be contributing to that hashtag just to share more concretely some of the tools, some of the resources that I've used, so I look forward to sharing some of that information with y'all. I really hoped that this helped and I wasn't just, like, ranting for no reason. [laughs] Which I've been known to do, and I hope that, for those of you who are going on a similar journey--and this has been pretty tech-specific thus far, but people do career pivots in any sort of direction, right? Like, there are people who are pivoting from having a 9-to-5 to being an entrepreneur, and I think there's some things that are universal. If you are pivoting from being a banker to being a teacher, there's some things that are universal. You are going to need grit. You are going to need faith. You are going to need humor. Maybe that should be the title of the show, I don't know. [laughs] All right, that's it from me. Thank you for listening. The Living Corporate family has been incredibly supportive. I want to thank Zach in particular for not giving up on me, because somewhere between all of those months--I think there were months at a time that I gave up on myself, and it showed, [laughs] but we're here now. I also want to give a quick shout-out to my grandma, who died I think two weeks before--was it two weeks? Yeah, two weeks before I actually got this position, and now I'm gonna be a little teary on the mic. Like I said, 2019 was a hard one, but... I come from a very long line of powerful, intelligent, capable women, and she was one of those, and the world is a slightly dimmer place without her, but... I gained an angel, and there's nothing more empowering than knowing that you did this thing, turned everything around for yourself, and being able to, like, look up and say, "I did it, and I know that she saw it." Okay, I'm gonna stop now. I've been, like, more vulnerable in this I want to say 40+ minutes than I've been in, like, a year, so this is my dose of vulnerability and realness. I'm gonna go back to masking my vulnerability with many, many things that I'm not gonna be discussing on this podcast. [laughs] All right, I'm gonna go. Thank you so much for listening, for your support, for your guidance, for your prayers. This has been Ade. You've been listening to Living Corporate. Peace!
D3.js is the defacto library that people use to create custom data visualizations on the web today. It's powerful and flexible. You can do whatever you want with it. However, that kind of power and flexibility comes at the cost of complexity. You have to know what you're doing, and it takes a long time to learn. There's existing content written on D3, but there's always room for another voice. With the help of Newline, Amelia wrote the book of over 600 pages, Fullstack D3 and Data Visualization. In this book, she teaches all the theory and application you need to know to make badass visualizations using D3. Amelia also takes the unique approach of having you use your own dataset! Data that means something to you is going to be much more interesting than anything that could be provided.As a React developer, Amelia wrote the excellent blog post Thinking in React Hooks. She says that you have to make a paradigm shift with hooks. You can't keep thinking about your components in terms of lifecycle, but instead, think about them in terms of data synchronization. Transcript"Writing The Book On Data Visualization With Amelia Wattenberger" TranscriptResourcesFullstack D3 and Data VisualizationThe Visual Display of Quantitative Information by Edward TufteThinking in React HooksAmelia WattenbergerTwitterWebsiteJoel HooksTwitterWebsite
Schepp, Hans und Stefan in einer flotten Diskussion über ein neues React Feature, das die klassische klassenbasierte Komponenten-Bibliothek ein wenig auf den Kopf stellt. SCHAUNOTIZEN [00:01:08] HO…
On this special episode of The Diff, Instagram software engineer Kathryn Middleton, and React Native engineering manager, Kevin Gozali, join Joel on our final live broadcast from the F8 2019 conference to discuss the current state of React and React Native. Learn why React Hooks is such a big deal, how React and React Native cooperate on roadmaps, and about some of the exciting new features for both. Also, we talk about the shift in focus for React Native on open source. F8 class on React Hooks F8 session on React, Relay, GraphQL F8 session on React Native, ComponentKit, Litho
Brent Vatne is a Software Engineer at Expo. He joins hosts Jared Palmer and Ken Wheeler on The Undefined to talk about the future of the web, native development, and more.FeaturingBrent Vatne - Twitter, GithubKen Wheeler – Twitter, GitHub, WebsiteJared Palmer – Twitter, GitHub, Website