RRU 037: Make Backend Devs Jealous of Your Test Suite with Carly Litchfield
React Round Up13 Nov 2018

RRU 037: Make Backend Devs Jealous of Your Test Suite with Carly Litchfield

Panel:
  • Nader Dabit
  • Lucas Reis
  • Justin Bennett
Special Guests: Carly Litchfield In this episode, the panelists talk with Carly Litchfield who is a Full-stack engineer of React and React Native. The panel and Carly talk about frontend and backend developing and the issues that teams could face day-in and day-out. Listen to today’s episode to hear about that and much more! Show Topics: 0:00 – Kendo UI 0:30 – Nader: Welcome! Our panel is Justin, Lucas, myself, and our guest is Carly. Welcome to the show! Thanks for joining us. Introduce yourself please. 0:56 – Carly: I am a fullstack engineer at a company called Zocdoc. I have been there for 4 years, and we use C# framework. 1:17 – Nader: C# interesting! 1:26 – Nader: You can do game development and other stuff. 1:33- Carly: I haven’t gotten into game development at all, just using C# for web development. 1:50 – Nader. 1:55 – Carly. 2:08 – Nader: The topic for today is: being a frontend developer and a team that is mostly focused on backend. Also, other topics with testing if we have time. How did you get into web development? 2:32 – Carly goes into detail about how she got into web development. 5:02 – Carly: I have worked with React Native, too. 5:22 – Nader: That is my favorite thing to work with (React Native). 5:27 – Panel: Everyone was learning about this new domain and this frontend domain. How was the knowledge spread? How was it spread throughout the company? 5:50 – Carly: One of the people someone that was on this 3 – person team (Thomas) and he went around to anyone who knew React. He made a lot of tooling. He made a lot of configuration libraries. You’d have your NPM integration like everyone else. It was cool to hook it into our servers. It was crucial to help with adoption. Those libraries aren’t being well maintained and it’s causing some pain. 7:32 – Panel: I remember this one case when I was working with an engineer and he was working on backend stuff. He was like I don’t understand here is JSS and JavaScript. Did you have those cultural differences? 8:27 – Carly: Yeah, definitely. You will see a thousand two-thousand lines that are written by us and it’s impossible to know how it hooks-up, etc. It’s painful to work with and some of the internal tooling nobody is updating. That served a forcing mechanism b/c we built tons of the frontend that it’s so complicated and we are paralyzed. That served us b/c frontend is hard and we just can’t go plopping around wherever we want. That’s how they tried to use Backbone. We never hired a specific frontend engineer. We just kept hiring backend to learn frontend. It’s harder to hire someone to avoid those mistakes. They will have to learn the hard way, where a Senior Developer can help. Even our Backbone apps were heavy and hard to work with. At that time we thought we were going to go to React. We thought we could hire someone with true frontend experience. We started an interview process and hard to get off the ground. We have gotten a lot better b/c we have Senior and Principle engineers to help. 12:12 – Panel: This isn’t easy and this is hard. Building UIs are extremely difficult. 13:06 – Carly: I have an old manager that posted a quote...that just shows how much things are changing. These are advanced strategies. On the backend you have all of these services and go to AWS. However, on the frontend the problems aren’t solved, yet. WE don’t have a perfect answer. A lot of the dynamics are interesting and the right answers are yet to be found. 14:32 – Panel: I think that in some ways, an application we are finding better ways with static websites and blogs through the WordPress model. We are finding practices to enable people to build intricate things. 15:07 – Panel: I used C++ in the beginning of my career. I use a framework called QT. QT is good to building native UIs, but it’s extremely complicated and difficult. And thinking about that from the idea of building not only a UI, but also...we are essentially using tools that aren’t supposed to be used in the way they were designed. 16:46 – Carly: I agree. When I was using style components at the beginning – after you do it for a while it’s not weird anymore. It’s great not to have to reuse things. I hear a lot of people concerned with these separations, but maybe they were 3 separate concerns. Maybe one component is one concern, if you will. 17:59 – Panel: I agree. If you look at the page model vs. the web model...you want a button to look like THAT button. You want them to look the same, it’s a component or an app. Maybe if you have a Wikipedia page where you have headers and sections, the CSS model makes sense on that particular domain, but with application it’s so complicated. I am a fan of cell components, and... Things are getting better. Another topic – we are in this frontend world and one big problem with the old days was reliability. You talked a lot about testing in the frontend. Let’s talk about testing in your professional life. 19:48 – Carly: I moved slowly into backend, and it’s comfortable that you knew you weren’t going to break anything. This testing stuff is great and I actually love it. We need to figure it out on the frontend, too. I built a bunch of tools that doctors use. We started thinking about what can we do to make the frontend more testable. 21:40 – Panel: I call that: Layer Oriented Design. 21:51 – Carly: When we were on Backbone we used this screen-shot testing framework. We obviously should be focusing on how we made this app rather than how do we test frontend code. But we did it. You could have a Backbone view... 22:43 – Advertisement – FRESH BOOKS! 23:47 – Nader: How would you change the pictures – were you running it through what? 24:02 – Carly: An array of pixel colors. 24:10 – Carly: It was cool! We called it Lena. We used it for a year or so and it caught some bugs and it did other things. We built Percy and Storybook. We are ahead of the game with that. In general that is what we have moved to instead. 25:30 – Panel: What is Percy? 25:37 – Carly: It will render your components, then it will grab...and every time you push code it will compare the old/new screenshot. You can do mobile stuff, too, which is awesome. 26:25 – Panel: When I saw the Percy tests – I thought: this makes a difference! 26:48 – Carly: How do you know if this random stuff matters? 27:15 – Panel: It makes a huge impact. Percy can give it to you and easier to review code that has visual changes. If you added a border and you can see all the red sea of change, so let’s use a border box, etc. It’s really mind-blowing! They have a GitHub hook. If there are changes people have to improve. 28:22 – Panel: You mentioned it supporting a bunch of different browsers? What sort of context does Percy run in? Does it have a specific execution...? 28:44 – Carly: Options in Firefox and Chrome so far. People at Percy talk about cross-browsers and it will have a pipeline. It’s really hard to do. Who knows if it will come but we will see. 29:13 – Panel: How do we ensure that things are continuing to work across the browsers? Did we render anything that is completely broke? How do you do testing across browsers? 29:44 – Carly: Yeah, we use Browser Stack. We run Selenium IO. 31:12 – Nader: It sounds like you have great tools on the frontend. Nader asks a question. 31:28 – Carly: We have a fairly broken-up frontend. If someone changes something... Running all of those tests can get crazy. 32:11 – Panel: Cypress... Why did you decide on Cypress – what has been your experience with that? 32:35 – Carly: I have not yet figured out a good debugging experience, and I don’t know how you guys are doing it? It’s impossible to debug and it’s not a pleasant experience. I saw Cypress’ advertisement and you can see the difference. They highlight the target, etc. I had to try it! In just a little app that I have – I tested it there. I thought it was awesome b/c it will show you where it failed, etc. I had to get everyone on board and tried to persuade my team to use it. I used these slides and presented it, and it worked fine. It didn’t flake at all. People had to work with the tests and work with Cypress to get the feel for it. Everyone decided to use it, too. 35:16 – Panel: The spread of knowledge and it goes back to the beginning. What is this secret group: Frontend Guild? 35:33 – Carly answers the question. 37:04 – Panel: How does knowledge spread happen in other companies? Such different companies and different scales – how does that happen? 37:23 – Panel: As your company grows, communication is definitely a hard thing to accomplish. At ARTSY we try to do different things. One of our principles is...we try to document everything that goes on. Document from a process-level, and other levels, too. We have working practice groups

