Android Senior Mobile Engineer Resume
Austin, TexaS
SUMMARY
- Android Mobile App Developer with 7+ years’ experience and 4 Android mobile apps published on the Play Store.
- Skilled programming in Kotlin and Java.
- Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Professional experience includes Android apps using Kotlin and Java supported by RESTful services.
- Apply architecturs MVC, MVP, and MCCM,.
- Hands - on with OOP design/patterns: Singleton, Observer, Abstract Factory, Dependency Injection, Visitor, Proxy, Decorator, Integrator, Command, Builder.
- Native Android application development using Java, Material Design, Eclipse, Android Studio.
- Skilled in Firebase real-time database, MongoDB, Realm DB, and SQLite.
- Use of Firebase, Google and Fabric suites for functionality and testing in Android mobile.
- Familiarity with Agile Scrum methods of iterative development on Android teams.
- Work with ad hoc Android development teams to design and develop apps using API/SDK and business embedded logic to achieve mobile app’s desired functionality.
- Experience with Android JetPack components such as Room, LiveView and LiveData.
- Highly proficient in system analysis, design, development, and Android debugging and testing.
- Able to adopt new Android technologies quickly (i.e., recent third-party Android libraries devices).
- Wrote detailed technical documentation per each stage of the Android development cycle.
- Experience with Mockito, Junit, Espresso and simulated design patterns to test and develop applications
- Hands-on experience with debugging and profiling Android applications
- Well versed in Material Design guidelines
- Ability to problem-solve and manage multiple priorities in fast-paced, deadline driven environments
- Hands-on experience with continuous integration tools like Jenkins and Travis CI
TECHNICAL SKILLS
Development Environments/Frameworks: Android Studio, Eclipse
Architecture and Design Patterns: MVC, MVP, MVVM REST
Android Libraires: RXJava, RXKotlin, Retrofit, Android Core Libraries, Volley, Espresso, Glide, Picasso, Fresco, SQLCrypt, SQLCipher, Spongy Castle, Butter Knife, Dagger, Crashlytics, EventBus, Urban Airship, Parse, GSON, Universal Image Loader
Programming Languages: Kotlin, Java
Databases: SQLite, MySQL, Core Data, SQL Server
Google APIs: Google Maps, Google Places, Google Cloud Messaging, Google Charts
Mobile Devices: Phones, Tablets, Smart Watches
Java Frameworks: Hibernate, Struts, Spring, JSF.
Web Services: IIS, Glassfish, Apache, Tomcat, JBoss, RESTful.
Business Intelligence: Jasper Reports, Crystal Reports
Team Management Tools: Jira, Git/GitHub, BitBucket, Team Foundation Server, Jenkins, Travis, Hudson, Project.
Documentation Tools: Confluence, Project
PROFESSIONAL EXPERIENCE
Android Senior Mobile Engineer
Confidential, Austin, Texas
Responsibilities:
- Worked on an Agile team that applied program increment starts with PI planning lasting 2-3 days to go go over new features to implement new policies to follow.
- Participated in/contributed to Android Stand-up meetings to assess current tasks and the status of each.
- Worked with Android Studio as the main IDE for the project.
- Transitioned app from MVP to MVVM architecture and implemented Singleton design pattern in specific reuse instance.
- Used Kotlin as the main code language for the Android application.
- Implemented newer features in Kotlin as well as migrated some existing Java code to Kotlin.
- Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Led backlog grooming sessions and backlog prioritization.
- Utilized JIRA for collaboration.
- Used Azure Git repositories for code management.
- Integrated multiple third-party libraries (e.g., Glide, Retrofit, RxJava and Dagger 2).
- Helped implement SAF (Storage Access Framework) into code for attaching images to transactions and messages.
- Refactored Android Support libraries to be compliant with the latest versions of Android and JetPack such as Android.Preference to Androidx.Preference.
- Wrote instrumentation tests and UI tests using Espresso.
- Ensured code quality writing Unit Tests using JUnit, Mockito, Espresso, and PowerMock frameworks.
- Performed manual regression testing every 2 sprints.
- Completed multiple research stories to ensure compliance with latest version of Android.
- Used Bluetooth low energy and Leak Canary to solve mobile networking performance issues.
- Helped worked on some UI changes as well, mainly text color and font.
Android Developer
Confidential, San Mateo, California
Responsibilities:
- Worked with designers, API developers, and QA in an Agile/Scrum environment
- Worked on existing large Java and Kotlin codebase and createe presenters to handle UI updates, flow of data, and abstract away the business logic from the controller in MVP architecture.
- Refactored several packages from Java to Kotlin.
- Enforced password complexity and saved cryptographically credential-specific, salt protected, and stored using PBKDF2
- Refactored login component to implement an OTP generation algorithm with Google authenticator and biometric authentication with BiometricPrompt API.
- Made Retrofit Rest calls with AES-256 encrypted and secure by HTTPS TLS 1.2 to Amazon Web Services.
- Implemented RxJava for most of our asynchronous processes to simplify threading.
- Integrates custom SDK and API calls to automatically send receipts to online cloud-based accounting software account.
- Included Google Calendar API to read calendar events, read contacts, add or modify calendar events, and send email to guests.
- Migrated Dagger to Koin dependency injection with Android KTX support to new set of features.
- Worked with the Android SDK and implemented Android Bluetooth and Location Connectivity components.
- Cached data from the network and stored in OrmLite local database to display in graphical format using MPAndroidChart library.
- Make efficient checkout mechanism while shopping and include Google Play In-app Billing to sell items and opt in for paid subscription plan
- Included PDFViewer Android library for displaying PDF documents with animations, gestures, and zoom effects.
- Created Mockito and Espresso unit test cases to test Presenters, method interactions, and mock model in MVP architecture.
- Used Zeplin for visual communication between the UI team and the Android development team.
Mobile App Developer
Confidential, San Fransisco, California
Responsibilities:
- Worked in MVP architectural pattern with a basis in RxJava which facilitated back-end processes along with Retrofit.
- Worked on Uncle Bob clean-code architecture using MVP in a TDD environment.
- Programmed code in Java and Kotlin.
- Developed new features in Kotlin to reduce codebase with data classes and extension functions.
- Programmed flights search algorithms and implemented functional RxJava to filter flights by duration, number of layovers, takeoff/landing time, and more.
- Followed documentation to integrate UrbanAirship SDK push notifications to send alerts when fare prices dropped.
- Pair programmed to include features to Book hotels and improve payment mechanism using Stripe API.
- Added ItemAnimator to RecyclerView items and other view animations.
- Configured SSL on the OkHTTP clients to set up ertificate headers in a custom interceptor.
- Incorporated Crittercism library and Google Analytics to send real-time, actionable crash reports and collect user engagement data to backend.
- Resolved camera, location, and external storage dangerous level persmiison to target Android M version and above.
- Optimised image loading with Picasso, removed bitmaps legacy code and replaced ListView with RecyclerViews in entire app.
- Wrote test cases with Junit for unit testing and Espresso for automated testing to ensure quality control.
Android Developer
Confidential
Responsibilities:
- Worked on the Android app development in Android Studio with Java Coding.
- Applied a MVP architeture.
- Applie design patterns Singleton, Decorator, Façade, and Proxy.
- Performed regular Android team code reviews to ensure overall code quality and adherence to company coding standards and industry best practices.
- Researched, evaluated, and tested the app integration with several third-party libraries for multiple purposes.
- Evaluated device and user behavior with Crashlytics.
- Analyzed existing multi-threading issues and rectified them.
- Revamped the user interface with the introduction of material design color, shapes, and animations.
- Re-structured ListViews to RecyclerViews with lazy loading for improved usability and lower memory footprint.
- Lobbied external networking libraries such as Retrofit and Volley to consume REST web services efficiently.
- Used Mixpanel and Flurry to generated customized events in the Analytics retrieval.
- Standardized Picasso Image Loader API as the default image loader across the application.
- Implemented AutoValue for the Parcelable objects generation.
- Detected memory leaks using the LeakCanary library.
- Created a module based on an Event-driven library (Event Bus) to communicate multiple components in the app efficiently.
- Generated custom behavior in multiple screens included in the CoordinatorLayout to hide the Toolbar and the Floating Action Button on the user scroll.
- Integrated a seamless synchronization queue with default Android APIs (Loaders, SyncAdapters, JobSchedulers, GcmNetworkManager, Content Providers, EventBus)..
- Enhanced the usage of SQLite databases backed up by a Content Provider for caching and storing frequently used information