Senior Android Engineer Resume
3.00/5 (Submit Your Rating)
Eau Claire, WI
SUMMARY
- 11+ years of professional experience developing, delivering, and supporting multiple native Android applications through the Google Play store.
- Skilled designing mobile applications to consume server - based REST APIs.
- Solid knowledge of Java and Kotlin (including coroutines).
- Expert understanding of the Android System APIs, Android app lifecycle.
- Applied various architectures such as MVVM, MVP, MVC, etc.
- Knowledge of open-source and commercial libraries commonly used in the Android ecosystem, including Android architecture components, Jetpack libraries, OkkHTTP, Retrofit, Volley, etc.
- Knowledge of multi-threaded, asynchronous code.
- Experience with animation, and implementing user interface designs.
- Skilled writing Unit tests and automation tests with Espresso.
- In-depth understanding of Web Services and SOA-related standards such as REST, JSON, etc.
- Experience with mobile automation (Fastlane, XCode Server, Bitrise, CircleCI, Nevercode, Jenkins).
- In-depth knowledge about multithreading, memory management, networking, performance optimization, and app security.
- Experience with modern build strategies, continuous integration, unit testing, test driven development, static analysis, and automated integration tests.
- Experience with voice interfaces and image processing.
- Knowledge of Docker, Git, GitHub, OpenShift and Microservices Architecture.
- Experience working in a remote team in Agile development environments as a detail-oriented team player.
PROFESSIONAL EXPERIENCE
Confidential, Eau Claire, WI
Senior Android Engineer
Responsibilities:
- Work on an Agile dev team.
- Apply a Scrum process.
- Develop program specifications, write code, test, and deploy program changes and program development.
- Maintain direct communication with Team Leads and Project Managers to ensure task scope is well defined and understood, and that deliverables meet deadlines.
- Apply multi-tier web architectures and OOP design patterns and concepts.
- Develop in Android SDK in Android Studio.
- Program in Kotlin and Java using the latest version of Android Studio.
- Develop modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.
- Change from Rx1 to Rx2, including support for both Java and Kotlin.
- Convert old responses using Rx2 error handling methods.
- Use Android Studio to implement the RESTful API endpoints in Java.
- Test the API endpoints using Postman.
- Develop test plans and thoroughly test/debug all programs prior to implementation. Unit tests created Android Studio using JUnit.
- Use reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
- Implement various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.
- Native Android and third-party technologies used to optimize the functionality of the Android app, including Android Studio, Java, Kotlin, Android Pay, Android Wear, Crashlytics, Espresso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Urban Airship, Dagger, Butter Knife.
Confidential, Dearborn, MI
Android Software Engineer
Responsibilities:
- Followed an Agile/Iterative development process on the Android team (Scrum, Sprint, etc.).
- Used Android Studio IDE and Android SDK to write application logic.
- Migrated from Java to Kotlin for new features.
- Gathered requirements to help create user stories.
- Efficiently used Activities, Fragments, and internally created components such as the Unbound Event Bus, Transient Data Provider, View Callback Emitter, and Observer for building the app using MVVM architectural pattern.
- Wrote code to construct Model to represent the data and business logic and expose its data through observables to be decoupled completely from ViewModel in MVVM architecture.
- Employed Test-Driven Development to ensure code quality.
- Wrote unit tests in in Java and Kotlin.
- Used Adobe Experience Manager to handle string translations for Mexico and Spanish-US locales.
- Developed library of modules for efficient componentization of functionality.
- Used Dagger 2 for dependency injection to allow for more efficient use of codependent components in app.
- Integrated with Adobe Analytics to provide usage tracking for activities to thebusiness.
- Applied REST web services using JSON, using Retrofit andRxJavato communicate with backend systems in the background.
- Threading with Dagger2 for dependency injection and the use of various Jetpacks frameworks.
- Implemented TDD by creating unit tests for all development using Mockito and Espresso for testing
Confidential, Memphis, TN
Android Developer
Responsibilities:
- Wrote code to interact with the RESTful service server, as well as serializing the returned code into POJOs via the GSON library.
- Built a custom lock screen widget to allow users to stop, play, and forward music.
- Utilized Agile methodology to fulfill rapidly changing client requirements.
- Programmed in Java using Android Studio and a MVP architecture.
- Parsed JSON results from internal API using GSON.
- Used Retrofit and RxJava to consume RESTful web services and handle multithreading on background for smooth performance.
- Enhanced the module that communicates with the Java Web Services with Retrofit.
- Used the location API, Maps View, and Google Maps.
- Implemented custom/compound views for displaying queried data.
- Created Compound views for a more attractive and efficient design.
- Supervised the task reporting of all the team members.
- Applied Dalvik Debug Monitor Server (DDMS) for debugging and testing.
- Participated in the full lifecycle development process from product definition.
- Retrofitted four legacy list views to the newRecyclerView/CardViewcombination, obtaining all the performance benefits.
- UI/UX design and wireframing with multiple tools, including Balsamiq Mockups.
- Usage of Bluetooth Low Energy to make tests and handle geo-fencing when getting close to iBeacon devices.
- Worked with Content Providers to connect with and consume Android Contacts.
- Implemented aSyncAdapterto generate an Observer pattern in the User Interface so it can get notified every time the data in the content provider changes.
- Chaired the integration with the Facebook API inside the application.
- Set upJaCoCoto check my code coverage of new code.
- Extensive use of Fragments to enhance user interface experience.
- ImplementedParcelableto the classes for easier bundle transportation.
Confidential, San Francisco, CA
Android Mobile App Developer
Responsibilities:
- Documented all changes made to the app, improvements, fixes and new features, backend and front-end development.
- Debugged and tested the application usingRobolectric.
- Solid understanding of and hands-on experience in the full mobilesoftware development life cycle.
- Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
- Added theParcelableinterface to pass custom objects between components quickly viaIntents.
- UsedEspressofor instrumentation testing usingAssertions, Matchers, andActions.
- Worked withLRU Cacheto increase the performance ofListViewscrolling.
- Used various tools for development, testing, debugging, and performance benchmarking.
- Updated the look and feel followingMaterial Design guidelines.
- Supervised the creation of the unit, integration, and stress test cases.
- Actively worked with the back-end team to improve theRESTful APIto include new features.
- Developedcompound viewsto present information to the user depending on itspreferences
- Set-up and managed privateGitHubrepositories to host internal code.
- Implemented aWebViewcontrol to reuse some legacy web application functionality within the native app.
- ImplementedGoogle Analytics,Flurryfor various analytics.
- Implemented severalFragmentsfor the UI.
- Utilized theEclipseIDE to develop and code the application.
- Ensured excellent form factor integration by creatingmulti-panel activitieswithFragments.
Confidential, Cherry Hill, NJ
Jr. Android Developer
Responsibilities:
- Worked with cross-functional team with 2 weeks sprints.
- Scanned food package for easy calorieandnutrients entry and timely notifications to logmeals.
- Configured to log daily meals and exercise.
- Programmed visualized calorie counter and macro statistics tech implementation.
- Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use.
- Resolved camera and external storage dangerous level permissions introduced in Marshmallow version.
- Measured usage trends, uncovered issues, andanalysedbehavioursusingCrittercismSDK.
- Refactored Twitter's login to ensure compatibility with the application's basearchitecture.
- UsedORMLitefor persisting Java objects to SQL databases for offline mode features.
- Optimized app to use Sensors API to provide access to raw sensor data streams from sensors available on the Android device.
- Used History API to provide access to the fitness history and perform bulk operations, like inserting, deleting, and reading fitness data.
- Deployed beta version of the app, which helped to identify bugs, user experience issues, and functionality problems.
- Wrote unit tests for mobile code and debugged critical application issues such as crashes, memory leaks, and concurrency problems.
- Handled various technical aspects like coding of modules using the given design specifications, debugging, and fixing the defects as well asanalysingroot cause.
- Responsible for developing the user login screens and design the Context menus based on the Android Menu Navigation, Tabbed Navigation control and Action Bar Control.
- Unit tested code with a TDD approach and worked with QAs to create test suites.