Become a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

Avsnitt(310)

Exploring Reactivity in JavaScript Frameworks - RRU 243

Exploring Reactivity in JavaScript Frameworks - RRU 243

In today's episode, the panel of experts delves into the intricate world of reactivity in JavaScript frameworks. They explore Angular's signal-based approach, React's virtual DOM and hoisting, and how libraries like RxJS and Redux handle reactivity. They also discuss the absence of a universal standard for reactivity in JavaScript and the challenges it presents for developers. Join them as they unravel the complexities of reactivity and its impact on modern application development.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

10 Jan 202441min

React Component Tests for Humans with Miroslav Nikolov - RRU 242

React Component Tests for Humans with Miroslav Nikolov - RRU 242

On this episode of React Round Up we chatted with Miroslav Nikolov, a UI developer at one.com, about his approach to unit testing React components. Miroslav discussed writing components in a human-friendly way, using the library UnexpectedJS. We also talked about Miroslav’s blog, including how he got started with it, and some of the tools he used, like Gatsby and Mailchimp. This is a great episode if you’re looking to learn more about how to approach unit testing in React.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinkswebup.org/blog | Miroslav NikolovUnexpectedJSReact Component Tests for Humans | CSS-TricksmailchimpSubstackPicksMiroslav- erikras.comMiroslav- Application State Management with ReactPaige- Tom Clancy's | Jack RyanTJ- DREAM SPORT Bike Computer Bicycle Speedometer and Odometer 16-Function Wired Bike Computer WaterproofAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

