Sr.android Developer Resume
Boston, MA
SUMMARY:
- 7 years’ experience in Java, standard industry design patterns, and Object - Oriented Programming
- Experience in optimizing performance and memory usage of Android Apps
- Experience with multi-threading, integration with REST and SOAP APIs, custom view animations and transitions, and producing reusable libraries
- Strong knowledge of Android SDK, core java different versions of Android, and how to deal with different screen sizes
- Familiar with working on geo-fencing, google map integration, background, foreground services
- Proficient in designing, wireframing, and implementing UI/UX
- Offshore/Remote team collaboration and management experience
- Mentoring Jr developers by analyzing code via code request to ensure best practice been followed
- Experience with the entire Software Development Lifecycle conducting and implementing applications from conceptualization to publish apps
KEY SKILLS:
MVP/MVVM/Singleton/Builder/Fa ade Architectures
Glide/Picasso/ExoPlayer/VideoPlayer
Testing/TDD/BDD/Code reviews/Junit/Espresso/Mockito/Powermock
Activities/Content Providers/Services/Broadcast Receivers
Certificate pinning/Android Keystore/Cipher/AES/RSA
Kotlin/Data Classes/Sealed Classes/Extension Functions/Coroutines
Retrofit/RxJava/GSON/Json/Moshi/Http URL Connection
SQLite/Room/MySQL/SharedPreferences/File Provider
Firebase/AWS/Push Notifications/BLE
Jira/Jenkins/Bitbucket/Git/Git lab
WORK EXPERIENCE:
Confidential, Boston, MA
Sr.Android Developer
Responsibilities:
- Worked in an Agile environment with 5 Android developers, QA testers, UI/UX designers and backend developers.
- Run meetings with product owners and scrum masters on a daily standup meeting.
- Collaborated with deep link integration across multiple functionalities inside the application.
- Tokenize authentication has part of the Launch Meetings conference feature.
- Closely collaborated with backend developers to integrate security measure with deep link interactions.
- Created Sequential Diagrams has part of documentation to clearly visualize the stages of the application.
- Updated onboarding documents for KT effort exemplifying Android deep link process.
- Participated in PR approval team, enforcing a code coverage around 80% for the Android App.
- Working closely with dev piers to follow SOLID principles and utilized tools like Jacoco to keep track on code coverage.
- Implemented material design components and debug and track with UI/UX designers to implement pixel perfection layouts.
- Worked with QA developers and implement Apache Server to execute extensive automation test.
- Liaise has a point of contact to the offshore teams, tackle blockers in every sprint cycle and resolve communication barriers with non-technical colleagues.
- Worked with testing libraries and frameworks: Junit, Espresso, Mockito, Robolectric
- Refactored code base to make use of observable design pattern.
- Implemented Google Archictecture Design patterns with MVVM + repository layer.
- Utilized state-of-the-art technologies like Lifecycle components ViewModel and LiveData.
Confidential, Boston, MA
Sr.Android Developer
Responsibilities:
- Worked in an Agile environment with a crossover team including iOS developers, Android developers, QA testers, UI/UX designers and backend developers
- Implemented custom SDK to perform VoIP using android call application
- Actively participated in daily scrums meeting behaving has a point of contacts with offshore teams to clarify milestones and increase efficiency on pending work
- Executed meetings with UI/UX to clarify uses cases on rebranding effort and translate requirements to technical efforts
- Enforced UI interactions to follow Android Material Design and apply best practices
- Establish process and standards for code deployment and test coverage, applied Bambu scripts to automated builds with multiple test cases
- Created custom views to be incorporated across multiple features in the project
- Developed Settings Feature to incorporated Navigation Drawer component along with fragments to define user interaction and customize application configurations
- Debugged closely with backend teams an issue when app settings weren’t reflected trough middleware endpoint
- Implemented Observable pattern to reduce application memory consumption and facilitate readability decoupling app modules
- Worked on a MVVM Architecture Design pattern using observables and data binding connections between modules
- Created Repository pattern to abstract connections between local databases and remote endpoints
- Refactored Java code with Kotlin implementations like companion objects and Singleton objects
- Interacted with default Content Providers as Contacts Providers to facilitate user interaction with local user contacts
- Created Searchable Activities to efficiently utilize contacts locally in user device
- Worked on prove of concept to incorporated previous and favorite contacts navigation
- Implemented Coroutines to asynchronously fetch new Contacts Mobile data, which will contain new features from backend endpoints
- Created easy to identify status bar with the last updated date and time to the messages and also incorporating call history screens according to specs
- Accomplished several unit test cases along the application using jUnit and Hamcrest assertions, created mocks and verifications of classes and interfaces
- Consolidated Instrumented Test cases with QA tester to closely executed inside of the application using Espresso and Roboelectric tools
Confidential, San Francisco, CA
Sr. Android Developer
Responsibilities:
- Refactored several callbacks implementation from old MVP design pattern to excel the use of RxJava schedulers
- Participated on Architecture Design Pattern migration from MVP to MVVM, reducing and consolidating code to make use of Android Ktx plugin
- Reduced learning curve on Kotlin language by creating multiple training materials and balance current sprint work with mentoring developers’ piers
- Worked on a distributed version control system and handled branching strategy to effectible track working effort and increase production during the sprint cycle
- Collaborated on a Agile methodology with 2 weeks of sprint cycle and 1 week of retrospective
- Helped to create scripts on groovy language to be possible to execute in CI/CD tools like Jenkins
- Participated in reviewal team to monitor smells and code quality along with the enforcement of code coverage using Jacoco tool
- Integrated push notifications messages with cloud tool Firebase to populate new updates on schedules for ShiftPlanning feature
- Debugging push notifications on ShiftPlanning feature that forbids user to properly see updates from managers accepting the new schedule using DebugView events
- Created abstract classes to define common behavior across the application and utilizing extension function from Ktx plugin we consolidate common operations like getCurrentTime and parseDate
- Constructed several custom views to reduce the burden of multiple fragments across the application
- Helped to generate the object graph and elaborating @Binds, @BindsInstance, @Providers, @Scopes and @Components
- Debugged missing bindings on dependency injection tool and track properly solutions to inject constructors
- Participated in pair programming to reduce learning curve on new Kotlin language implementation
- Elaborated pull request that reflects sprint effort in Jira bug tracking system
Confidential, Santa Monica, CA
Sr. Android Developer
Responsibilities:
- Worked on an Agile environment with 5 Android developers and interacted with backend developers
- Created pull request that matches expected quality code that follows SOLID principles
- Helped other developers to decompose and refactored code to follow SOLID principles patterns
- Worked with new ConstraintLayout to positioned elements accordingly to design, and created chains and guidelines to make the application more appealing
- Integrated search patterns and search activity interaction inside the application
- Debugged network calls to reflect correct consumption of data using Postman, Swagger and Charles Proxy API
- Refactored networking calls using Retrofit Api to enqueue and reflect changes from a worker thread into the main thread
- Implemented Certificate pinning to mask endpoint calls during login feature procedure
- Collaborated on ItemsCart feature to selectable collect items from user preference to prepare payment process one and initialize purchase process
- Closely debug with UI designers to achieve pixel perfect layout on list of views using Recyclerview with customize Item Separators
- Implemented abstract view holder pattern to support headers and multiple layouts in RecyclerView
- Elaborated comparable algorithm according to design to simplified choose elements and facilitate decision from user
- Implemented customize fast scrolling with custom drawables and fastScrollEnabled property
- Participated on branding implementation to create a more appealing layouts and define new acquisition strategy inside the application
- Integrated Exoplayer with a customized layout to help users to identify products with videos where applicable
- Created background operations with Android JetPack components WorkManager to in a period of time check updates on items
- Worked on a TDD methodology applying Red-Green-Refactor to increase code stability using multiple tools like jUnit, Mockito and PowerMock
- Worked with the implementation of federated login like Google Sign-in capabilities to give more options to interact with the application
Confidential, Austin, TX
Sr. Android Developer
Responsibilities:
- Code user story ‘Browse weekly sales at favorite location to find the latest deals on the products’ completely from scratch
- Designed alternative UI and improved payments options for prime members product flavor
- Browse weekly sales at your favorite location to find the latest deals on the products
- In corporate Crittercism library and Google Analytics to send real-time, actionable crash reports and collect user engagement data to the backend
- Implement Amazon In-App Purchasing API to enable purchase digital content and subscriptions for purchase within apps on Amazon Appstore
- Refactored legacy codebase, architected the project using MVP and widely applied code reusability using dependency injection libraries (Dagger2, Butterknife)
- Use Android Studio, Java, AsyncTasks, Google Maps, RESTful, JSON, SQLite, Servlets, Tomcat, MySQL, SVN, 9Patch
- Generate a downstream logic to communicate the servers with the phones using Google Cloud Messaging (GCM)
- Closely work with the testing team and used developer testing tools like Robolectric
- Implement Recyclerview-animator’s library to increase the attention of the user and easily implement multiple animations across the project
- Communicate with Amazon Web Services (AWS) for secure cloud services platform, database storage and content delivery using IntentServices and AlarmManager API
- Check Android quality control using PMD, Findbugs, Checkstyle, Gradle and Jenkins reports
- Take ownership of and address tickets raised by QA, UAT from Jira
- Participate in an agile technical team across UI, Front End and Back End responsibilities
Confidential, Glen Allen, VA
Android Developer
Responsibilities:
- Save search and get email updates when new jobs are posted that match in search
- Consumed web services with a Volley client to support for request prioritization and strong ordering that makes it easy to correctly populate your UI with data fetched asynchronously from the network
- Search for local job openings and have Daily Job Matches sent directly to user phone
- View job application status updates on jobs that user have applied to
- Included Moshi library for built-in support for reading and writing Java’s core data types
- Apply to jobs with just one click by using Confidential profile
- Perform 80% integration testing using Robolectric framework
- Improved user interface by adding AndroidSlidingUpPanel component foe draggable sliding up panel and circular ImageView in list view
- Find jobs hiring in user area using map search feature
- Created a Confidential Widget on home screen to show the latest offers according to users’ geo-location
- Incorporated contacts, calendar, gallery device specific content-providers and build custom content providers to share data across processes
- Replaced old SQLIte database with Realm to include difficult-to-build features like two-way data sync, realtime collaboration, persist with lightweight transactions and query using fluent interfaces
- Modularized the code by using Dagger 2 dependency injection library to decouple the classes, to make the code easier to test and maintain with no hard dependencies
- Implemented Bolts Framework to perform branching, parallelism, and complex error handling, without the spaghetti code of having many named callbacks
