Sr Android Mobile Developer Resume
CA
SUMMARY
- A result - oriented professional offering over 8 years of experience building, integrating, testing, and supporting Android applications for mobile and tablet devices on the Android platform.
- Skilled in RxJava and Kotlin coroutines for multithreading and consumption of RESTful Web.
- Ability to debug, diagnose performance bottlenecks and fix complex issues in Android.
- Build mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON or other services).
- Contribution Android teams with mentoring, development, and extensive code reviews.
- Able to develop consistent, reliable code that is efficient and clean.
- Collaborates well with cross-functional teams, finding ways to add value for other teams, and contribute to overall quality and success of application.
- Experience with different testing libraries such as Robolectric, Cucumber, Mockito, MockK, Espresso, Junit.
- Proactive self-learner skilled in adapting to new technologies, such as Smart Watches, Chromecast, and Smart TV devices.
- Familiar with the Android graphic stack to make sure views and layouts are being inflated correctly.
- Proficient in using best Android UI/UX best practices implementing fragments, diverse layouts, animations, Material Design, Compound Views and Custom Views.
- Designed various applications using optimal architectural design patterns (Model View Controller, Model View Presenter, Model View ViewModel).
- Experience with different screen sizes and the usability of the WindowsManager as well as the SurfaceFlinger to composite the window and adapt to updates to the screen.
- Experienced in integrating Android mobile apps with web services using Retrofit, Volley, OkHTTP, JSON, GSON, and REST.
- Hands-on implementing latest Android jetpack components such as livedata, databinding, dagger, navigation, viewmodel, paging, etc.
- Extensive experience with source control code repositories such as Git, GitHub, and GitLab using tools like SourceTree as well as the command line.
- Worked with continuous integration servers (Jenkins, Hudson, Travis) and implemented simultaneous testing on various devices.
- Experience with continuous integration tools like Jenkins or Travis CI and Android automated testing frame Experience in working with Android SMS Manager, Location Manager, Google Maps, APIs and Ajax.
- Integrated external hardware using the HAL layer interface and the AOSP to grant capabilities from the device to the Android application using a common NDK library.
- Experience using third-party libraries for image loading, notifications like Firebase, and web services.
- Experience with embedded local storage solutions such as SQLite, RoomDB, SharedPs, Encrypted SharedPs, internal storage, external storage, and cloud storage with Firebase.
TECHNICAL SKILLS
Programming Languages & Tools: C, C++, C#, Java, JavaScript, Kotlin, CSS, XML, Linux, J2EE, Spring, JSON
Database: SQL, Oracle SQL, MySQL, SQLite, Mongo, Room DB, Firebase
Web Technologies: HTML, CSS, Node JS, ExpressJS, JavaScript, Ruby
Android Libraries: EventBus, Butterknife Retrofit, Room DB, LiveData, RxJava, Glide, Picasso, TextureView Video Player, RxAndroidBle, RxAndroid, EventBus, HttpLoggingInterceptor, Dagger2, Dagger1
Version Control: GitHub, Git, Source Tree, BitBucket
Architecture & Design Patterns: MVC, MVP, MVVM, Singleton, Builder, Factory, Facade, Dependency Injection
Debugging & Testing: Jenkins, Test Fairy, Robotium, Leak Canary, Mockito, Espresso, Firebase Hudson CI, Travis CI, JUnit, Monkey Runner, Robolectric
IDEs: JCreator, Android Studio, NetBeans, Eclipse, Visual Studio, GradleOS Windows XP/7/8/10, Mac OS
UI/UX: Android RecyclerView, Android ListView, GridView, CardView, ConstraintLayout, GuideLines, BottomNavigationView, LinearLayout, Vector Drawables, Animations, AnimationUtil
Scheduling: WorkManager, JobScheduler, Evernote Android Job, Handler, AlarmManager, Pending Intents
Issue Tracking: Jira, InstaBug
PROFESSIONAL EXPERIENCE
Sr Android Mobile Developer
Confidential - CA
Responsibilities:
- Leading the team and coordinated on object-oriented programming with the Android framework for the app
- Used the Android Studio toolkit to identify and fix existing anti-patterns in the code base.
- Performing a major refactor to make code base comply with MVVM architecture
- Mentored team members on the proper use of UI patterns and CLEAN design patterns for better user experience.
- Program is Kotlin to ensure readable and safe code.
- Served as de-facto architect, leading the team to use modern practices, and used Android Jetpack.
- Used GitHub to manage project version control.
- Worked with the android TV platform to create a UI for proprietary hardware.
- Used ADB to launch and test software on a standalone (non-mobile) device.
- Used Retrofit to make API calls to retrieve data from a linked device.
- Implemented remote control directional navigation within a double-nested RecyclerView.
- Coded Bluetooth BLE services to scan devices and communicate attributes between them using RxAndroidBLE library.
- Created integration testing and unit testing for android components using Robolectric
- Utilized Mockito, JUnit, and Espresso to test app development functions.
Sr. Android Developer
Confidential - CA
Responsibilities:
- Use Espresso & Mockito for testing User Interface (UI) & App functionalities.
- Usage of native and third-party technologies to optimize the application functionality including Android Studio, Java, Android Pay, Android Wear, Crashlytics, Espresso, Picasso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Dagger2.
- The application was designed in Kotlin using MVVM architecture.
- Secured the code of the application with ProGuard.
- Created different testing environment to run integration test using Robolectric
- Utilized Android Studio IDE to develop and code updates to the application.
- Refactored and redesigned multiple modules for reusability purposes.
- Introduced Dagger 2 for easier decoupling of the modules through dependency injection.
- Use the Jackson and GSON libraries (depending on the project) to parse JSON files coming from web services.
- Handle fragment data retention to ensure data integrity on screen rotation.
- Work to improve the user experience by modifying the app navigation and replacing activities for fragments when possible and adding tabs and navigation drawer.
- Heavy use of Fabric Crashlytics for real-time bug and crash reporting
- Implemented instance handlers for Java threading - separated from the user's interface thread.
- Use of RxJava for most of our asynchronous processes.
- Participate in Agile/iterative development methodologies (XP, SCRUM, etc.).
- Integration of third-party APIs using Retrofit.
- Use GitHub private repositories with standard Workflows as a Version Control Software.
- Implemented an internal library to manage the process of logging responses from the Web Service.
- Documented and demonstrated solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
Android Developer
Confidential - East Orange, NJ
Responsibilities:
- Attended daily standups and gave my input on current tasks and the tasks to follow, following agile scrum methodology.
- Implemented concurrency design pattern using Kotlin coroutines to simplify code that executes asynchronously and for the consumption of REST API resources.
- Replace JobDispatcher implementation with WorkManger API to download flight details in background and sync analytics data regularly
- Work on payment module to Create a Payment and Process the Order using your OAuth2 tokens, the Client Metadata ID, and PayPal's API
- Integrated Kotlin Koin dependency injection to describe dependencies into modules and sub-modules, provide a factory bean definition and resolve a component dependency.
- Created notifications with pending intents to navigate the user back to the application when clicked.
- Converted old WebViews into native android implementations utilizing Constraints Layouts and various design views.
- Application was developed in MVP initially, helped in refactoring to MVVM for a more maintainable and scalable code base.
- Implemented new features using android databinding library, using two-way data binding with an MVVM architecture.
- Created RecyclerViews and their respective adapters to display all list information as per the UI/UX design requirements.
- Worked directly with lead to direct the application technologies and android supported versions.
- Utilized fragments to create a dynamic and upscale UI for the user.
- Utilized LeakCanary to detect and remove all memory leaks if any.
- Communicated with the iOS team to make goals and implementations uniform as per design and business requirements.
- Implemented unit tests using Junit and Mockito to mock all necessary dependencies.
- Established communication with the back-end server to consume Restful API using core Android classes.
Android Mobile Developer
Confidential - Union, NJ
Responsibilities:
- Worked with Android Device Monitor for monitoring CPU load, heap size and memory usage
- Supervised the creation of the testing suites developed with Espresso and Mockito.
- Used APIs from different API levels to support backward compatibility.
- Used Butter Knife for view dependency injection
- Refactored un-optimized pieces of code to guarantee maximization in the use of resources.
- The program was developed in Java using the Eclipse IDE and the Android Development Tool (ADT).
- Use of services to run Java classes for the back work.
- Built new features to enhance the user-experience for consumers.
- Used Volley library for asynchronous requests to the server, and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
- Added selectors and animation effects on UI/UX elements to enhance the User Experience.
- Extensive use of Fragments to enhance user interface experience.
- Efficient and clean code integration and backup using Jenkins CI server and Git for code base and version control, commits and merges.
- Debugged and tested the application using Logcat, DDMS and TraceView on different devices.
- Implemented Crashlytics to monitor crashes and exceptions and user app analytics data.
Android Developer
Confidential - Greenbelt, MD
Responsibilities:
- Developed the application in Android Studio using MVP architecture pattern.
- Used Espresso & Mockito for testing the UI & App functionalities.
- Organized & improved global widgets and UI controls.
- Designed screens related to categories and detail pages for the application.
- Provided architectural inputs, daily updates, sorting open issues that involve issues related to design, development, and implementation.
- Used Retrofit to make a parent callback interface to automatically handle the error function, caching, and pagination to API.
- Used RxJava for all web service requests to the Android app. Integrated third-party SDK & frameworks, defining app architecture & development strategies, JSON/REST.
- Developed Navigation Drawer for the app, providing better navigation of app features.
- Implemented Google Cloud Messaging for instant alerts for the customers.
- Implemented OAuth and authentication tokens.
- Implemented entire features using Fragments and Custom Views.
- Performed analysis of mobile application code for re-engineering.
- Used sync adapters to load changed data from the server and send modified data to the server from the mobile app.
- Worked closely with other team members, management, and employees to develop the business logic of the application.
- Introduced Push Notifications through Firebase.
- Used Parcelable to marshal Java objects from Activity to Activity.
- Used Retrofit and GSON to retrieve information from an internally programmed API and convert between the JSON and POJOs.
- Used GIT for code repository to maintain current and historical versions of the Android app source code.
- Used Google Maps API and Google Location services to provide directions for users.
- Implemented rating system and user comment threads
- Implemented the use of handlers and threads on numerous tasks to improve Android application performance
Internship Technical Consultant Intern
Confidential - Melbourne, FL
Responsibilities:
- Assisted in the maintenance and servicing of a server room, by adjusting the wiring and connections
- Sales consultations with exceptional customer service to each client.
- Completed invoices based on clients requirements.
- Educated clients on current technical issues and on preventive ways to avoid future technical issues.
- Performed virus removals, software installations, operating system reloads and hardware installations