| 20,000+ Fresh Resumes Monthly | |
|
|
| | Click here or scroll down to respond to this candidateCandidate's Name
Lead Android DeveloperPHONE: PHONE NUMBER AVAILABLE EMAIL: EMAIL AVAILABLEPROFESSIONAL SUMMARY 11+ years of experience in Android. 6 published apps in the Google Play Store. Expert in both Kotlin and Java language. Worked with MVC, MVP, and MVVM architectures and various design patterns like Singleton, Builder, Factory and Adapter. Experienced with RXKotlin, RXJava, RxAndroid, and RxBluetooth libraries as well as Kotlin Coroutines. Experience with Android performance tuning and crash fixing using Firebase crashlytics. Solid understanding of building mobile applications that implement REST APIs using libraries like Retrofit, GSON and Okhttp3. Solid background in OOP and knowledge of software design patterns/best practices. Well versed in the most modern Android third-party libraries such as Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butter Knife, Dagger, Google Wallet payments, and Android Annotations. Continuously deliver complete analyses regarding problems on the client side, having in mind factors such as deadlines, budget, scope, and risks. Experience with Firebase push notifications, Google Maps, Navigation, GPS and LocationManager. Experience developing mobile to cloud and mobile to embedded device communications. Updated with features and advantages of latest Android SDK. Work with QA teams on system, performance, and acceptance testing. Utilize Android UI Toolkit and Layout Managers. Proficient in Android Application Framework and Android SDK Tools. Follow best practices for architecture and programming. Implementation of dependency injection with Dagger2 and Hilt to speed up the unit testing process. Experience with third-party APIs and web services like Google, Facebook, Twitter, YouTube Player, and Surface View. Use of JetPack libraries, including Room, ViewModels, LiveData, and Download Manager. Experience working with product manager on priority tasks and team task assignments. Front-end development implementing the latest Material Design guidelines, animations and UX optimization, Fragments, Layouts, Animations, Compound Views, Custom Views, ListView and RecyclerView. Use Espresso, JUnit, Mockito and simulated design patterns in Android to test and develop applications.TECHNICAL SKILLS Programming Languages - Java, Kotlin, JavaScript IDE - Android Studio, Eclipse RESTful Web Services - RxJava, Retrofit, Volley, OkHTTP, REST, SOAP, JSON, GSON, XML Threading - Kotlin Coroutines, Intent Services, Handlers, Loopers, Loaders, Event Bus, AsyncTask, Architecture Patterns - MVC, MVP, MVVM Design Patterns - Singleton, Builder, Decorator, Dependency Injection, Faade, Visitor, Proxy, Mediator, Interpreter, Command Project Tools - JIRA, Kanban, Confluence, Trello, Slack Repository/Versioning - Git, GitHub, GitLab, Bit Bucket, SourceTree Continuous Integration - Jenkins, Travis, Hudson Databases - SQLite, Firebase, Room, MongoDBPROFESSIONAL EXPERIENCELead Android DeveloperJuly 2023 to PresentUBS, New Jerseyhttps://play.google.com/store/apps/details?id=com.ubs.clientmobileAs Lead Android developer at UBS, I work closely with cross-functional teams to design, develop, and implement new features for the mobile app on the Play Store, while also maintaining legacy code and resolving issues in existing features. My role involves writing clean, efficient, and well-documented code, conducting code reviews to uphold coding standards across the team, and ensuring consistency between the Android and iOS versions of the app in both functionality and structure. I also promptly address and debug issues and stay up to date with industry trends and technologies to continuously improve the app's performance and user experience. Integrated TransmitSDK to enhance security for biometric authentication and login processes. Expanded, refactored, and debugged the apps feature flag system, improving consistency with iOS and fixing functional defects. Develop Android apps utilizing Jetpack libraries such as Navigation, LiveData, ViewModel, Room, and WorkManager to build robust, scalable applications. Implement Jetpack Compose for modern UI development with declarative Kotlin code. Collaborated with teams to implement hybrid features, integrating local JavaScript files for enhanced user experience. Developed a new feature allowing users to receive documents electronically, including enrollment and security checks for sensitive documents. Develop and maintain Android applications using Android SDK, Java, and Kotlin, ensuring high performance and responsiveness. Implement MVVM architecture with Kotlin and Jetpack components to ensure a modular, maintainable codebase. Utilize Android Studio, Gradle, and Git to manage and streamline the development process, including version control, build automation, and deployment. Integrate and interact with RESTful APIs, handling JSON parsing to fetch and display dynamic data from backend services. Write clean, efficient, and maintainable code using Kotlin, following best practices in object-oriented and functional programming. Utilize Kotlin Coroutines for asynchronous programming to improve app responsiveness and performance. Apply strong problem-solving and analytical skills to debug issues, optimize app performance, and provide effective solutions to complex challenges. Leverage third-party libraries to enhance app functionality, implementing features efficiently while maintaining code quality and stability.Lead/ Sr. Android DeveloperMarch 2022 Jun 2023Wayfair, Florida (Remote)https://play.google.com/store/apps/details?id=com.wayfair.wayfair&gl=USWith the Wayfair app, you have got all things home, right at your fingertips. Its your on-the-go furniture store so you can get home office essentials with a single swipe, plan your home renovation when inspiration strikes, and more all in one app. Download, shop, and save with the largest selection of furniture and decor for every style and budget. Wrote technical specification for gradually changing the apps API requests. Followed MVVM architecture and converted from MVP to this. Implement and maintain Android apps using Jetpack libraries such as Navigation, LiveData, ViewModel, and Room to ensure clean, scalable architecture. Implemented API migration logic in the form of interceptors utilizing Firebase Remote ConfigurationDesigned such that removing the migration logic is quick and trivial.Feature toggled to allow individual endpoints to be enabled at individual locations. Assisted the backend team debug individual endpoints in the new API before releases Collaborated with teammate to create a new screen that replaced a laggy legacy screenThe new screen was the first implementation of Kotlin in the app, as well as moving toward using a Navigation Graph and Single Activity Architecture Wrote and maintained unit tests using JUnit4 Wrote and maintained instrumentation tests using Espresso CI/CD: Mostly used jenkins Used Git as version control system and Jira for project management. Databases in Google Cloud Platform, with Firebase Realtime db Security: In-app security is minimal since only employees can use it. Data analysis is mostly performed to evaluate and troubleshoot bugs. Data found via querying GCP. Leverage Jetpack Lifecycle components to manage UI and handle activity or fragment lifecycles efficiently. Ensure robust app performance by utilizing Kotlin's null safety features to prevent runtime null pointer exceptions. Methodology: Agile, Scrum. Daily sprint meeting, 2-week sprints, task grooming, planning, demos, and retrospectives. These were run by the on-call engineer, so I occasionally run these meetings. Utilize Kotlin's extension functions to enhance code readability and functionality without modifying existing classes. Developed custom packages in Flutter, harnessing functionalities and APIs from native Android and iOS platforms to extend the app's capabilities and enhance user experience. Team size: 7. Project manager, engineering manager, 2 long-standing senior engineers (worked on app from the beginning), 1 new senior engineer (hired Jan 2023), 1 new contractor engineer (hired around November 2022), me Implemented geolocation services powered by the Flutter Geolocator package, enabling accurate tracking of user location, and enhancing location-based functionalities within the app. Build modern, responsive UIs using Jetpack Compose, enhancing app performance and flexibility with declarative UI components. Leveraged the flutter_bloc package for testing BlocBuilder, facilitating widget building in response to state changes within the app and enhancing overall development efficiency. Communicated closely with backend team, who specifically managed the apps API (team size of 2) On project start, app was entirely in Java and MVP architecture. Functional, but many pain points and prone to crashing and bugs Documentation and release notes compiled in InfoHub (proprietary version of Confluence) Cross-functional collaborations:Backend team to correctly migrate API requestsTranslation team to generate a Spanish versionUX team to ensure designs are practical and that the app matches these designsCommunicating with stakeholders when critical tickets were created to triage incidents and provide progress updates Monitored app health via PagerDuty and Firebase Crashlytics Major contributions:API migration (tech spec, implementation, and maintenance)New screen that replaced a portion of the major workflowVarious bug fixes, major and minor, such as finding that certain network requests were being sent out of order, and enforcing that orderSenior Android EngineerJanuary 2020 March 2022JetBlue Airways, New York, NYhttps://play.google.com/store/apps/details/JetBlue_Book_manage_trips?id=com.jetblue.JetBlueAndroid&hl=en_USTake JetBlue with you wherever you go by downloading our award-winning app, making it easy to book, manage, and check in for your trips, while accessing your boarding pass and key travel info right on the home screen for a smooth travel day. Assigned to a large cross-functional distributed team that employed an Agile project methodology that included planning poker scrum estimations and 2-week sprints. Develop and maintain JetBlue's mobile applications using React Native to enhance customer experience for booking flights, check-ins, and accessing boarding passes. Used Android Studio for Android app development. Migrated project from MVP to MVVM architecture. Develop Android applications using Kotlin, applying modern programming techniques and best practices to write clean, efficient, and maintainable code. Programmed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, Implement robust testing strategies using Jetpack components, ensuring high-quality app delivery through unit tests and UI testing frameworks. Optimize app performance by efficiently managing resources with Jetpacks Paging, Data Binding, and LiveData, ensuring seamless user experiences. Applied reactive programming utilizing the RxAndroid library and Retrofit support for API calls in conjunction with RxJava/RxAndroid. Implement asynchronous operations with Kotlin Coroutines to handle background tasks and improve app performance and responsiveness. Replaced legacy code with Kotlin coroutines, extension functions, delegated properties, and configured null safety checks and higher-order functions. Write comprehensive unit, integration, and end-to-end tests using testing frameworks like Jest, Detox, and React Native Testing Library to ensure code quality. Used Retrofit and coroutines to consume RESTful web services and handle multithreading on background for smooth performance. Configured SQLite database schema for implementing persistent data storage. Programmed/configured web-related technologies, including JavaScript, HTML, JSON, and XML. Applied understanding of data models and data access architecture and optimization. Applied in-depth understanding of multi-tier web architectures and OOP design patterns and concepts. Applied comprehensive knowledge and understanding of server-side software, scalability, performance, and reliability. Implemented Dagger to work with a Dependency Injection environment to help with the unit testing. Created unit, integration, and stress test cases with Junit and Espresso. Performed unit testing using Junit and Espresso and for instrumentation testing using Roboelectric. Used GSON converter to convert the retrofit JSON response to the Java object. Created custom reusable widgets to display the product and user information throughout the app. Managed multiple branches on the project on a Git repository. Wrote test cases using JUnit, Mockito, and Espresso. Stay updated on the latest React Native advancements and mobile development trends, ensuring JetBlue's apps utilize cutting-edge technology.Senior Android DeveloperSeptember 2018 January 2020Chevrolet, Detroit, Michiganhttps://play.google.com/store/apps/details/myChevrolet?id=com.gm.chevrolet.nomad.ownership&hl=en_USThe myChevrolet app is a convenient tool that enhances control over your Chevrolet vehicle, whether you're inside or away from it. With features like remote commands, you can manage your car directly from your home screen, check your fuel level, or monitor the charge status of your electric vehicle. Simply log in with your Chevrolet Account or OnStar credentials to get started. Assigned a dev team that performed design/development work in alignment with Agile project delivery practices. Participated in regularly scheduled Scrums and Sprints. Worked in separate phases of the project cycle such as design, development, and testing. Refactored Java code to Kotlin for existing Android application while using Kotlin to implement new features. Refactored from MVP 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. Worked on UI and base Android framework issues. Worked with RxJava using observable and subscriber classes. Programmed new features/functions on a Kotlin Android programming platform. Implemented fragments to make the app usable on both smartphones and tablets. Developed Android applications using many components including Activities, Fragments, Broadcast Receivers and Services in Android. Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F. Worked with other Android developers and assisted with code reviews and code refactoring. Worked with Reactive-X in the form of RxJava and RxAndroid on Android applications. Managed the implementation of dependency injection in Android with Dagger2 to speed up unit testing process. Implemented multiple test cases using Espresso rules, view matchers, and view actions. Performed simulated design patterns in Android to test and develop applications. Managed continuous integration using Git and remote repositories on BitBucket. Tracked issues in JIRA and assigned them to other developers. Utilized multithreading and asynchronous tasks to manage concurrent communication while maintaining performance. Worked on Bluetooth BLE GATT Protocols to connect to devices and send and receive attributes over a low-energy link to read error codes, diagnostic checks, and check on vehicle security status and lock/unlock. Implemented BluetoothCharectristic and Services Schema to keep track of Bluetooth services. Performed extensive work with the low-level Bluetooth stack.Android App DeveloperMarch 2017 September 2018Nokia, Dallas, Texashttps://play.google.com/store/apps/details?id=com.nsn.mywfm.mobile&hl=en_USThe myWFM Android app provides a comprehensive toolset for managing work order activations related to the implementation and maintenance of sites and network elements. It facilitates real-time information exchange between myWFM and GNOC management systems, enabling effective activity control by the dispatch department. The app synchronizes with other dispatch modes (WEB, SMS, HTTP) and offers customizable settings like language and time zone, along with the option to operate in offline mode for enhanced flexibility. Developed the app using Android Studio, Java, Android SDK, Core Android frameworks and third-party frameworks. Performed technical work in alignment with an Agile/Scrum methodology. Used Jira to manage the project backlog and tasks assignment and tracking. Wrote test cases with Junit for unit testing and Espresso for automated testing to ensure quality control. Worked in MVP architectural pattern with a basis in RxJava which facilitated back-end processes along with Retrofit. Implemented Telesign for SMS messages in the two-step authentication procedure. Implemented Jumio for license and credit card scanning function to enable a clear scan. Used Dagger 2 for Dependency Injection. Configured Retrofit to parse JSON objects for asynchronous communication with back-end services. Used Firebase as onboard caching in addition to Firebase Push Notifications with FCM (Firebase Cloud MessageServices) and Firebase Crash Reporting. Ensured efficient implementation and troubleshooting of Android application. Used a private Git server for version control and Jenkins Continuous Integration server. Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app. Used Shared Preferences and SQLite to persist user credentials.Android Application DeveloperJanuary 2015 March 2016MetroPCS, Dallas, TXhttps://play.google.com/store/apps/details?id=com.metropcs.service.vvmMetroPCS Voicemail keeps getting better and better! With Visual Voicemail you can listen to messages in any order, respond in one click, update your contacts, and easily manage your inbox without ever dialing into your voicemail. To implement the required functionality of intercepting network calls. Building up chromium code, customizing it, and incorporating it in the application was one of the key milestones. Inserted suitable code to capture the various button and text field events and implemented the desired action for each of the widgets. Followed up by testing user interface, errors with all inputs, debugging app. Good Knowledge in working with data parsing forms such as XML and JSON, to dynamically display data on android phone. Involving in analysis and requirement gathering meetings Worked with capabilities to display static pages that were hosted on CVS Server. Customer and washer login information. Involved in development and enhancements of features to restrict the usage based on Authorization and Authentication tokens. Performed requirements analysis to capture functional/non-functional requirements and develop solutions to satisfy the requirements. Maintaining the single code base JavaScript bridge for all platforms. Developed Custom Tags to simplify the JSP code. Designed UI screens using JSF, JSP, Struts tags and HTML. Used JavaScript and JQuery for client-side validation. Integrated Google Map using Google location-based API. Responsible for designing all the GUI elements by making required modifications to the XML.Applications Software Delivery AdvisorJan 2013 Dec 2014Conventry Healthcare/ Aetna Insurance, Burlington, MA Designed, created, tested, and debugged Informatica mappings and workflows for the migration of data from Coventry Healthcares legacy database to Aetnas commercial database. Performed, directed, and reviewed software coding, testing, debugging, documentation and installation tasks for an IDX, MCA database using Intersystems Cache, Unix HP and VMS for on-line and batch processes. Created and reviewed technical specifications, delegated tasks to development staff and provided mentoring as needed. Provided work effort estimates and schedules for development and maintenance activities incoordination with project and program management. Coordinated with internal departments to provide associated deliverables required for the successful completion of development and maintenance assignments (e.g., database development, job scheduling, network support, help desk orientation, client implementation readiness, etc.). Independently performed programming and analysis functions in the development and implementation of new systems. Revised, maintained, and supported existing systems and special projects as well as troubleshoot applications problems. Managed scope and development resource requirements. Developed work plans and managed large-scale implementation projects. Provided staff assistance to other departments requesting services.EDUCATIONBachelor of Science - Computer Science - Florida Atlantic University |