We provide IT Staff Augmentation Services!

Senior Android Developer Resume

5.00/5 (Submit Your Rating)

Santa Barbara, CA

PROFESSIONAL SUMMARY

  • Strong knowledge and demonstrated experience with Android Architecture Components as well as design patterns like MVP, MVVM, MVC, Singleton, Builder, Factory
  • Experience with Android third - party libraries like Retrofit, Picasso, Glide, Location API, Google Maps, Stripe, PayPal, Dagger, Android Annotations
  • Well versed in newest patterns like reactive programming with RxJava and Dependency Injection
  • Strong understanding of OOP and software design patterns
  • Experience with Agile and working in teams using Scrum
  • Hands-on experience with Java and Kotlin
  • Strong ability to work with teams from other departments to achieve cross-functional goals and meet the specified requirements
  • Strong written and oral communication skills
  • Experience with Mockito, Junit, Espresso and simulated design patterns to test and develop applications
  • Hands-on experience with debugging and profiling Android applications
  • Ability to mentor less experienced team members on technical matters
  • 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
  • Adept with development/design standards and best practices in Android

TECHNICAL SKILLS

Programming Languages: Kotlin, Java, C#, VB.NET, HTML, CSS, JavaScript, jQuery

Development IDEs: Android Studio, Visual Studio, Visual Studio Code, SSMS, Eclipse

Databases: SQLite, Room Database, Firebase Realtime DB, MySQL, MS SQL

Networking/Web Services: REST, JSON, Retrofit, GSON, OkHTTP, WebAPI2, Volley

Events: EventBus, Otto

Threading: RxJava, IntentServices, Handlers, JobScheduler

Dependency Injection: Dagger2, AndroidAnnotations

UI/UX: Material Design, Material Dialogs, Calligraphy, ExoPlayer, VideoView, Chromecast, Push Notifications

Security: AES/Cipher, Spongy Castle

Messaging: Urban Airship, Google Cloud Messaging

Payment Processing: BrainTree SDK

Frameworks: Junit, Espresso, Hugo, Robotium, Mockito, LeakCanary, Doze Mode, Android P, Timber, Bluetooth BLE

Version Control: Git, GitHub, GitLab, TFS

Design Patterns: MVVM, MVP, MVC

Practices: Adapter, Factory, Builder, Singleton, Extension Function, Data Class, Handler, Parceler

Project Management: JIRA, Sketch, MPAndroidChart

Methodologies: Agile, Scrum, Waterfall

CI/CD: Circle-CI, Jenkins, NDK, Firebase

Analytics: Crashlytics, Google Analytics, Mixpanel

PROFESSIONAL EXPERIENCE

Confidential, Santa Barbara, CA

Senior Android Developer

Responsibilities:

  • Press the button on TrackR Bluetooth tag to ring and find your lost phone.
  • View item’s last seen location on a map using Google Maps services along with Location Provider Services.
  • Leave Bluetooth and Location Services enabled so your phone can communicate with your lost item. Tech Implementation:
  • Medium size team of 12 developers, Agile, Kanban, Bitbucket, Jenkins, TDD, planning poker, JIRA Worked as Senior Developer and responsible for development, support, maintenance and implementation of a complex project module.Wrote code to construct Model to represent the data and business logic, expose its data through observables to be decoupled completely from ViewModel in MVVM architecture.
  • Replaced old legacy Java code with Kotlin coroutines, extension functions, delegate properties, null safety checks and higher order functions.
  • Used Jibestream’s proximity service to create situational awareness and send real time targeted messages to users based on destinations and nearby assets.
  • Enhanced the experience using Jibestream sdk to configure indoor mapping and location, Floor selector and navigator feature.
  • Worked on GATT protocol, code Bluetooth BLE services to scan devices and communicate attributes between them using RxAndroidBLE library.
  • Used functional interfaces, SOLID principles and code common modules to create accounts and set passwords, add or remove accounts and read Google service configuration.
  • Implemented Koin dependency injection to create and inject network models, view model modules and analytics modules.
  • Worked on wearable module to include SwipeDismissFrameLayout, WearableRecyclerView and BoxInsetLayout and to display TrackR product information.
  • Used RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and
  • perform asynchronous operations.
  • Ensured task execution, add work constraints like network availability and periodically sync application data with a server using WorkMananger API.
  • Used Reactive Streams API to govern exchange of Json data, compose streams of data, handle complex threading and implement back-pressure.
  • Add support for Dynamic Delivery by including a base module, organizing code and resources for configuration APKs.

