Senior Software Engineer
2021 - 2022Facebook- Shipped improvements for camera and status at WhatsApp Android for 2+ billion users, which significantly increased privacy and improved user experience.
- Developed a new version of the media composer, including a new blur pen tool that met performance constraints for billions of Android devices.
- Implemented performance metrics for one of the core WhatsApp features.
Technologies: Java, Android, SQLite, Kotlin, Dagger 2, Mercurial, Git, A/B Testing, Performance, User Interface (UI), Espresso, MacOS, OS X, Android SDK, Android Studio, Architecture, API Architecture, Mobile App Development, Technical Leadership, Software Project Management, Unit Testing, JUnit, Continuous Integration (CI), Product Management, UX Wireframes, Mobile, Widgets, Camera SDK, APK, Side-loading, User Experience (UX), Camera2 API, Android Camera AppLead Android Engineer
2020 - 2021Geneva Chat- Introduced the Model–View–ViewModel (MVVM) architecture and Kotlin coroutines across the codebase, significantly increasing the testability and stability of the Android app.
- Refactored the core app components, increasing the velocity of sending and receiving messages by 5x.
- Led a small development team to follow better engineering practices, code reviews, continuous integration (CI), and testing.
Technologies: Android, Kotlin, Coroutines, Dagger 2, Retrofit 2, RxJava 2, SQLite, User Interface (UI), Retrofit, Espresso, RxJava, Google Cloud Messaging, Google Material Design, MacOS, OS X, Android SDK, Java, Android Studio, Architecture, API Architecture, Mobile App Development, REST APIs, Technical Leadership, Software Project Management, Unit Testing, JUnit, Continuous Integration (CI), Product Management, UX Wireframes, Mobile, APIs, Widgets, Swift, REST, WSS, APK, Side-loading, User Experience (UX)Senior Android Engineer
2015 - 2020MetaLab- Developed an Android app to integrate with robotic hardware using Bluetooth Low Energy.
- Built an app leveraging ARCore technology to visualize custom 3D models.
- Used TensorFlow to build and train various machine learning models in making UI predictions.
- Led the Android team and introduced the MVVM architecture and Kotlin coroutines. Established the best engineering practices to improve testing, code reviews, and CI.
- Developed the first async/await open source library to leverage Kotlin coroutines for Android.
Technologies: Android, Flutter, Java, Kotlin, Coroutines, Dart, Python, TensorFlow, RxJava 2, Dagger 2, Bluetooth LE, ARCore, User Interface (UI), Retrofit, Espresso, RxJava, Google Cloud Messaging, Augmented Reality (AR), Google Material Design, MacOS, OS X, Android SDK, Android Studio, Architecture, API Architecture, iOS, Mobile App Development, REST APIs, Technical Leadership, Software Project Management, Unit Testing, JUnit, Continuous Integration (CI), Product Management, UX Wireframes, Mobile, APIs, Widgets, Swift, REST, APK, Side-loading, User Experience (UX)Senior Android Engineer
2013 - 2015Sony- Integrated the rich communication services (RCS) chat client protocol into the messaging app.
- Supported the phone and tablet platform migration on Android Lollipop.
- Improved various system apps to follow material design guidelines.
- Created a library to simplify the background work handling with built-in caching.
- Guided a team on UI, performance, architecture refactoring, and improvements.
Technologies: Continuous Integration (CI), Code Review, Gradle, Git, Material Design, Android, Java, User Interface (UI), Espresso, Android Wearables, Google Material Design, MacOS, OS X, IntelliJ IDEA, Android SDK, Android Studio, Kotlin, Architecture, API Architecture, Mobile App Development, Technical Leadership, Unit Testing, JUnit, Mobile, APIs, Widgets, APK, Side-loading, User Experience (UX)Android Engineer
2012 - 2013Lohika- Refactored a webcam Android app to support various device configurations.
- Redesigned the UI and improved usability in a webcam Android app.
- Developed a platform to host JavaScript web apps in a native Android container with built-in support for auto-update, offline mode, and push notification support.
Technologies: Continuous Integration (CI), Git, Maven, Android, Java, User Interface (UI), JavaScript, MacOS, OS X, IntelliJ IDEA, Android SDK, Android Studio, Architecture, API Architecture, Mobile App Development, REST APIs, Unit Testing, JUnit, Product Management, UX Wireframes, Mobile, APIs, Widgets, REST, APK, Side-loading, User Experience (UX)Android Engineer
2010 - 2012Samsung- Developed a TV remote-control Android app with video broadcasting using Android Native Development Kit (NDK) libraries and the Samsung TV SDK.
- Created an app to intelligently control Bluetooth speakers with an Advanced Audio Distribution Profile (A2DP).
- Built an app for group drawing and communication using a shared TV screen.
- Developed an efficient drawing UI from scratch to demo the new TV SDK.
- Improved the continuous integration process, increasing the app stability and the development process.
Technologies: Jenkins, Git, Maven, NDK, Android, Java, User Interface (UI), Scala, Android NDK, IntelliJ IDEA, Android SDK, Android Studio, Architecture, API Architecture, Mobile App Development, REST APIs, Technical Leadership, Unit Testing, JUnit, Continuous Integration (CI), Product Management, UX Wireframes, Mobile, APIs, Widgets, REST, APK, Side-loading, User Experience (UX)Java Developer
2008 - 2010MTI- Used the IBM WebSphere Business Integration Server for developing integration solutions to connect 10+ legacy enterprise applications, including enterprise resource planning (ERP) and warehouse management systems (WMS).
- Developed a new integration platform using Apache Karaf.
- Supported data migration between legacy enterprise systems.
Technologies: WebSphere, EventBus, Service-oriented Architecture (SOA), Java, SQL, Microsoft SQL Server, Oracle SQL, Unit Testing, JUnit