Code on Demand: The Future of Code Collaboration

Rate this content
Bookmark
The video talk explores the impact of streaming on code collaboration, emphasizing code on demand. It highlights how streaming has transformed music consumption and draws parallels to software development. Developers can now craft reusable components, similar to building with Lego, using tools like Bit. The talk contrasts the traditional development workflow with a more efficient, modular approach. Claudia and McDonald, engineers at Spotify, share their experiences in building a new player menu, showcasing the benefits of a component-based workflow. The talk also discusses the importance of contextual search, live examples, and comprehensive documentation in modern development. The speaker encourages treating components as complete products and enhancing discovery tools to motivate developers. Practical steps for improving component reuse include prioritizing component reviews, versioning, and simplifying the sharing process. The talk underscores the social aspects of streaming, such as tracking code impact and fostering collaboration across teams.

From Author:

What if you could use code the same way you use Netflix or Spotify? 


Imagine your entire code base organized as small components on the cloud, where you can import only what you need into any workspace. In fact, you can create an ad hoc workspace where you can use and modify only the components you need and export them back.


In order to use code on demand, components need to be independent entities, which means that they have to include their source code, configuration and dependencies. This allows you to version them independently and import them into small dynamic workspaces which are then made much easier to navigate, setup and build. Independent component versioning also makes for independent teams, because this separates publishing updates from consuming them. 


When all your organization’s components are in the cloud, teams can discover them, discuss changes and visualize relationships, making collaboration between teams much simpler. 


Alongside its many advantages, this paradigm shift brings about considerable challenges, which may explain why this is not the standard way to manage code today. This talk is about the tools and methodologies required to overcome these challenges. 

This talk has been presented at React Advanced Conference 2023, check out the latest edition of this React Conference.

Watch video on a separate page

FAQ

The main topic of the presentation is how streaming can be incorporated into the development workflow.

The presenter is an engineering leader at Bit, with six years of experience working on an open-source project. They specialize in JavaScript, TypeScript, frontend development, and smart homes.

Bit is an open-source toolchain made for crafting composable software, similar to building with Lego.

In the CD/DVD era, code development involved bulky and inflexible processes, similar to buying entire CDs for one song. The streaming era allows for modular, dynamic, and collaborative code development, akin to picking individual songs for a playlist.

McDonald's workflow involves pulling in a lot of unnecessary code, navigating outdated documentation, and facing slow build times. Cloudia's workflow is streamlined, with a focus on modular components, up-to-date documentation, and quick builds.

Components are crucial as they allow for reusable, modular code that can be easily updated and shared, streamlining the development process and fostering collaboration.

Cloudia uses a streaming platform tailored for developers, which offers contextual search, live examples, comprehensive documentation, and API references to quickly find and incorporate the right button component.

The streaming approach allows developers to track the impact of their code, receive continuous feedback, and collaborate across different teams, fostering a dynamic and social development environment.

The presenter suggests shifting from app-centric development to component-centric development, emphasizing the importance of treating components as complete products and focusing on their reusability.

Practical steps include implementing effective search and tagging systems, providing clear examples, establishing a ranking system for components, and ensuring that developers are responsible for their components' discovery experience.

Gilad Shoham
Gilad Shoham
27 min
23 Oct, 2023

Comments

Sign in or register to post your comment.

Video Transcription

1. Introduction to Streaming and My Background

Short description:

During the next 20 minutes, I will demonstrate how streaming can be incorporated into our development workflow. Streaming services have replaced buying CDs and DVDs. Our code is still stuck in the 90s. Let me introduce myself as the engineering leader at Bit with 6 years of experience. Bit is an open source tool chain for crafting composable software. I have stories about code collaboration and dev methodologies. Follow me on ix for more!

So, let's take a look. Greetings to everyone and thanks for joining me today. During the next 20 minutes, I will demonstrate how streaming can be incorporated into our development workflow. Stay tuned, for a fascinating journey.

It wasn't so long ago when we all bought CDs for listening to music, or DVDs for watching movies. However, no one does this anymore. Streaming services, like Spotify and Netflix, have replaced it all. But what about our code? Here is a little secret. Our code is still jamming in the 90s on those CDs. Don't you think it's time for an upgrade?