3 Jan 202438min

Using AI for Web Development - RRU 241

Using AI for Web Development - RRU 241

Charles, Lucas, and Peter dive deep into the world of software development and React programming. They explore the intersection of artificial intelligence and the daily work of React developers. They discuss the benefits and challenges of using AI tools such as Copilot, the nuances of turning designer files into code, and the potential impact of AI on web development. Stay tuned as they discuss the role of AI as a learning tool, the importance of accessibility, and their recommendations for tools and resources for developers.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

20 Dec 202352min

React Codebase Patterns - RRU 240

React Codebase Patterns - RRU 240

They delve into the realm of software development, with a focus on React best practices. In this episode, they dissect the intricacies of component structuring and file management, emphasizing the nuances of design patterns and the prudent use of Redux for state management. Tune in for a deep dive into these critical aspects of development and stay ahead of the curve in your software engineering journey.SponsorsChuck's Resume TemplateDeveloper Book Club Become a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

13 Dec 202352min

How we Deploy our Apps - RRU 239

How we Deploy our Apps - RRU 239

Welcome to the new set of panelists for the React Round Up podcast. Chris Frewin is a full-stack software engineer. Peter Osah is a full-stack software engineer. Lucas Paganini is a senior front-end Engineer.They delve into the world of software development and system architecture. They explore the nuances of vendor lock-in, migration strategies, and the diverse perspectives on deploying single-page applications. Additionally, they share their experiences with various tools, platforms, and cloud providers, shedding light on the challenges and best practices in the ever-evolving landscape of software development.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipSocial MediaUnvoidLinkedIn @unvoidweb https://www.linkedin.com/company/unvoidwebInstagram @unvoidweb https://www.instagram.com/unvoidwebLucas PaganiniYouTube @lucaspaganiniweb https://youtube.com/@lucaspaganiniwebLinkedIn @lucaspaganiniweb https://www.linkedin.com/in/lucaspaganiniwebTwitter @lucaspaganini https://twitter.com/LucasPaganiniInstagram @lucaspaganini https://www.instagram.com/lucaspaganiniChris FrewinGitHub @princefishthrower https://github.com/princefishthrowerBlog Chris Frewin https://chrisfrew.in/Peter OsahLinkedIn @peterosah https://www.linkedin.com/in/peter-osah-744118179/Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

6 Dec 20231h 1min

