-
π Iβm currently working on bit
-
π I regularly write articles on medium.com, bit's blog, Hackernoon, old Hackernoon profile, my home automation blog (Hebrew)
-
π¬ Ask me about Node.js, React, GraphQL, Mongo, Smart home, Home Assistant, Webpack, Babel, TS, Eslint
-
π« How to reach me shoham.gilad@gmail.com
-
π Know about my experiences https://www.linkedin.com/in/shohamgilad/
-
π Link tree - https://linktr.ee/shohamgilad
- Why I Left a Big Enterprise Position to Build an Open Source Project
- How Being a Dad Makes me a Better Developer (and Vice Versa)
- 7 Javascript EEG Mind Reading Libraries for 2019
- Get Better Type Checking in JavaScript with the Maybe Type
- Keep Your Promises in TypeScript using async/await
- Getting Your First Job As A Junior Developer: The Psychological Perspective
- Make your GraphQL API Easier To Adopt Through Components
Code on Demand: The Future of Code Collaboration , Oct 23, 2023, React Advanced London
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
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)
The Ripple Effect: Propagating Updates Across an Endless Graph of Components Dependencies , June 10, 2024, Geektime Code 2024
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:
- How you can automate updates across a massive dependency graph and still feel safe with your updates (and why SemVer is not enough).
- How to optimize update propagation times.
- How to communicate and collaborate over updates like breaking API changes or deprecations.
- How to gain insights into the relations between your organizationβs code components, teams and products
- 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
Micro Frontend Build time vs Runtime dependencies - a gentle equilibrium , May 17, 2023, Hodash Dev
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
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
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
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
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
Share these components , Oct 17, 2018, React Israel (Facebook office) , slides
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
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/
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
Accelerate your GraphQL adoption using bit , Jul 13, 2017, GraphQL IL , slides
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).
Career and personal growth , Dec 27, 2023,
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
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,
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,
I'm an Early π€
π Morning 15860 commits βββββββββββββββββββββββββ 11.71 %
π Daytime 83649 commits βββββββββββββββββββββββββ 61.74 %
π Evening 28687 commits βββββββββββββββββββββββββ 21.17 %
π Night 7283 commits βββββββββββββββββββββββββ 05.38 %
π I'm Most Productive on Sunday
Monday 25330 commits βββββββββββββββββββββββββ 18.70 %
Tuesday 27889 commits βββββββββββββββββββββββββ 20.59 %
Wednesday 27275 commits βββββββββββββββββββββββββ 20.13 %
Thursday 22819 commits βββββββββββββββββββββββββ 16.84 %
Friday 2268 commits βββββββββββββββββββββββββ 01.67 %
Saturday 101 commits βββββββββββββββββββββββββ 00.07 %
Sunday 29797 commits βββββββββββββββββββββββββ 21.99 %
π This Week I Spent My Time On
π¬ Programming Languages:
TypeScript 7 hrs 44 mins βββββββββββββββββββββββββ 67.27 %
Other 2 hrs βββββββββββββββββββββββββ 17.45 %
JSON 52 mins βββββββββββββββββββββββββ 07.60 %
YAML 29 mins βββββββββββββββββββββββββ 04.30 %
JavaScript 19 mins βββββββββββββββββββββββββ 02.79 %
π±βπ» Projects:
dummy-bit 9 hrs 2 mins βββββββββββββββββββββββββ 78.68 %
bvm 1 hr 49 mins βββββββββββββββββββββββββ 15.88 %
acm-themem 16 mins βββββββββββββββββββββββββ 02.46 %
teambit-envs 11 mins βββββββββββββββββββββββββ 01.65 %
berco-dot-cloud 6 mins βββββββββββββββββββββββββ 00.92 %
Timeline
Last Updated on 11/09/2024 19:05:22 UTC