Before we open onto this new bit, let me tell you a bit about myself and why I'm chatting about this today. So a bit about myself. I am the engineering leader over at Bit. I've been working at Bit for 6 years, especially on the open source project. To put it simply, Bit is an open source tool chain made for crafting composable software. It's kinda like building with Lego. And trust me, after all these years, I've got a whole lot of stories about code collaboration and dev methodologies. Aside from that, I chat on blogs, speak on stages, about javascript, typescript, frontend, and turning houses into smart homes. If any of that sound up your ally, give me a follow on ix. But at the end of the day, I'm mostly coding, and doing what every dedicated developer loves to do. Transforming coffee into code.

2. The Power of Streaming and Components

Short description:

Why is everyone so hyped about streaming? It changed the game of music consumption, allowing users to create their own playlists and access detailed information. Streaming enables social interaction, sharing, and easy access to additional content. It also democratizes music production, making it accessible to anyone. Although we have made progress in adopting modular development, there is still more to explore. Let's dive deeper into the concept of components and hear from developers Claudia and McDonald about their experiences with streaming.

Okay, enough talking about me. Back to our main story, streaming. Why is everyone so hyped about it? Let's break down what makes streaming tick. In a bit, we will see how we can sprinkle some of that magic into our dev game.

Remember buying a CD, and paying for the whole thing just for that one track? Streaming changed the game. Now you compose your own playlist, picking only the tracks you love. Back in the CD era, hunting for music was like a mini quest. Now with streaming, it's a breeze. Type in a mood, artist, or beat, get all the deets, like who is singing, how long is it playing, and other cool info right in front of you.

In the CD days, music was a solo trip. Streaming flips that. Now you can vibe to tunes with friends, drop comments, and share your feelings on particular tracks, all in one spot. Remember DVD's. Once you got them, they were set in stone. The erector's cut or some cool deleted scene came out. With streaming, it's right there, waiting for you. No fuss.

One cool thing about streaming, who gets to make the beats. Back in the day, dreaming of dropping a track meant cozying up with record labels and burning cash on studio time, design and distribution. Now, grab the mic, hit record, and boom, you're on Spotify. I bet some of you are thinking, wait up, aren't we already riding this wave? Yes, we are all crafty, nifty little components living that modular dream. That's a solid start for sure, but trust me, there is more juice to squeeze out of this approach. Before we dive deeper, let's clarify what we mean by component. It's essentially any piece of usable code, including UI components, utility functions, or microservices. But it's not restricted to UI components only. Let's dive deeper.

All right, let me introduce you to two developers who will paint the picture for us. Claudia is living the futuristic cloud-streaming life, and McDonald is jamming on in today's world, still spinning CDs. We will hop between their experiences, spotlighting the contrast and bringing those key streaming traits into focus. Let's roll.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Remix Flat Routes – An Evolution in Routing
Remix Conf Europe 2022Remix Conf Europe 2022
16 min
Remix Flat Routes – An Evolution in Routing
Top Content
Remix Flat Routes is a new convention that aims to make it easier to see and organize the routes in your app. It allows for the co-location of support files with routes, decreases refactor and redesign friction, and helps apps migrate to Remix. Flat Folders convention supports co-location and allows importing assets as relative imports. To migrate existing apps to Flat Routes, use the Remix Flat Routes package's migration tool.
The Epic Stack
React Summit US 2023React Summit US 2023
21 min
The Epic Stack
Top Content
Watch video: The Epic Stack
This Talk introduces the Epic Stack, a project starter and reference for modern web development. It emphasizes that the choice of tools is not as important as we think and that any tool can be fine. The Epic Stack aims to provide a limited set of services and common use cases, with a focus on adaptability and ease of swapping out tools. It incorporates technologies like Remix, React, Fly to I.O, Grafana, and Sentry. The Epic Web Dev offers free materials and workshops to gain a solid understanding of the Epic Stack.
The Rise of the AI Engineer
React Summit US 2023React Summit US 2023
30 min
The Rise of the AI Engineer
Watch video: The Rise of the AI Engineer
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
How to Make a Web Game All by Yourself
JS GameDev Summit 2023JS GameDev Summit 2023
27 min
How to Make a Web Game All by Yourself
This talk guides you on how to make a web game by yourself, emphasizing the importance of focusing on tasks that interest you and outsourcing the rest. It suggests choosing a game engine that allows distribution on the web and aligns with your understanding and enjoyment. The talk also highlights the significance of finding fun in the creative process, managing scope, cutting features that don't align with the game's direction, and iterating to the finish line. It concludes by discussing the options for publishing the game on the web and leveraging unique web features.
Atomic Deployment for JS Hipsters
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Atomic Deployment for JS Hipsters
This Talk discusses atomic deployment for JavaScript and TypeScript, focusing on automated deployment processes, Git hooks, and using hard links to copy changes. The speaker demonstrates setting up a bare repository, configuring deployment variables, and using the post-receive hook to push changes to production. They also cover environment setup, branch configuration, and the build process. The Talk concludes with tips on real use cases, webhooks, and wrapping the deployment process.
Your GraphQL Groove
GraphQL Galaxy 2022GraphQL Galaxy 2022
31 min
Your GraphQL Groove
The Talk discusses the value proposition of GraphQL and its ability to solve common pain points in API development. It highlights the importance of making informed decisions when choosing GraphQL clients, servers, and schema builders. The Talk also emphasizes the need to focus on the best developer experience in the present rather than seeking a perfect long-term solution. Additionally, it mentions the future of the Urkel GraphQL client and the reasons for dropping ReScript support. Overall, the Talk provides insights into the current state and future trends of GraphQL development.