Redux, Redux Toolkit, OSS and More with Mark Erikson - RRU 238

Redux, Redux Toolkit, OSS and More with Mark Erikson - RRU 238

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.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksCheng Lou - On the Spectrum of Abstraction at react-europe 2016Blogged Answers: Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux)Coding Career AdviceGitHub | markerikson/react-community-tools-practices-cheatsheetGitHub | markerikson/react-community-tools-practices-cheatsheet - Initial RFC: Scope and Goals #1Comparison with Other FrameworksRedux Style Guide#Redux Essentials, Part 1: Redux Overview and Concepts#Redux Fundamentals, Part 1: Redux Overview#Redux ToolkitRTK QueryJavaScript for Java-ish DevelopersMark's Dev BlogTwitter: Mark Erikson ( @acemarke )GitHub | Mark EriksonPicksCarl- Writing for Software Developers by Philip Kiely Mark- Josh ComeauPaige- Open source password manager - BitwardenTJ- Bowflex SelectTech DumbbellsZain- GitHub | zalmoxisus/redux-devtools-extensionAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

22 Nov 20231h 5min

How Do I Introduce New Tech at Work? - RRU 237

How Do I Introduce New Tech at Work? - RRU 237

Today the panel is discussing how to introduce new tech at work. They agree that it’s important to get input from all teams on the decision, although it will primarily affect the development team. One should also consider the different ways people make decisions, such as through discussion or quiet thinking, and give everyone time to come to a decision. The panel talks about positive and negative examples of how to introduce new tech at work. Thomas believes that it is important to acknowledge your own biases in decision making and to try to avoid them. The React experts discuss the significance of the team dynamic and the necessity of different roles in decision making or if it is better to have an organic discovery phase. This relates to Thomas’ point about personal biases, and he believes that it is important to put people in roles that are opposite of their personality. When making decisions about new technology, it is also important to note that not all decisions require the same amount of input, and they discuss how to measure how much input is required for a decision.SponsorsChuck's Resume TemplateRaygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksVue12 React Best Practices You Need to Follow in 2019SaulTest && commit || revertVS Code ESLintPicksThomas - Teachable MachineCharles - White ChristmasCharles - Holiday InnChris - Practical React HooksAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

8 Nov 202337min

Navigating React Navigation with Zain Sajjad - RRU 236

Navigating React Navigation with Zain Sajjad - RRU 236

Zain Sajjad is a frontend developer at his company Peekaboo Guru, an app built in React. The show begins with Zain explaining why he chose to build Peekaboo Guru in React. Ultimately, he chose React for its composability and reusability. He talks about how much data is shared between his React and React Native applications.Zain explains what he means by a container since he is not talking about Docker, and how he has the app organized. He talks about the differences between routing and navigation between React and React Native. When approaching these differences, he breaks things down into components, containers, and platform, paying careful attention to how they work together. This differentiation can actually help a lot with testing as well. SponsorsChuck's Resume Template Raygun - Application Monitoring For Web & Mobile AppsBecome a Top 1% Dev with a Top End Devs MembershipLinksPeekaboo GuruReactReact NativeReact Native NavigationReact NavigationSQLTensorFlowFun Fun FunctionImmer.jsPicksLucas - Ember.jsLucas - 3Blue1BrownThomas - Rite in the Rain notepadAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/react-round-up--6102072/support.

18 Okt 202349min

Populärt inom Business & ekonomi

framgangspodden
varvet
badfluence
uppgang-och-fall
rss-borsens-finest
svd-ledarredaktionen
lastbilspodden
avanzapodden
rss-kort-lang-analyspodden-fran-di
rss-dagen-med-di
affarsvarlden
rikatillsammans-om-privatekonomi-rikedom-i-livet
fill-or-kill
borsmorgon
tabberaset
dynastin
kapitalet-en-podd-om-ekonomi
market-makers
rss-inga-dumma-fragor-om-pengar
montrosepodden