Confidential, San Francisco, CA

Senior Android Developer

Responsibilities:

  • Display List of products and track your purchases.
  • Collect points with each purchase and redeem them for reward coupons. Apply security and process purchases securely.
  • Large cross functional team, planning poker scrum estimation, 2 weeks sprints, Gitlab, TeamCity CI, Trello.
  • Worked existing Clean code 3-tier architecture in MVP and create shopping module, add to basket module and customer profile module.
  • Worked on Google Protocol Buffers to encode structure data for almost all internal RPC protocols and file formats.
  • Used RxJava as network protocol for passing reactive streams over various transport media and apply map, flatmap, merge, concat operators.
  • Created API request to generate the token request from client app and send encrypted user data with RSA/
  • ESA asymmetric algorithm to backend.
  • Write code on network module to implement Okhttp caching mechanism and use Mockserver to mock API responses.
  • Perform 80% code coverage integration testing using Robolectric and 70% automated UI testing using UI Espresso library.
  • Make app adaptable to new Android O for Notification channels and background limits to sync workout results and set notification preferences to keep tabs on account activity.
  • Add more payment types with existing checkout fragment by adding support for PayPal, Apple Pay and Google Pay.
  • Wrote algorithms to calculate billing based on customer product usage and configure rules to automatically or manually renew customers’ subscriptions using Stripe API.
  • Implemented Firebase Realtime Database API to store and sync data with NoSQL cloud database. Included Firebase Authentication SDK to create users and allow users to sign in with their Google, Facebook, Twitter.
  • Developed shipment method management dialog screens to hold/edit shipping method like express, ordinary, etc.
  • Improved customer retention with loyalty, gamification, and geolocation features, including special offers for customers using the app in-store.

Confidential, New York, NY

Senior Android Developer

Responsibilities:

  • Track distance traveled for mileage reimbursement. Generate PDF, CSV, & ZIP reports.
  • Create/edit/delete all receipt categories. Automatic backup support via Google Drive. Tech Implementation:
  • Medium size team, Agile, Pair-programming, Jenkins CI, daily scrum, SVN
  • Synchronized data between Android device and web servers, implement automated execution and integrate account management and authentication into data transfer.
  • Architect the app using Data binding library to operate with observable data objects, customize generated binding classes and support two-way data binding.
  • Integrated Google Play billing service API for buy one-time products, query for in-app product details, and test acknowledging purchase with license testers.
  • Integrated Android-Query (AQuery) library for doing asynchronous tasks and manipulating UI elements to display distance traveled for mileage reimbursement.
  • Enabled the user to search and pinpoint desired listings based on multiple varying inputs via SearchView and Content Provider allowing for customized findings.
  • Designed and integrated a "Terms and Conditions" screen where the user can review, in detail, the "Terms of Service" and "Licensing Agreement".
  • Validated asynchronous operations whose results affect subsequent operations in a UI test using Idling Resource Espresso.
  • Provide backwards-compatible notification API with Wear and Auto support, media playback and routing. Created modules, components and custom scopes using Dagger2 and perform loose coupling.
  • Worked with ScribeJava OAuth library to sign HTTP messages and request tokens from an OAuth service provider.
  • Converted all of the Relative/Linear layouts to ConstraintLayouts so we can flatten the view structure and improve performance.
  • Created a generic Retrofit wrapper class which are put in an internal library to replace Volley and incorporate RxJava 2 for API calls.
  • Focused on implementing rich user interface per UI/UX and Google's Material Design specifications. Used third party Z-Xing library to scan items using barcode scanner.