Workshops on related topic

Integrating LangChain with JavaScript for Web Developers
React Summit 2024React Summit 2024
92 min
Integrating LangChain with JavaScript for Web Developers
Featured Workshop
Vivek Nayyar
Vivek Nayyar
Dive into the world of AI with our interactive workshop designed specifically for web developers. "Hands-On AI: Integrating LangChain with JavaScript for Web Developers" offers a unique opportunity to bridge the gap between AI and web development. Despite the prominence of Python in AI development, the vast potential of JavaScript remains largely untapped. This workshop aims to change that.Throughout this hands-on session, participants will learn how to leverage LangChain—a tool designed to make large language models more accessible and useful—to build dynamic AI agents directly within JavaScript environments. This approach opens up new possibilities for enhancing web applications with intelligent features, from automated customer support to content generation and beyond.We'll start with the basics of LangChain and AI models, ensuring a solid foundation even for those new to AI. From there, we'll dive into practical exercises that demonstrate how to integrate these technologies into real-world JavaScript projects. Participants will work through examples, facing and overcoming the challenges of making AI work seamlessly on the web.This workshop is more than just a learning experience; it's a chance to be at the forefront of an emerging field. By the end, attendees will not only have gained valuable skills but also created AI-enhanced features they can take back to their projects or workplaces.Whether you're a seasoned web developer curious about AI or looking to expand your skillset into new and exciting areas, "Hands-On AI: Integrating LangChain with JavaScript for Web Developers" is your gateway to the future of web development. Join us to unlock the potential of AI in your web projects, making them smarter, more interactive, and more engaging for users.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
A Developer’s Guide to Communicating, Convincing, and Collaborating Effectively With Stakeholders
It’s a tale as old as time - collaboration between developers and business stakeholders has long been a challenge, with a lack of clear communication often leaving both sides frustrated. The best developers can deeply understand their business counterparts’ needs, effectively communicate technical strategy without losing the non-technical crowd, and convince the business to make the right decisions. Working at a consultancy, I’ve both failed and succeeded in architecting and “selling” technical visions, learning many lessons along the way.Whether you work at a product company, are a consultant/freelancer, or want to venture beyond just being a developer, the ability to convince and clearly communicate with stakeholders can set you apart in the tech industry. This becomes even more important with the rise of GenAI and the increasingly competitive developer market, as problem-solving and effective communication are key to positioning yourself.In this workshop, I’ll share real-world examples, both good and bad, and guide you through putting the theory into practice through dojos.
How to create editor experiences your team will love
React Advanced Conference 2021React Advanced Conference 2021
168 min
How to create editor experiences your team will love
Workshop
Lauren Etheridge
Knut Melvær
2 authors
Content is a crucial part of what you build on the web. Modern web technologies brings a lot to the developer experience in terms of building content-driven sites, but how can we improve things for editors and content creators? In this workshop you’ll learn how use Sanity.io to approach structured content modeling, and how to build, iterate, and configure your own CMS to unify data models with efficient and delightful editor experiences. It’s intended for web developers who want to deliver better content experiences for their content teams and clients.