Alessandro Mautone
Tech Lead | Lead Android Engineer @Canyon
Amsterdam, The Netherlands
Actions
I started coding around the age of 18 and immediately fell in love with it. Since I was always passionate about mobile (first with Nokia and their Symbian and then with Android), it was natural for me to continue on that path. I started working in a small agency in South Italy where I had the opportunity to work on a lot of projects, then decided to expand my horizons and moved to Amsterdam where I joined WeTransfer on an incredible 5 years journey. After that, I decided to pursue an industry I have at heart: bikes! That's how I joined Canyon.
Particular signs: I love sports in general, I am a regular runner and cyclist, and since love everything that flies I am a proud paraglider!
Area of Expertise
Topics
Speeding up @Composables Preview generation - an plugin story
In this talk, I will share my journey of developing a plugin for Android Studio that simplifies the process of generating @Preview-annotated functions for @Composable components in Jetpack Compose. The plugin, "Compose Preview Generator", allows developers to instantly generate preview methods with a single click, speeding up UI development compared to manual creation. At the time of writing, it even outperforms Google's Gemini-powered solution integrated into Android Studio in terms of both speed and correctness of the generated code.
I'll walk through the entire development process, from the initial idea to building an IntelliJ plugin, and discuss the challenges I faced along the way—such as dealing with the IntelliJ's SDK and getting the right dependencies for Android Studio. Additionally, I'll give an overview about how the IntelliJ Marketplace works and what submitting a plugin looks like, and how to implement paid features.
You can check the plugin at: https://plugins.jetbrains.com/plugin/25716-compose-preview-generator
What if ADB does not have to be that complicated?
ADB (Android Debug Bridge) is an extremely powerful command-line tool that allows communicating with a device. It allows from the most basic things like installing an app to more sophisticated ones like clearing a specific shared preference, tapping on a specific view, and so on. By chaining them, we can create powerful scripts that can automate our most common workflows like launching an app, logging in, and so on. Remembering all the ADB commands can be particularly challenging - or at least it is for me - hence I created "Simple ADB", an open-source tool written in Python that lets us effortlessly build powerful scripts.
In this talk, I want to quickly introduce you to ADB, and then walk you through my journey and the challenges in building this project, and how to unleash its potential.
https://github.com/Alexs784/android-simple-adb
How to handle incidents at scale
In this session, I want to guide the audience into applying healthy processes to handle incidents. We have all probably been in the situation of having our apps unexpectedly crashing - either because of a bad release, because of unexpected Backend changes, etc.
In these scenarios, we usually get overwhelmed by messages from different departments (support folks, managers, and so on), this is especially true when operating at a large scale, and things can quickly get out of control.
This talk aims to propose rules that will not only mitigate the above scenarios but also improve the communication flow, give tips about how to set up alerting systems and what to measure, and talk about a "post-mortem" process.
This session mainly focuses on processes and refers to some soft tooling (chat services, simple bots, alerting systems), thus it doesn't require any particular technical skill. The preferred duration is ~20 mins and the target is mainly developers (of any platform really), DevOps and (technical) managers.
How to effectively create and review PRs
In this session I want to guide the audience in how to effectively create and review PRs. Creating them has a few tips like templates and ways of automating some tasks through GitHub.
The review part talks about how to approach a PR, how to dialog with the author keeping in mind empathy and the fact we are on the same team, and when to comment vs request changes vs approve.
This talk was presented at the droidcon Lisboa 2022 and will be presented at the Droidcon San Francisco 2022
🤖 Automating key workflows in your daily developer life!
CI/CD
In this talk, I want to guide the audience through the tools I implemented and the scripts I built over time in our CI system to automate common tasks like:
- Daily release deliveries to QA (releases run automatically only if there were any new commits since the last one)
- Automated Git(Hub) tags creation for each release
- Automated release notes included in the tags (for QA)
- Automated code formatting with standard rules automatically shared across all the members of a team
Bonus:
- How to have automated "feature releases"
- How to create those scripts in order to make them reusable across different projects.
I currently work with Bitrise, which means my example may include that tool (but the scripts are tool agnostic).
Here you can find an article I wrote a while ago about the automation of the release notes https://alessandromautone.medium.com/automated-release-notes-for-android-8e3a22d00156
And here a more recent one about how to deliver automated feature releases https://alessandromautone.medium.com/deliver-feature-and-regular-test-builds-through-the-google-play-store-5cc5d40fb3b5
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top