1994 — Learning LOGO (Hebrew version!) in summer camp. I didn’t understand why all the verbosity but it was fun to draw things with a turtle.
1997 — Started learning C and C++ from Dad’s books in Russian. Didn’t understand half of what I’m doing. Templates, right? 🤷🏻♂️
1999 — Pascal class in high school. OK this starts making some sense. Too bad our teacher was very busy with his day job and prepared our classes and assignments while waiting for the traffic lights to change.
2002 — Programming course (mostly C++ and Windows UI & networking) as part of IDF (army) training. My first actual programming experience as part of a large, real system.
2003 — All ramped up and working on a client-server distributed system that runs high performance audio processing. Toying with DCOM servers, thinking about how to make our distributed service more reliable. (Yes, DCOM is not the answer.)
2004 — More DCOM, more C++ bugs and memory leaks. At some point I declare that I know better than 5 other engineers and decide to rewrite our configuration system from scratch. My version is 10x slower and consumes 100x more memory. This was a humbling experience.
2005 — I go on a 3 month assignment teaching a programming course (same one I took 3 years ago). This was amazing and instilled in me the love for classroom teaching that I carried with me since. Also, my girlfriend of 3 years broke up with me. Sad times.
2005 — starting my journey into .NET because one of the other instructors went to jail after biting a military policeman (yes). So I had to fill in 😭 Fell in love with C# and wrote a high performance data processing system saturating 1Gbps links.
2006 — Finished my army service. From minimum wage (only in the last year; it was $100/month before that) to a well-paying job at Sela, a training and consulting company. I’m 22 and I’m teaching C# courses to 50-year-old C++ veterans. Humbling, again.
2007 — My first training course abroad, for Intel UK. I wore a shirt and tie for each class. Took a cab every day, it felt like such an outrageous expense. Also missed my flight on the way back — flew in to Stansted, flew back from Heathrow 🤦🏻♂️
2007 — Started dating my future wife, @dinagozil 💜 (we actually knew each other since high school, that same Pascal programming class!)
2008 — Spoke at TechEd Israel, really building up my speaking career. A lot of consulting work around Windows Vista & 2008, and preparing for Windows 7 which is around the corner. Close collaborations with the Microsoft Israel folks. Also decide to finally get my BSc.
2009 — Co-authored my first book, Windows 7 for Developers. Spent days over days figuring out obscure bugs and undocumented features. Also started working on a massive Workflow Foundation-based system for long-running jobs.
2010 — More Workflow Foundation, COM+. In the background the .NET performance and debugging work really kicks off, I’m doing many consulting and training sessions and speaking at conferences. There’s so much useful stuff in windbg! Also, became CTO of Sela (a 400 people company).
2011 — More conferences. More courses. A lot more career development, mentoring, design and architecture. It’s amazing to work with so many people. Also, @dinagozil and I got married! The day after our wedding I was back at the university for a computer architecture class 😭😭😭
2012 — Authored my second book, Pro .NET Performance. Really proud of that one, it came out well. Got translated to several languages and years later people were still asking me to sign it 🤓
2013 — More conferences, more courses. I’m doing a lot more than .NET at this point. Organizing large conferences started taking more and more of my time. Got into iOS development, android development. C++ got more popular for some reason so a lot of work there too.
2014 — It’s all a blur again. I’m away from home 2-3 months a year for conferences and courses. It’s an exhausting kind of fun. I meet so many amazing people and get to sometimes fly in business class, but we take so few real vacations. 👨🏻💻
2015 — The year of Linux on the desktop. I refresh my SGI-IRIX skills and go deep into Linux performance tools and debugging. It is so exciting! And the Linux community is so different from the .NET one. I think this year Dina and I started speaking at conferences together! 👫🏻
2016 — I’m a lot more involved with the Linux side of things now. At Sela, we are expanding to the cloud business and a lot of my time goes into figuring out what that means. Started working on a side project for automatic dump analysis which unfortunately doesn’t pan out.
2017 — Feeling some burnout. Conferences are fun but I prefer planning my own vacations. Flying to Las Vegas for 36 hours is really less glamorous than it sounds. And also, am I really learning new stuff? Dina starts at Google and I’d pretty much decided I needed a change.
2018 — After almost 12 years I’m leaving Sela. A family. A group of people with a shared identity and history. It’s sad but also really exciting. From a very hands-on CTO but still with a ton of other responsibilities, I’m now a Noogler 🤓 Learning everything from scratch again.
2019 — OK, so this ML thing. I think I got it figured out. That is, I don’t know a *tiny sliver* of what I should know, but I am quite productive and building new models and systems. And Google is truly something else in terms of scale and potential. Managing a team of 5.
2020 — Tons more exciting things at work, but most importantly — Maya is born! 👨👩👧 OMG everything changes.
That’s it for now. 18 years. Huh. It’s a marathon, not a sprint. 🧘🏻♂️
@threadreaderapp unroll
• • •
Missing some Tweet in this thread? You can try to
force a refresh
There’s something on my mind in these challenging times, while working from home. As you might know, Google doesn’t have an official WFH policy. It’s OK to WFH once in a while, but it’s not encouraged or common. So how the hell does it work for 100K+ employees? (thread)
Well, first, all of our tools are remote anyway. My builds run on a remote machine, as do my tests (if I want to). My code editor is web-based (although I often prefer IntelliJ). All collaboration is in Docs, Hangouts, Chat, Gmail. (2/)
So working from home is not dramatically different from working from the office. But all these services I just mentioned are experiencing dramatic, unprecedented capacity spikes. Can you imagine how much more internal *and external* traffic Hangouts is getting? Docs? Gmail? (3/)