Skip to content
View GiladShoham's full-sized avatar

Organizations

@Cocycles @teambit

Block or report GiladShoham

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
GiladShoham/README.md

Hi πŸ‘‹, I'm Gilad Shoham

Tech leader, Architect, Open source enthusiast from Israel

giladshoham

giladshoham

shohamgilad

Blogs posts

Recent talks (English)

Code on Demand: The Future of Code Collaboration , Oct 23, 2023, React Advanced London
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.

Component-driven microservices with NodeJS and Bit , Jun 29, 2022, Online , demo
We all love components on the frontend, but have you tried them on the backend?

In this live coding session, Gilad, Bit's VP R&D, will show you how to compose component-driven microservices using NodeJS, Express and Bit.

Join him to learn how to:

  • Compose 2 component-driven microservices from scratch.

  • Easily add, modify, and remove components from your services.

  • Share managed components between services to radically speed up backend development.

  • Easily manage dependencies and updates between components and services.

  • Gradually build a reusable toolbox of backend components.

  • Modify and update components in the context of another service or project.

  • Avoid configs and have a smooth dev experience.

Recent talks (Hebrew) (youtube playlist)

Micro Frontends in Action , November 28, 2024, Tikal - Frontend architecture in action
Join Gilad, from Bit, as he shares practical insights from helping organizations of various sizes transition from monolithic frontends to micro frontends. Drawing from real-world examples, this talk will explore what worked, what didn’t, and how his team approached breaking down large frontends into modular, scalable components. Attendees will gain a deeper understanding of different approaches like runtime vs. build time composition, the pros and cons of each, and key questions to consider when choosing the right architecture for their needs.
The Ripple Effect: Propagating Updates Across an Endless Graph of Components Dependencies , June 10, 2024, Geektime Code 2024
Component-driven development is an increasingly popular development strategy. It enables autonomous teams to simultaneously deliver components that are independently built and versioned.

The composition of independent components, from the most elementary ones all the way to full systems, generates large and complex graphs of dependencies. Updating a single component can cause a β€˜ripple effect’ where multiple composite components, at different levels of the composition hierarchies, are affected. This talk is about some of the challenges of propagating these updates at scale and proposed solutions, such as:

  1. How you can automate updates across a massive dependency graph and still feel safe with your updates (and why SemVer is not enough).
  2. How to optimize update propagation times.
  3. How to communicate and collaborate over updates like breaking API changes or deprecations.
  4. How to gain insights into the relations between your organization’s code components, teams and products
  5. How to enforce policies using the organization’s dependency graph.

Implementing such solutions can vastly improve an organization’s dev velocity and product consistency and stability.

How to Create a Culture of Code Sharing and Reuse , April 7, 2024, Indydevs
Let's build an easy, repeatable, and fun developer experience to share code, promote collaboration, and achieve consistency across apps and services.
Micro Frontend Build time vs Runtime dependencies - a gentle equilibrium , May 17, 2023, Hodash Dev
Microservices architecture has been a popular approach for developing complex backend services, but what about the front-end? Enter micro frontends, an emerging concept that breaks down monolithic front-end code into smaller, more manageable pieces. Each micro frontend is a self-contained unit with its own codebase, development team, and set of dependencies. Unlike backend microservices, micro frontends end up being composed into a single frontend application.

There are two main phases where micro frontends can converge into a single application. Some organizations prefer to compose their micro frontends in the client at runtime, while others choose to bundle them together during the build process. This talk will explore the tradeoff between these approaches, examining factors such as team independence, time to ship to production, safe updates, runtime performance, and bundle optimization.

I will demonstrate how we combined these approaches in my organization and will share some tools and processes that will allow you to enjoy the benefits of both worlds.

The Golem Turns On His Creator – How I took home automation too far , April 30, 2023, Ariel University
How smart should you make your house?

Ever wished you can automate everything in your home? Really everything?

For 5 years I’ve been radically automating my house: It finds my phone and reports its location when I ask, it starts boiling water when my baby starts to cry, and it calls my phone when my spouse calls me downstairs.

I won’t lie, it’s pretty awesome.

But a smart home is a powerful servant and a dangerous master.

My home has become a weapon for my kids against me. It tried to sabotage my marriage. It even made me live in the dark. But I survived. In this talk, I will share my experience and raw footage of an experiment gone too far. Together we’ll try to create a useful toolbox of does and don’ts for the brave smart home engineer.

The Golem Turns On His Creator – How I took home automation too far (Extended version) , December 27, 2022, Negev Web Developer Meetup
How smart should you make your house?

Ever wished you can automate everything in your home? Really everything?

For 5 years I’ve been radically automating my house: It finds my phone and reports its location when I ask, it starts boiling water when my baby starts to cry, and it calls my phone when my spouse calls me downstairs.