Confidential, Seattle, WA

Mid Android Developer

Responsibilities:

  • Customize Home Filters: Search by price, property type, and desired features Save favorite homes and property searches to your Confidential account
  • Get directions and attend every open house in user’s area. Draw Custom Home Search Radius
  • Tech Implementation:
  • Small team with 5 developers, BDD, Agile, XP, Gitlab, Circle CI, JIRAUsed built-in SQLite Database Schema for offline data persistence and for localized caching
  • Utilized Facebook Stetho, Charles Proxy API, Memory profiler, HierarchyViewer and Android Profiler to identify issues and enhance the performance.
  • Configured MixPanel API to send instant notifications when a new home hits the market and push notifications for any house, condo, or townhome that meets search criteria.
  • Created bound service to send requests, receive results, and even do so across processes with interprocess communication (IPC).
  • Created a custom transition animation and apply one or more animation effects to all of the views in a view hierarchy.
  • Coded the algorithm necessary to properly structure the query for the request needed to implement the “Filtered Search” feature.
  • Migrated from AsyncTasks and IntentServices based components to a reactive paradigm with RxJava concurrency modelling.
  • Included Android-Job utility library to run jobs delayed in the background by creating JobRequest with the corresponding builder class and schedule this request with the JobManager.
  • Communicated with Calendar AP and content providers I to read calendar events plus confidential information, read contacts, read web bookmarks and history.
  • Refined, improved performance of the app using SonarCube, Network profiler, CPU and battery profilers. Developed update patches, modules and components to mitigate security risks.
  • Worked with other developers, designers and product/business managers to develop new features consistent with product roadmap.
  • Created frameworks and automation in the development process to maximize build efficiency and secure solid code.
  • Maintain the Session Management for the app and Supporting screen orientations.

Confidential, Cherry Hill, NJ

Jr. Android Developer

Responsibilities:

  • Scan the food package for easy calorie an nutrients entry Timely notifications to log meals
  • Log daily meals and exercise
  • Visualize calorie counter and macro statistics Tech Implementation:
  • Cross functional team with 2 weeks sprints, Gitflow, TDD focused and CI
  • Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use.
  • Solely resolve camera, external storage dangerous level permissions introduced in Marshmallow version. Measured usage trends, uncovered issues, and analysed behaviours using Crittercism sdk.
  • Refactored Twitter's login in order to ensure compatibility with the application's base architecture
  • Used ORMLite for 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 as analysing its root 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.

Confidential, Miami, FL

Java Developer Tech Stack

Responsibilities:

  • Consults with supervisor, systems analysts, other programmers, and end users to gather information about program intent, functions, features, data requirements, input requirements, output requirements, internal and external checks and controls, hardware and operating system environment, and interfaces with other systems.
  • Successful migration of codes from Power Builder to Java.
  • Designs and writes program specifications based on consultations with supervisor, systems analysts, other programmers, and end users for major airlines including: American Airline, Delta Airlines, United Airlines, JetBlue Airline, British Airways, Virgin Atlantic, Avianca, Latam.
  • Converts designs patterns and algorithms into computer code
  • Compilations of codes into programs and pushing the codes to subversion(SVN)
  • Creates test transactions and runs tests to find errors and confirms program meets specifications Analyzes and debug with the use of Eclipse to find causes of errors and revises programs Writes and maintains documentation of changes to computer code, programs, and specifications Carry out testing of the codes before deployment.
  • Tools: XHTML, JAVA8, PRIME-FACE, HTML, ECLIPSE, MAVEN, JDK Installation, WILDFLLY,

We'd love your feedback!