Senior Android Developer Resume
SUMMARY
- 6+ years' experience in Android Mobile Development. Skilled in various core Android and Jetpack architectural components.
- Strong understanding of design patterns such as MVC, MVP, MVVM, Singleton, Builder, Factory, Observer, etc.
- Up to date with new development patterns such as Dependency Injection (Dagger2), RxJava, and Coroutines.
- Experienced Java and Kotlin developer able to architect and design mobile applications based on business needs.
- Crafts quality code through code reviews and SOLID principles.
- Follows Android best practices and writes clean code.
- Applied Material Design guidelines and principles to enhance UI/UX. Strives for high unit test coverage and applies continuous integration methodologies.
- Well versed in automated testing frameworks such as JUnit, Mockito, and Espresso.
- Extensive experience in debugging and profiling Android applications.
- Able to work with project managers to convert business requirements to tasks.
- Able to solve problems creatively and clearly articulate ideas, problems, and solutions with the team.
- Experienced mentoring junior developers and training non - technical team members.
- Successfully worked with both on-site and off-site teams to complete and ship project deliverables.
TECHNICAL SKILLS
PROGRAMMING LANGUAGES: Kotlin, Java, C++, C, HTML, CSS, JavaScript, Python
IDE: Android Studio, Eclipse, Visual Studio, IntelliJ, NetBeans
DATABASE: SQLite, Room, MySQL, Microsoft SQL Server, Oracle, Firebase Realtime DB, Firestore, Mongo DB, PostgreSQL
MULTIMEDIA: Glide, Picasso, Fresco, ExoPlayer, VideoPlayer
THREADING: Java Thread/Runnables, ThreadPools, Loopers/Handlers, AsyncTask, Loaders, RxJava, Coroutines
PROJECT METHODOLOGIES: Agile, Scrum, Waterfall, SOLID, DRY, MVC, MVP, MVVM
VERSIONING/CONTINUOUS INTEGRATION: GIT, SVN, GitHub, Stash, BitBucket, GitLab, Jenkins, Travis CI
LIBRARIES: Retrofit, OkHttp, Dagger2, Material Design, Event Bus, Glide, Picasso, GSON
OTHER: Slack, Teams, JIRA, Trello, Stetho
PROFESSIONAL EXPERIENCE
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Lead Android developer and point of contact (POC) on the team.
- Implemented RecyclerView to display flight times from departure to destination.
- Built various Android ATAK Plugins using Android Studio with the ATAK SDK.
- Developed both front and back end components of IFA web app.
- Integrated Android Bluetooth API to scan and display nearby sensor information.
- Demoed updates to product owners, SMEs and stakeholders.
- Utilized Content Providers to interface with 3rd party Android applications to integrate sensor data.
- Implemented Kotlin Coroutines to create async/multithreaded applications to distribute computation workloads.
- Compressed audio files using Gzip.
- Queried Android internal sensors and submitted them to internal server.
- Created custom views to match wireframes designed by the product owners.
- Employed shared preferences to serialize and deserialize key value data.
- Requested image data using Content Providers.
- Encrypted/decrypted shared preferences for security.
- Base64 Encoded audio files.
- Recorded audio files using Audio Recorder API.
- Consolidated application into a reusable library used in different projects.
- Displayed data in separate tabs us9ing Viewpager2 and fragments.
- Crafted custom data table with frozen row and column headers and sortable columns.
- Performed date time validation with date and time dialogs.
- Added back end routes to support front end views.
- Queried database records using KNEX.js.
- Constructed front end views using HTML, CSS, and JS.
- Modified and added tables/columns to database based on product owner feedback.
- Performed code reviews for fellow teammates.
- Wrote step by step APK installation instructions as well as control flow diagrams to demonstrate workflow.
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Improved real time room quotes and availability by performing asynchronous network calls using Retrofit and RxJava.
- Parsed data using built in GSON Converter to populate detailed room information when selecting room types
- Led team to refactor portion of codebase from Java to Kotlin.
- Mentored junior developers throughout the Agile lifecycle.
- Detected memory leaks using Leak Canary.
- Implemented unit/instrumentation testing using JUnit and Espresso.
- Refactored code from MVP to MVVM to streamline codebase and reusability of logic.
- Created a Background Service to update JSON stored locally on the device.
- Implemented scrollable RecyclerView to display searched properties and resorts listings.
- Improved image loading from cache using Glide.
- Cached user data locally into SQLite database for offline viewing.
- Refactored methods to reduce the method count to under 64k to avoid multidexing.
- Encrypted and stored user settings in shared preferences.
- Supported multiple language and regional support using Android string resources.
SENIOR ANDROID DEVELOPER
Confidential
Responsibilities:
- Implemented RecyclerView to display flight times from departure to destination.
- Leveraged QR Droid for creating scannable boarding passes.
- Reduced boilerplate code by using Dagger dependency injections.
- Performed asynchronous network calls using Retrofit to retrieve user flight search results.
- Preserved data through configuration changes to enhance user experience.
- Increased readability of Gradle dependencies by introducing the ‘because’ clause.
- Integrated ROOM as an abstraction layer on top of SQLite.
- Refactored unit tests from Java to Kotlin.
- Implemented unit and instrumental tests using JUnit, Mockito, and Espresso.
- Participated in daily SCRUM meetings to exchange work progress and pain points.
- Tracked revisions using Git in conjunction with internal Bitbucket server.
- Secured codebase from reverse engineering through Proguard.
- Debugged and tested using Dalvik Debug Monitor Server (DDMS).
ANDROID DEVELOPER
Confidential
Responsibilities:
- Populated POJO’s using Java native JSON Parser with data collected from JSON responses.
- Analyzed health of application using Crashlytics.
- Implemented 2-way databinding to facilitate communication between views and view models.
- Documented codebase using JAVADOC.
- Implemented multiple fragments in a single activity design for the application.
- Debugged internal SQLite database issues using Stetho.
- Practiced continuous integration and created builds on internal server using Jenkins.
- Streamlined data retention on configuration changes using LiveData.
- Coordinated with local and overseas teams on designing application.
- Performed spring planning and project management using JIRA.
- Analyzed and troubleshooted application using the Android Profiler, debugger, and logger.
- Used parcelable to marshal objects to and from activities.
- Developed single and multi-pane activities for fragments to support both phone and tablet devices.
- Created prototypes of UI following Material Design best practices.
- Increased network call securing through SSL Certificates and Certificate Pinner.
ANDROID MOBILE APP DEVELOPER
Confidential
Responsibilities:
- Cached network connections in final build using content providers.
- Architected MVP pattern for code reusability, maintainability, and separation of concerns.
- Implemented instance handlers for threading.
- Converted project from AsyncTask to RxJava for more robust error handling and asynchronous operations.
- Added push notifications using Urban Airship.
- Configured intent filters to use implicit intents for accessing various activities.
- Persisted data to users using custom views.
- Ensured data integrity on screen rotations by handling fragment retention.
- Worked in TDD first agile environment.
- Updated locally stored JSONS using background services.
- Used Glide to improve image loading from cache.
- Parsed JSON results from internal API using GSON.
- Encrypted shared preferences for holding basic user configuration information.
- Remotely configured application behavior using Google Tag Manager.
- Participated in all parts of the app development lifecycle from planning to app deployment in Play Store.
ANDROID DEVELOPER
Confidential
Responsibilities:
- Implemented horizontal RecyclerView with divider item decoration for popular items.
- Used Picasso for quick image retrieval and displayed to UI.
- Enabled customers to contact support through text, email, or by phone using implicit intents.
- Implemented several design patterns such as Builder, Singleton, and Observers.
- Set up Runtime Permissions based off customer’s response to dialogs.
- Refactored and optimized seconds of code to maximize resource usage.
- Implemented dynamic fragments from network connection status.
- Added QR and barcode scanning functionality by using QR Droid.
- Used Android services to perform long running operations without blocking the UI thread.
- Refactored MVC to MVP for cleaner codebase.
- Directed customers to the nearest retail store by determining user location through Fused Location Framework.
- Debugged Network calls using Charles Proxy.
- Created an environment for success through pair programming and code reviews.
- Executed tasks away from the main thread by using loopers, handlers, and runnables.
- Developed a Navigation Drawer for easier navigation for easier app use.
- Created infinite scrolling for the list of items currently active in the RecyclerView.