I won’t lie, it’s pretty awesome.

But a smart home is a powerful servant and a dangerous master.

My home has become a weapon for my kids against me. It tried to sabotage my marriage. It even made me live in the dark. But I survived. In this talk, I will share my experience and raw footage of an experiment gone too far. Together we’ll try to create a useful toolbox of does and don’ts for the brave smart home engineer.

This extended version includs a live demo with me demonstrate a live spin-up of a home assistant using Docker Compose, with some assistance from the GPT3 chat. I even created an automation that changes the color of a lamp when my Mac is connected or disconnected from a power source.

The Golem Turns On His Creator – How I took home automation too far , October 25, 2022, Reversim 2022 summit
How smart should you make your house?

Ever wished you can automate everything in your home? Really everything?

For 5 years I’ve been radically automating my house: It finds my phone and reports its location when I ask, it starts boiling water when my baby starts to cry, and it calls my phone when my spouse calls me downstairs.

I won’t lie, it’s pretty awesome.

But a smart home is a powerful servant and a dangerous master.

My home has become a weapon for my kids against me. It tried to sabotage my marriage. It even made me live in the dark. But I survived. In this talk, I will share my experience and raw footage of an experiment gone too far. Together we’ll try to create a useful toolbox of does and don’ts for the brave smart home engineer.

Building bit - Lessons Learned In The Trenches , Feb 9, 2020, In.Dev Meetup , slides
More of today's applications are being built from smaller components and modules. However, the workflow around building with smaller components can also generate a lot of overhead. Bit is an open source project which helps developers discover, use and collaborate on shared components while distributing the development process itself.

In this talk I will introduce Bit, talk about the challenges and opportunities of building a core piece of your technology with the community, the challenges of having to play hand in hand with the rapidly-changing open source ecosystem (from Git & NPM to Webpack and React) and share some insights for teams who want to open source some of their projects

From libraries to monorepos and beyond , Feb 26, 2019, JS Israel (Google office) , slides
Sharing components between apps speeds our development and provides a better experience for our users.The key to effective, scalable code-sharing lies in the architecture and tools we choose. In this talk I'll review the growth, pros and cons of this ecosystem from shared libraries through monorepos to new tools, and show a live demo of Bit- an open source project we created and use to share components between apps.
Share these components , Oct 17, 2018, React Israel (Facebook office) , slides
React encourages us to compose our application's UI from smaller reusable components.

Every button, slider or card is a component while larger elements can be composed out of smaller components to create new applications.

But, what happens when we want to share and reuse these components?

In this talk, we'll dive into this question and learn how different architectures, from multi-repo to monorepo, affect our team's ability to share and reuse components. We'll explore how different tools in the ecosystem play a role in this use case, and learn how Bit can help us isolate and share large numbers of components, making them available to discover, use and develop anywhere in a distributed workflow. The session will include a live coding demo session and Q&A.

Gilad Shoham leads Bit's core open source team. He previously led a Javascript team at Sisense and is a lifelong contributor and speaker in the dev community.

Building bit - Lessons Learned In The Trenches , Oct 8, 2018, Reversim 2018 , slides
More of today's applications are being built from smaller components and modules. However, the workflow around building with smaller components can also generate a lot of overhead. Bit is an open source project which helps developers discover, use and collaborate on shared components while distributing the development process itself.

In this talk I will introduce Bit, talk about the challenges and opportunities of building a core piece of your technology with the community, the challenges of having to play hand in hand with the rapidly-changing open source ecosystem (from Git & NPM to Webpack and React) and share some insights for teams who want to open source some of their projects

How and why I built my resume using React components , Jun 6, 2018, Geektime code , http://resume-presentation.surge.sh/
In this talk, I’ll talk about why building an online resume site is a good idea, how it can increase your chances to get a job , and why React is a great tool for this purpose.

I’ll give a live demonstration of a tool that can help you build those components easily and view them beautifully rendered in seconds.

Let the tests play an active role , Feb 20, 2018, Node.js IL , slides
This talk will change everything you know about testing.You’re used to thinking about tests as a passive tool which helps you learn about your application’s state.In this talk, I’ll show you how to take testing to the next level where tests can actually change your code, and become an active player in your development process.I will also talk about the relation between code modularity and writing tests, and show a live demo of how with the right tools you can adopt this approach today.
Accelerate your GraphQL adoption using bit , Jul 13, 2017, GraphQL IL , slides
This talk is about making the GraphQL consumer happier, which will serve our goal as publishers, to increase adoption.

During this talk, I’ll describe a way for an organization to use components as a way to accelerate its GraphQL adoption. This GraphQL can be a public to everyone or public to the organization only.

