Opens profile photo
Follow
Dmitry Zaytsev
@dizaytsev
Founding Member @ mobile.dev. Previously: Uber. Tweeting about leadership and tech
Amsterdam, The NetherlandsJoined January 2018

Dmitry Zaytsev’s Tweets

This has been a long-requested improvement and I am so proud of the team for finding such an inventive way of addressing it
Quote Tweet
If you've used Maestro for iOS in the past, you may have encountered issues matching certain UI elements. We've spent the last month re-architecting the driver to solve these issues for good 🙌 Today, we are ready to announce Maestro's new iOS Driver! blog.mobile.dev/maestro-re-bui
Show this thread
8
If you've used Maestro for iOS in the past, you may have encountered issues matching certain UI elements. We've spent the last month re-architecting the driver to solve these issues for good 🙌 Today, we are ready to announce Maestro's new iOS Driver!
2
75
Show this thread
What amazes me about this feature is that it was built in under a week and yet it is clean and very much maintainable. Kudos !
Quote Tweet
Introducing: Maestro Studio 🚀 Instantly discover the exact commands needed to interact with your app! blog.mobile.dev/introducing-ma Meet your new favorite Maestro tool ↓
Show this thread
Embedded video
0:26
33.2K views
14
• Experimental fix for iOS Tab Bar. Please let us know if it works for you. • No more weirdness when tapping on a checkbox or a toggle - Maestro now compares screenshots to detect changes in view hierarchy.
1
5
Show this thread
• `runFlow` command that allows to add nested flows into your main flow • `clearState` command to clear the state of the app without launching it • `clearKeychain` command that clears keychain on iOS • `stopApp` command that (surprise) stops the specified app
1
8
Show this thread
Working on a product for other engineers is incredibly fun. It is also incredibly easy to forget that you are building a *product*, not just the infrastructure wrapped in a UI.
Quote Tweet
2. Tell a story with your product. Customers only care about what they can see. Your engineering feats under the hood are meaningless unless the value is surfaced in your product. Laser focus on building a product that tells a story visually.
Show this thread
1
8
dadb v0.0.10 now supports port forwarding! Now your applications can talk to any kind of server running on an Android device without relying on adb. For example, a use-case that we had at - talking directly to UI automation framework.
21
- (Mobile) What is your app rating? When was the last time you checked it? What are the most common complaints? - (Global business) How do your numbers look for each market (country, city)? Are there any obvious outliers?
1
69
Show this thread
- What does the funnel for your org look like? Where do customers drop off? - How much money did your last incident cost you? How often do they happen? - How much time does it cost to ship a feature? How can you ship twice as much within the same amount of time?
2
117
Show this thread
2. On-call is easier to handle. Our rotation consists of 2 layers: - Follow the sun. Those are first responders which are currently awake and can handle simple incidents without waking up the primary on-call engineer. - Primary on-cal engineer. Looped in during large incidents.
1
33
Show this thread
Our Eng team is spread across 3 timezones (Brazil, EU, India) We have about 2 hours per day that is convenient for everyone on the team. Disadvantages? Scheduling meetings is sometimes tricky. Advantages? Numerous 🧵
9
270
Show this thread
9 minutes. That is what we got back as a result. What does it mean? It means that 95% of jobs are completed in 9 minutes or less. With that we can confidently provide guarantees to our customers, knowing that we are setting ourselves up for success from the get-go.
5
Show this thread
But where do we start? Certainly, we don't want to just blindly guess it, right? Use data! After looking at the history of job runs, we can see what was the p95 of waiting time over the course of the last 30 days.
1
4
Show this thread
"How long does it take to run a job? I want my team to be able to iterate quickly and not hold their pull requests in queue for too long" This is a question that we get regularly. To answer it responsibly, we had to come up with SLAs (service level agreements)
1
9
Show this thread
And last but not least - how to show it all in a way that is pleasant to work with and not just a dump of every println() imaginable? As you might have guessed, a lot of our stack revolves around backend, frontend, Linux kernel (Android) and Xcode internals (iOS)
1
3
Show this thread
Some interesting challenges we tackle: - How to reliably understand whether an app has an issue in it, even if tests are passing? - How to make sure we get the same result no matter how many times or on which device we run the analysis? - How to run it in minutes, not hours?
1
4
Show this thread
Thinking back on the days when I was an Android engineer - as much as I appreciate the effort Google has put into ecosystem, having your whole career dependent on tools built by a single company has always made me a bit uncomfortable.
Quote Tweet
Important reminder that every mobile developer in the world relies on Google and Apple for 99% of the tools they need to do their jobs. Sounds unsustainable? It is. It's a broken model that has bottlenecked mobile innovation for years. Here's what we can do about it:
Show this thread
11