Shai Mishali: From Noob to Owner

Hey there 👋 My name is Shai, currently a Staff iOS Engineer @ monday.com. I’m most known as the maintainer of RxSwift and many other frameworks and libraries related to Combine, Apple’s first-party Reactive framework. I first met a real-life computer at about 6 years old, when my cousin gave me an old IBM XT for the holiday of Passover. I’ve been fascinated by this incredible machine ever since, and even experienced first-hand what a “bug” means when my first motherboard burned into flames because of a flying bug finding its way into that same IBM XT.

I grew up in a relatively low-income family and always had to push for myself to learn as much as possible by myself. It started with PHP 3 and HTML in the old days, and as I worked in one of my earlier jobs – my boss had an issue with a contractor that closed shop, gave me a CD with their code and told me – “Congrats Shai, starting today, you’re an iOS developer”. Little did I know how true he was, as I fell completely in love with this tiny device circa-2011, and was mesmerized with writing code and seeing other people simply touching a screen and interacting with it.

Since then, that has been most of my technical focus (while I still dab with backend and CLI tools), diving deep into Objective-C, and later on Swift itself, and the entire ecosystem.

My reactive journey

When I just started doing iOS, I noticed people are using very cool libraries they found online, and I wondered how I could do the same myself. I started slowly by contributing small bug fixes and later on released a few Objective-C based projects and frameworks, back in the day where not many were available.

From that point I was hooked, and over time as my knowledge grew, I stumbled into RxSwift. I’ve always been an architecture-fanatic, trying to find the cool new thing and expanding the way I think about code, data flow, etc, and RxSwift tackled an incredible unsolved problem at the time in the iOS community.

I started contributing to RxSwift, initially barely knowing how it works and how the Reactive Extensions standard was defined, and over the following years was able to become a prominent member of the project, shifting and steering how the project works, modernize it to new Swift standards and make sure it’s kept in good shape. In 2017, Krunoslav Zaher (the original creator) had to step away from the project and honored me with taking full ownership of the project. I’ve officially taken the full journey – from noobie, to contributor, to prominent member, to the primary maintainer of RxSwift and an authority in the field across the Swift community.

What’s open source for me?

Since I started participating and leading RxSwift, life hasn’t been the same, in the best of ways. I’ve learned what it means to look at the bigger picture of things, what it means to create great code while getting other people involved in a team settings, had the privilege of becoming a world-expert in the topic, writing various successful books, delivering talks in huge conferences, and even landing some great jobs based on this expertise.

So if you ask what Open Source is for me? It’s the best way for you to become the best version of yourself. Learn, teach, give back, and grow for yourself as a result of this incredible journey.

It’s an incredible way to meet other minds and the wonderful people behind them. I remember the first conference I attended and randomly bumped into contributors from Korea, Germany, Japan, and more. I’d never meet these people otherwise, and it’s a huge privilege Open Source enables.

What Makes a Great Contribution (and Contributor) Experience

The best way to start is just caring about a project. If you used it, and it helped you, and you happened to fix an issue, just contribute it back. It will be the start of a beautiful relationship with a community, like it has been for myself. When folks ask me “How can I support the project” – code or documentation updates are most often the best answer!

Growing a community is a relatively tough challenge. Things that help are “Good first issues” and being relatively prompt/available for reviews, but eventually it comes in waves – sometimes there are more contributors, and sometimes less 🙂

Wrapping up

Open Source has been, and still is, a wonderful journey. I hope to keep doing it for many many years to come, and keep publishing more work even during my day-to-day job.

Feel free to reach out to me on all platforms as @freak4pc (X, GitHub, etc.), I’d love to hear from you!

Read stories shared by other maintainers.
This story was published under CC BY-SA by the author.