Git Product home page Git Product logo

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)

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)

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)

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                13279 commits       β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   11.74 % 
πŸŒ† Daytime                69875 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   61.76 % 
πŸŒƒ Evening                23856 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   21.08 % 
πŸŒ™ Night                  6133 commits        β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   05.42 % 

πŸ“… I'm Most Productive on Sunday

Monday                   21179 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   18.72 % 
Tuesday                  23270 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   20.57 % 
Wednesday                22781 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   20.13 % 
Thursday                 19000 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   16.79 % 
Friday                   1948 commits        β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   01.72 % 
Saturday                 86 commits          β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   00.08 % 
Sunday                   24879 commits       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   21.99 % 

πŸ“Š This Week I Spent My Time On

πŸ’¬ Programming Languages: 
Other                    21 mins             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   37.70 % 
TypeScript               13 mins             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   23.74 % 
YAML                     10 mins             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   18.11 % 
Docker                   4 mins              β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   08.71 % 
JSON                     4 mins              β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   08.60 % 

πŸ±β€πŸ’» Projects: 
dummy-bit                40 mins             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘   72.78 % 
ripple-container         6 mins              β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   11.65 % 
hadas-demo               4 mins              β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   08.57 % 
personal-website         2 mins              β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   03.66 % 
symphony-esm             1 min               β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘   02.98 % 

Timeline

Lines of Code chart

Last Updated on 01/05/2024 18:54:45 UTC

Gilad Shoham's Projects

apollo-errors icon apollo-errors

Machine-readable custom errors for Apollostack's GraphQL server

apollo-fullstack-starter-kit icon apollo-fullstack-starter-kit

Apollo Universal Starter Kit β€” Universal web app boilerplate with Hot Code Reload for backend and frontend, stack: Apollo, GraphQL, React.js, Express, Knex, SQLite, Twitter Bootstrap, Babel, Webpack

apollo-passport icon apollo-passport

ApolloStack and PassportJS integration, inspired by Meteor Accounts

berry icon berry

πŸ“¦πŸˆ Active development trunk for Yarn 2+ βš’

engine icon engine

Scalable Web Application Engine

frisby icon frisby

Frisby is a REST API testing framework built on node.js and Jasmine that makes testing API endpoints easy, fast, and fun.

gilad-resume icon gilad-resume

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

github-graphql icon github-graphql

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

github-graphql-template icon github-graphql-template

A template project to create the same components described here: https://bitsrc.io/giladshoham/github-graphql

homebrew-core icon homebrew-core

🍻 Default formulae for the missing package manager for macOS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.