I’ll describe the current problems with publishing and adopting APIs, and demonstrate a live demo of integrating GitHub GraphQL into my own project in few minutes by using components pre built by the publisher, without the need of reading any documentation (which as developers we hate doing).

Recent Panels (Hebrew)

Career and personal growth , Dec 27, 2023,

My Home Automation podcast (Hebrew)

EP #5 - The protocols war , May 5, 2022, Written summery
EP #4 - Required infrastructure during building/renovation - part 2 , September 11, 2021, Written summery
EP #3 - Required infrastructure during building/renovation - part 1 , August 29, 2021, Written summery
EP #2 - How to start with home automation , March 6, 2020,
EP #1 - Why do you need smart home , February 12, 2020, Written summery

Me on other's podcast (English)

AI in code, and leadership in hi-tech - Develeap’s Tech Tuesday Unboxed , June 9, 2024,
EP #251 - Mastering Component Reusability - React Round up , March 20, 2024, Video format
EP #610 - Bit: Paving the Way for Component Management - Javascript Jabber , December 6, 2023, Video format
EP #17: Going Bit: All You Need To Know – Daniel Frey , September 15, 2023,

Me on other's podcast (Hebrew)

Simple AI - EP #94 - AI for developers , December 22, 2024, Video format
Lo Techni - EP #13 - Open source , June 23, 2024,
Front Cast - EP #21 - R&D scale in Harmony , June 3, 2024,
From manager to leader - EP #25 - Managing multi culture, multi TZ multi superstars team , March 13, 2024,
From manager to leader - EP #23 - Hiring the best talents in the world , February 27, 2024,
Dev out of the box - EP #44 - Components - part2 , February 09, 2023,
Dev out of the box - EP #43 - Components - part1 , July 02, 2023,
Open Code - EP #12 - Component driven organizations , May 19, 2022,
Nisko Smart - EP #4 - Super user - advanced home automation , January 10, 2022,

Connect with me:

giladshoham shohamgilad shohamgilad https://www.facebook.com/gilad.shoham/ @giladshoham

Languages and Tools:

angular angularjs babel bash circleci cypress docker elasticsearch electron express gatsby gcp git grafana graphql html5 jasmine java javascript jenkins jest karma kibana kubernetes linux mariadb mocha mongodb mysql nextjs nginx nodejs postman puppeteer react reactnative redis redux sass selenium typescript vuejs webpack zapier

giladshoham

Β giladshoham

giladshoham

Code Time

Profile Views

I'm an Early 🐀

🌞 Morning                14746 commits       β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   11.70 % 
πŸŒ† Daytime                77801 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   61.75 % 
πŸŒƒ Evening                26729 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   21.22 % 
πŸŒ™ Night                  6708 commits        β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   05.32 % 

πŸ“… I'm Most Productive on Sunday

Monday                   23546 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   18.69 % 
Tuesday                  25951 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   20.60 % 
Wednesday                25352 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   20.12 % 
Thursday                 21192 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   16.82 % 
Friday                   2116 commits        β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.68 % 
Saturday                 102 commits         β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   00.08 % 
Sunday                   27725 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   22.01 % 

πŸ“Š This Week I Spent My Time On

πŸ’¬ Programming Languages: 
TypeScript               10 hrs 16 mins      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘   75.84 % 
Other                    1 hr 4 mins         β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   07.98 % 
JavaScript               1 hr 2 mins         β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   07.70 % 
JSON                     35 mins             β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   04.37 % 
Markdown                 15 mins             β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.93 % 

πŸ±β€πŸ’» Projects: 
dummy-bit                8 hrs 21 mins       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   61.70 % 
bit                      3 hrs 39 mins       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   26.98 % 
bit-angular              1 hr 3 mins         β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   07.82 % 
bitdev-envs              16 mins             β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.99 % 
bitdev-general           11 mins             β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.39 % 

Timeline

Lines of Code chart

Last Updated on 22/12/2024 18:58:19 UTC

Pinned Loading

  1. graphql-apollo-errors graphql-apollo-errors Public

    A small library to handle graphql and apollo errors in a better way

    JavaScript 42 3

  2. gilad-resume gilad-resume Public

    Forked from suddi/suddi.github.io

    A static single-page application resume-builder developed using React.js and JSON Resume schema (https://suddi.github.io/)

    CSS

  3. github-graphql github-graphql Public

    A working example of https://bitsrc.io/giladshoham/github-graphql

    JavaScript 1 1

  4. teambit/bit teambit/bit Public

    A build system for development of composable software.

    TypeScript 17.9k 935

  5. teambit/bit-javascript teambit/bit-javascript Public archive

    A javascript driver for bit

    TypeScript 38 8

  6. teambit/bit.envs teambit/bit.envs Public

    DEPRECATED - Bit compilers and testers were moved to https://github.com/teambit/envs

    JavaScript 22 9