Lead Android Developer Resume
New York, NY
SUMMARY
- A sound understanding of HTTP and REST - style web services.
- Real world OO design experience and knowledge of design patterns, combined with an ability to convey design information succinctly using suitable tools (UML, BPMN).
- Experience with network programming and consuming third-party APIs.
- Experience evaluating and integrating 3rd party APIs, including SDKs for social networks, advertising, and analytics.
- Knowledge of NoSQL datastores (MarkLogic, MongoDB, Datastax, Apache Cassandra, Redis, etc.).
- Designed the schema for and deployed SQL and MySQL servers.
- Managed the decision-making process of critical situations, with different variables taken into account.
- Understanding of Android's concurrency models including the design of long running services.
- Comfortable with version control tools such as GitHub and SVN.
- Expertise in the implementation of persistent data for mobile devices applications, web-based databases and use of the cloud.
- Work with elements of Kotlin Flow such as coroutines to interact with databases and networking operations in repository layer in Clean code architecture.
- Refactor MVP in a MVVM architecture in presentation layer with a repository, fragment, ViewModel, Work Manager, Navigation components, Paging Jetpack components.
- Apply sound mobile security practices such as Obfuscation, Encryption, SSL, Certification Pinning, Tokens.
- Use Mockk library to Mock a call that uses coroutines, capture and replay an argument, perform integration test cases using Robolectric and generate global coverage report using JaCoCo plugin.
- Mastery of the Android development and hardware ecosystem, from devices to the Play Store.
- Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.
- Ability to debug and fix complex issues.
- Build new features to enhance the UX for consumers.
- Ability to contribute to a team of engineers in cross-functional teams (including QA, Product Management, etc.).
- Worked with an internal QA team on system, performance, and acceptance testing.
- Effectively communicate coding solutions and articulate the reasons for your decisions.
- Self-motivated and proactive with demonstrated creative and critical thinking capabilities
- Experience with messaging related technologies like GCM, SMS, MMS, XMPP, SMTP.
- Guide decisions on architecture and technical strategy.
- Good knowledge OS fundamentals with the ability to apply it in the context of modern operating systems (Linux, OS X, Windows Server 2008/2012).
- Solid background in OOP and knowledge of software design patterns/best practices.
- Supervised the production of new screens that followed Material Design guidelines.
- Mentored Junior Developers to fulfill goals and have a constant development growth.
- Follow the best practices for requirement gathering, design documentation, code review, testing, and defect fixing.
- Implemented Dependency Injection frameworks to optimize the unit testing and mocking processes (Dagger, ButterKnife, RoboGuice).
- Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.
- Strong knowledge in Agile development environments, having a SCRUM Master role in multiple meetings.
- Use of the Android frameworks to load data asynchronously like Loaders and SyncAdapters.
- Capable of analyzing complicated architectures and layouts and translating that analysis into efficient technical strategies and code.
- Continuously delivered a complete analysis regarding problems on the client’s side, having in mind various factors like deadlines, budget, scope, and risks.
- Understand the importance of implementing a user-friendly and pleasing user interface.
- Experienced working with third-party app tracking libraries
- Experienced integrating Mobile applications with web-based content via Web Services.
TECHNICAL SKILLS
Android: Dependency Injection, Push Notifications, SyncAdapters, ProgressBar, Glide, Git, MockitoLoopers, Libphonenumber, SSL, Retrofit, uiautomator, Gradle, Parceler, GSON, Dagger, Subversion, Espresso, Kickflip, FloatingActionButton, Jenkins, SonarQube. Mockk Android Studio, REST, RecyclerView Animator, Support Libraries, Clean Code Architecture, Multi-Window, Cordova, Material Dialogs, Maven, MVP, Volley, Parse, Moshi, GPS, Robotium, Google Analytics, Realm, RxJava, EventBus, Loaders, Samsung MVVM, Bluetooth Low Energy, Material Design, Google Places, JobScheduler, SDK, JUnit, RoboGuice, Firebase, OkHTTP, Volley, Nougat, LeakCanary, JIRA, Google Cloud Messaging, ExoPlayer, Fragments, MediaPlayer, Mixpanel, OpenBank, Roboelectric
Programming languages: Kotlin, C++, Java, JavaScript, Servlets, Applets, JQuery, PHP, HTML, HTML5, CSS,SQL, PL/SQL (Oracle), ABAP, SAP, Microsoft Visual Basic.
Operating systems: Linux: Ubuntu, Mandriva, Mandriva Server, Ubuntu Server, Asteriks on Ubuntu. UNIX: Solaris, Solaris 10 (server). Windows: XP/Vista/7, Windows 2003/2008server. Mac: Leopard X.
PROFESSIONAL EXPERIENCE
Lead Android Developer
Confidential, New York, NY
Responsibilities:
- Implementing Android Architecture lifecycle aware components and use LiveData to build data objects that notify views when the underlying database changes.
- Programming in Kotlin supported by RESTful services.
- Programming in Java supported by RESTful services.
- Designing/developing apps using API/SDK and business embedded logic to achieve mobile app’s desired functionality.
- Applying Android JetPack components such as Room, LiveView and LiveData.
- Participating in software design, estimation of development tasks, testing, QA process, pair programming, troubleshooting and codedebugging.
- Downloading initial settings data usingRESTFulWS and posting values to APIserver.
- Implementing TDD usingMockitoand Espresso testing tools to test uses cases in business and abstract layer of thearchitecture.
- Creating Custom Views for Scrolling, Customised items, Customised label, Eventlisteners.
- Applying Apache CommonsCodecsoftware to provideimplementationof common encoders anddecoderssuchas Base64,Hex,PhoneticandURLs.
- Configuring a new Android wear application using Node API and WatchViewstubUI.
- Applying KanbanandScrumusingTargetprocessmanagement software.
- Replacing SQLItewithRealmdatabase.
- Mentoring a junior developer.
Senior Android Architect/Engineer
Confidential, Dallas, TX
Responsibilities:
- Upgraded the new app based on new Android Versions.
- Developed new features based on requirements and information gathered in meetings with stakeholders about needs and feedback.
- Used JIRA for tracking of stories, epics and tasks, as well as managing the backlog and tracking issues and bug fixes.
- Participated in and helped facilitate and document Agile Sprint Planning sessions.
- Worked closely with UI/UX designers in design sessions, and then implemented new designs per specifications.
- Programmed in Kotlin supported by RESTful services.
- Programmed in Java supported by RESTful services.
- Designed/developed apps using API/SDK and business embedded logic to achieve mobile app’s desired functionality.
- Provided support for the new app which included performing crash testing and diagnostics.
- New implementations developed to provide new features in accordance with the specifications provided.
- Designed new custom views as part of the whole new look and feel.
- Consumed RESTful web services to communicate with back-end sources, working with Retrofit, and custom framework that translated JSON objects.
- Provided QA support for testing teams to ensure continuous improvement.
- Created custom libraries to facilitate new frameworks.
- Followed architecture plans and layout diagrams to implement new interface look and feel which afforded improved user experience, functionality, and performance.
- Suggested and implemented Improvements to the testing processes, combining Unit Testing with Junit with Automated Testing using Espresso and Robotium.
- I was able to optimize the development process to make the best use of our tight deadlines by speeding up execution through procedures.
- The new technology in the market will be deployed based on this new framework.
- Bar code implementation managed using XZing.
- Implemented methods for linking and unlinking credit cards.
- Implemented analytics using Firebase analytics framework.
- Upgraded app UI views from ListViews to RecyclerViews.
- Implemented Esteto framework for tracking web services and storage in real time.
- Used MAT to search for memory leaks.
- Implemented Google Maps Custom Views for fuel locations.
- Designed the architecture for the JSON object to Android translation framework.
Senior Android Developer
Confidential, SEATTLE, WA
Responsibilities:
- Coded using ReactiveX programming to compose asynchronous and event-based programs, avoided intricate stateful programs, using clean input/output functions over observable streams
- Wrote test cases using JUnit /Mockito testing frameworks for model and ViewModel layer
- Collaborated in refactoring architecture from MVP to MVVM.
- Implemented LiveData lifecycle observable to communication layer between View and ViewModel
- Refactored views to utilize constraint layout to make the UI more responsive to different screen sizes and resolutions
- Converted the data model, API communication service layer and view UI layer to Kotlin programming language and JetPack library
- Implemented data classes to replace Java Pojo classes
- Used the Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to that property at the same time
- Created custom and compound views and replaced Relative Layouts with Constraint Layout to follow Material Design to show Breaking News and live video alerts data returned after parsing
- Worked with external client to in corporate FreeWheel SDK and Nielsen proprietary measurement SDK for monetization features. Also imported the assets correctly through Invisio and Zeppelin web platforms
- Improved live video playback performance and fixed some display issues with the widget within the application
- Pair-programed to use Urban Airship SDK to in corporate messaging and content delivery tools, including Push Notifications, Rich Media Messaging, In-App Purchase and Subscriptions
- Streamed favorite Confidential and MSNBC shows using ExoPlayer MediaPlayer API for adaptive playback, media composition and caching
Senior Android Developer
Confidential, Los Angeles, CA
Responsibilities:
- Implemented the app in Android Studio working in pairs, using a pair programming methodology.
- Responsible for supporting the development of the feature/functionality of the app.
- This included retrieving, saving and updating the playlist i.e., DVR (Dynamic Video Recording) to andfrofrom the cloud for mobile, tablet and Fire TV.
- Used Volley for back-end network calls and SQLite Database for caching.
- Developed unit test cases for functional testing of the Android app.
- Used Android Studio for Android app development, and Junit and Mockito to write unit test cases.
- Created the UI for the CDVR (Cloud DVR) recordings for DVR, tablet andFireTVusingRecyclerView,TextView, and custom views from Android Framework.
- Created code fixes for the defects working in pair programming and merged the changed to the code base after quality testing unit and functional tests using Test-Driven Development (TDD) and Continuous Integration on Jenkins server, merging the code using Git version control tool.
- Made enhancements to DVR recordings.
- Enhanced navigation to detail page (Common Info) so that when the recording title is clicked, the user can see a description of the recorded content.
- Enhanced the playing of the content so that when user taps on the recording image (one touch play)
- Enhancement that enabled user to click “Work” on the record series options to record the entire series from Common Info/ Video Player by usingEventBuswhich triggers the network calls.
- Participated in cross-functional team meetings, contributing with exchange of information among the teams for better and robust quality software products.
- The team used HipChat for team communication and Confluence for documentation purposes.
- For work tracking purposes and for development of related tickets and acceptance criteria the team used JIRA and Kanban boards.
- The team used Agile Scrum as our development methodology.
- Used Google Location API to access the user’s current location.
- Used Dagger for Dependency Injection, and Android Binding for two-way binding.
- Based development of the Android application on MVVM architectural pattern.
- Used Jenkins for continuous integration and continuous delivery.
- UsedLeanbackLibrary’s Widgets (VerticalGridView,ControlBar,TitleView)in developing the UI for TV.
Senior Android Developer
Confidential, SAN FRANCISCO, CA
Responsibilities:
- Participated in application planning, architecture, and design
- Executed Android performance tuning and crash reporting applications.
- Implemented Android services to synchronize the latest news, getting them from RESTful web services.
- Attended SCRUM meetings to track app development progress.
- Developed rich application layouts following Material Design.
- Implemented RESTful data consumption using Retrofit with an OkHTTP client, a GSON converter, and a custom interceptor.
- Implemented EventBus to facilitate the communication between processes in the Android app.
- Supervised the creation of testing suites developed with Espresso and Mockito.
- Added push notification features with Firebase Cloud Messaging for Android.
- Consumed REST API to display user history on the user interface.
- Developed test cases using Junit and tested the User Interface using Espresso.
- Implemented dependency injection using Dagger2 for object references.
- Followed Test-Driven Development (TDD) approach while developing the application.
- Identified issues by root cause analysis during test cycles.
- Mentored Product and QA team on the nuances of Android devices.
- Diagnosed and fix bugs that cause unintended product behavior.
- Designed URIs needed to access and modify the exported Content Provider data.
- Created Material Design layouts with different animations optimized for the ultimate User Experience.
- Maintained high unit test coverage and continuous integration principles.
Android Engineer
Confidential, Seattle, WA
Responsibilities:
- Worked on an Android team of six developers.
- Participated in planning meetings for the app and the overall system.
- Proposed a front-end architecture using the Model View ViewModel design pattern.
- Prototyped two candidate activities to facilitate decision making regarding features and flow to be implemented in the new module.
- Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.
- Implemented services running in the background for processing in different activities.
- Implemented binding services from activities and the use of communication with services using Java threading for background processes and sync adapters.
- Performed/managed code reviews.
- Consumed web services to display user history on the user interface.
- Utilized Android and third-party frameworks to use the multithreading capabilities of the physical devices: AsyncTasks, IntentServices, Handlers, Threads, RXJava instances.
- Configured relational databases (Oracle, MS SQL Server, MySQL, PostgreSQL, etc.).
- Gathered requirements and generated detailed technical documentation.
- Used Itext to generate pdf files from a controller.
- Configured the Mobile Back-End services using a Firebase instance building the database and setting the code cloud.
- Tracked incident reports with JIRA
- Implemented animations based on the Material Design guidelines like rotation, fading and translation.
- Used navigation drawer to provide quick and easy access to the menu items.
- Usage of core Android resources like Fragments, Styles, Themes, 9-Patch Images.
- Implemented new custom views to replace old ones from the previous version.
- Supervised the task reporting of all the team members.
- Used Picasso to display images obtained from URL
Mobile Developer
Confidential, New York, NY
Responsibilities:
- Worked in Eclipse to add functional improvements, review code, and debug code.
- Implemented changes to UI/UX design as presented in wireframes from the design team.
- Used the Support Libraries from different API levels for backward compatibility.
- Improved the UI with custom views and icons for navigation.
- Incorporated tab navigation over the application using the View Pager Indicator third party library.
- Parsed JSON files with Google GSON.
- Attended daily Scrum meetings and worked in two-week Sprints.
- Contributed to test planning and test design for the application after each Sprint.
- Wrote Unit Tests and ensured that all code commits were bug-free.
- Created scenario tests and tracked results in JIRA.
- Used Jenkins for Continuous Integration with Git as the code repository.
- Implemented the “start activity for result” flow, for multiple features within the application.
- Devised creative, technical solutions to resolve performance bottlenecks.
- Added encrypted environment configuration with sessions and user login usingSharedPreferences.
- Estimated time and effort needed to perform a user story for UX design on the Android mobile app.
- Added Push Notifications with Urban Airship.
- Contributed to code reviews and assisted in documentation and Sprint planning.
- Leveraged core Android resources like Fragments, Styles, Themes, 9-Patch Images.
- Added services andAsyncTasksto download PDF files without freezing the UI.
- Applied multi-tier web architectures, OO design patterns, and concepts to the app development.
- UsedCrashlyticsto troubleshoot issues, utilizing crash reporting to isolate root causes.
- Utilized Dalvik Debug Monitor Server (DDMS) for debugging and testing.